summary: Test for bz585674 (free() race in mcheck hooks) description: | Bug summary: free() race in mcheck hooks Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=585674 Description: Description of problem: segfaults can occur with MEMCHECK_ALLOC_=3 enabled. This was reported and fixed upstream at http://sourceware.org/bugzilla/show_bug.cgi?id=10282 http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=cc49a5a8837be1f9307b167d9bf4399798a847c9 Version-Release number of selected component (if applicable): glibc-2.5-49 How reproducible: every time Steps to Reproduce: 1. cat malloc_test.c #include <stdlib.h> #include <unistd.h> int main(void) { #pragma omp parallel num_threads(256) while (1) { void *ptr = malloc(rand() % 65536); usleep((rand() % 100) * 100); free(ptr); usleep((rand() % 100) * 100); } return 0; } 2. gcc -fopenmp -g -o malloc_check malloc_check.c 3. MALLOC_CHECK_=3 ./malloc_test Actual results: malloc: using debugging hooks *** glibc detected *** ./malloc_test: free(): invalid pointer: 0x00000000043e9c90 *** Expected results: no segfaults Additional info: contact: Petr Muller <pmuller@redhat.com> component: - glibc test: ./runtest.sh framework: beakerlib recommend: - glibc - gcc - libgomp tag: - simple - tier1_mfranc - mfranc_stable - noEWA - Tier1 - not-er15271 - glibc-buildroot-ready duration: 90m link: - relates: https://bugzilla.redhat.com/show_bug.cgi?id=585674 extra-summary: /tools/glibc/Regression/bz585674-free-race-in-mcheck-hooks extra-task: /tools/glibc/Regression/bz585674-free-race-in-mcheck-hooks