Opened 4 years ago
Closed 4 years ago
#15414 closed defect (fixed)
Adapt valgrind to changes in glibc-2.34
Reported by: | Douglas R. Reno | Owned by: | Douglas R. Reno |
---|---|---|---|
Priority: | normal | Milestone: | 11.0 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
When running valgrind-3.17.0 under glibc-2.34, several modifications are required due to the libc/libpthread combination changes, as well as new system calls.
This can be seen when running the tests:
== 723 tests, 189 stderr failures, 0 stdout failures, 1 stderrB failure, 1 stdoutB failure, 1 post failure == gdbserver_tests/hginfo (stderr) gdbserver_tests/hginfo (stderrB) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/nlcontrolc (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stderr) gdbserver_tests/nlvgdbsigqueue (stderr) memcheck/tests/addressable (stderr) memcheck/tests/cdebug_zlib_gnu (stderr) memcheck/tests/descr_belowsp (stderr) memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/leak_cpp_interior (stderr) memcheck/tests/overlap (stderr) memcheck/tests/reach_thread_register (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/thread_alloca (stderr) memcheck/tests/threadname (stderr) callgrind/tests/threads-use (stderr) callgrind/tests/threads (stderr) helgrind/tests/annotate_hbefore (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/annotate_smart_pointer (stderr) helgrind/tests/bar_bad (stderr) helgrind/tests/bar_trivial (stderr) helgrind/tests/bug322621 (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/stackteardown (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) helgrind/tests/tls_threads (stderr) drd/tests/annotate_barrier (stderr) drd/tests/annotate_barrier_xml (stderr) drd/tests/annotate_hb_race (stderr) drd/tests/annotate_hbefore (stderr) drd/tests/annotate_ignore_read (stderr) drd/tests/annotate_ignore_rw (stderr) drd/tests/annotate_ignore_rw2 (stderr) drd/tests/annotate_ignore_write (stderr) drd/tests/annotate_ignore_write2 (stderr) drd/tests/annotate_order_1 (stderr) drd/tests/annotate_order_2 (stderr) drd/tests/annotate_order_3 (stderr) drd/tests/annotate_rwlock (stderr) drd/tests/annotate_sem (stderr) drd/tests/annotate_smart_pointer (stderr) drd/tests/annotate_smart_pointer2 (stderr) drd/tests/annotate_spinlock (stderr) drd/tests/annotate_static (stderr) drd/tests/atomic_var (stderr) drd/tests/bar_bad (stderr) drd/tests/bar_bad_xml (stderr) drd/tests/bar_trivial (stderr) drd/tests/bug-235681 (stderr) drd/tests/bug322621 (stderr) drd/tests/circular_buffer (stderr) drd/tests/concurrent_close (stderr) drd/tests/dlopen (stderr) drd/tests/fork-parallel (stderr) drd/tests/fork-serial (stderr) drd/tests/fp_race (stderr) drd/tests/fp_race2 (stderr) drd/tests/fp_race_xml (stderr) drd/tests/free_is_write (stderr) drd/tests/free_is_write2 (stderr) drd/tests/hg01_all_ok (stderr) drd/tests/hg02_deadlock (stderr) drd/tests/hg03_inherit (stderr) drd/tests/hg04_race (stderr) drd/tests/hg05_race2 (stderr) drd/tests/hg06_readshared (stderr) drd/tests/linuxthreads_det (stderr) drd/tests/matinv (stderr) drd/tests/monitor_example (stderr) drd/tests/pth_barrier (stderr) drd/tests/pth_barrier2 (stderr) drd/tests/pth_barrier3 (stderr) drd/tests/pth_barrier_race (stderr) drd/tests/pth_barrier_thr_cr (stderr) drd/tests/pth_broadcast (stderr) drd/tests/pth_cancel_locked (stderr) drd/tests/pth_cleanup_handler (stderr) drd/tests/pth_cond_race (stderr) drd/tests/pth_cond_race2 (stderr) drd/tests/pth_cond_race3 (stderr) drd/tests/pth_create_chain (stderr) drd/tests/pth_detached (stderr) drd/tests/pth_detached2 (stderr) drd/tests/pth_detached3 (stderr) drd/tests/pth_detached_sem (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/pth_once (stderr) drd/tests/pth_spinlock (stderr) drd/tests/read_and_free_race (stderr) drd/tests/rwlock_race (stderr) drd/tests/rwlock_test (stderr) drd/tests/sem_as_mutex (stderr) drd/tests/sem_as_mutex2 (stderr) drd/tests/sem_as_mutex3 (stderr) drd/tests/sem_open (stderr) drd/tests/sem_open2 (stderr) drd/tests/sem_open3 (stderr) drd/tests/sem_open_traced (stderr) drd/tests/sigalrm (stderr) drd/tests/std_atomic (stderr) drd/tests/std_list (stderr) drd/tests/std_mutex (stderr) drd/tests/std_string (stderr) drd/tests/std_thread (stderr) drd/tests/std_thread2 (stderr) drd/tests/swapcontext (stderr) drd/tests/tc01_simple_race (stderr) drd/tests/tc02_simple_tls (stderr) drd/tests/tc03_re_excl (stderr) drd/tests/tc05_simple_race (stderr) drd/tests/tc06_two_races (stderr) drd/tests/tc07_hbl1 (stderr) drd/tests/tc08_hbl2 (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc11_XCHG (stderr) drd/tests/tc16_byterace (stderr) drd/tests/tc17_sembar (stderr) drd/tests/tc18_semabuse (stderr) drd/tests/tc19_shadowmem (stderr) drd/tests/tc21_pthonce (stderr) drd/tests/tc22_exit_w_lock (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/tc24_nonzero_sem (stderr) drd/tests/thread_name (stderr) drd/tests/thread_name_xml (stderr) drd/tests/threaded-fork-vcs (stderr) drd/tests/threaded-fork (stderr) drd/tests/tls_threads (stderr) massif/tests/deep-D (post) none/tests/coolo_sigaction (stderr) none/tests/linux/pthread-stack (stderr) none/tests/manythreads (stderr) none/tests/ppoll_alarm (stderr) none/tests/pselect_alarm (stderr) none/tests/pth_2sig (stderr) none/tests/pth_atfork1 (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_cancel1 (stderr) none/tests/pth_cancel2 (stderr) none/tests/pth_cvsimple (stderr) none/tests/pth_exit (stderr) none/tests/pth_once (stderr) none/tests/pth_self_kill_15_other (stderr) none/tests/pth_self_kill_9 (stderr) none/tests/pth_stackalign (stderr) none/tests/pth_term_signal (stderr) none/tests/res_search (stderr) none/tests/sigsusp (stderr) none/tests/system (stderr) none/tests/thread-exits (stderr) none/tests/threaded-fork (stderr) none/tests/threadederrno (stderr) none/tests/tls (stderr) ...checking makefile consistency ...checking header files and include directives
There are several fixes upstream for glibc-2.34, so I'll create a patch and backport them.
Change History (3)
comment:1 by , 4 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
That was a large patch that took me a couple hours to get right and working properly, but it's now fixed.
Note:
See TracTickets
for help on using tickets.
https://sourceware.org/git?p=valgrind.git;a=commit;h=22bae4b1544fc5d82f131ef8fde4cea7666112c2
https://sourceware.org/git?p=valgrind.git;a=commit;h=61307ee83121aa5f0b57a12a80e90fc2f414380a
https://sourceware.org/git?p=valgrind.git;a=commit;h=6da22a4d246519cd1a638cfc7eff00cdd74413c4
https://sourceware.org/git?p=valgrind.git;a=commit;h=200b6a5a0ea3e1e154663b0fc575bfe2becf177d
https://sourceware.org/git?p=valgrind.git;a=commit;h=a1364805fc74b5690f763033c0c9b43f27613572
https://sourceware.org/git?p=valgrind.git;a=commit;h=74cc3babae971bf8c72269fa3513eba88f9cf6be
https://sourceware.org/git?p=valgrind.git;a=commit;h=52ed51fc35f8a6148c2940eb46932b02dd3b9b23
https://sourceware.org/git?p=valgrind.git;a=commit;h=44da99781e5bb954a0cd3c897b859012a125fec6
A good chunk of these seem to be related to system call changes and changes in libpthread/libc.
It looks like we'll need to run autoreconf on the sources as well after this.