mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-08 13:01:17 +00:00
Without this patch drd produces incorrect output for some test cases. It seems like without this patch an incorrect value is passed as the sixth argument of VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_SEM_OPEN, ...): $ ./vg-in-place --tool=drd --traemaphore=yes drd/tests/sem_open -m -p drd, a thread error detector Copyright (C) 2006-2017, and GNU GPL'd, by Bart Van Assche. Using Valgrind-3.16.0.GIT and LibVEX; rerun with -h for copyright info Command: drd/tests/sem_open -m -p [1] sem_open 0x4029000 name /drd-sem-open-test-27725 oflag 0xc0 mode 0600 value 0 s_d1 = 1 (should be 1) [2] sem_wait 0x4029000 value 0 -> 4294967295 Thread 2: Invalid semaphore: semaphore 0x4029000 at 0x484ADC7: sem_wait_intercept (drd_pthread_intercepts.c:1436) by 0x484ADC7: sem_wait@* (drd_pthread_intercepts.c:1441) by 0x4014A9: thread_func (sem_open.c:114) by 0x483FEA6: vgDrd_thread_wrapper (drd_pthread_intercepts.c:449) by 0x4886EF9: start_thread (in /lib64/libpthread-2.31.so) by 0x499F3BE: clone (in /lib64/libc-2.31.so) semaphore 0x4029000 was first observed at: at 0x484A395: sem_open_intercept (drd_pthread_intercepts.c:1403) by 0x484A395: sem_open (drd_pthread_intercepts.c:1409) by 0x4012CE: main (sem_open.c:63) [2] sem_post 0x4029000 value 4294967295 -> 0 [1] sem_wait 0x4029000 value 0 -> 4294967295 Thread 1: Invalid semaphore: semaphore 0x4029000 at 0x484ADC7: sem_wait_intercept (drd_pthread_intercepts.c:1436) by 0x484ADC7: sem_wait@* (drd_pthread_intercepts.c:1441) by 0x40139D: main (sem_open.c:90) semaphore 0x4029000 was first observed at: at 0x484A395: sem_open_intercept (drd_pthread_intercepts.c:1403) by 0x484A395: sem_open (drd_pthread_intercepts.c:1409) by 0x4012CE: main (sem_open.c:63) Conflicting load by thread 1 at 0x00404108 size 8 at 0x40139E: main (sem_open.c:91) Allocation context: BSS section of /home/bart/software/valgrind.git/drd/tests/sem_open Other segment start (thread 2) (thread finished, call stack no longer available) Other segment end (thread 2) (thread finished, call stack no longer available) Conflicting store by thread 1 at 0x00404108 size 8 at 0x4013B2: main (sem_open.c:91) Allocation context: BSS section of /home/bart/software/valgrind.git/drd/tests/sem_open Other segment start (thread 2) (thread finished, call stack no longer available) Other segment end (thread 2) (thread finished, call stack no longer available) [1] sem_post 0x4029000 value 4294967295 -> 0 s_d2 = 2 (should be 2) s_d3 = 5 (should be 5) [1] sem_close 0x4029000 value 0 For lists of detected and suppressed errors, rerun with: -s ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 18 from 8)