Quantcast

self-hosting 3.13 SVN : drd/tests/dlopen

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

self-hosting 3.13 SVN : drd/tests/dlopen

Philippe Waroquiers
For 3.13 release, I am doing a self-hosting of valgrind, running
all regression tests with an outer memcheck and the inner tools
corresponding to the test being run.
I am running this on debian 8/amd64.

I will send a mail for the errors found by the outer memcheck that
are worth a more in depth investigation/explanation.

So, here is a newly added test, that causes memcheck to complain.
A native run of this test under memcheck does not cause any error.
So, this might be a real bug in valgrind/drd.

The detailed errors reported are:

==13472== Memcheck, a memory error detector
==13472== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==13472== Using Valgrind-3.13.0.SVN and LibVEX; rerun with -h for copyright info
==13472== Command: /home/philippe/valgrind/svn/inner_trunk_untouched/.in_place/drd-amd64-linux --command-line-only=yes --memcheck:leak-check=no --sim-hints=no-inner-prefix --tool=drd --read-var-info=yes --check-stack-var=yes --show-confl-seg=no ./dlopen_main ./dlopen_lib.so
==13472== Parent PID: 13471
==13472==
==13472== Warning: client switching stacks?  SP change: 0x1ffefffee0 --> 0x38d566f8
==13472==          to suppress, use: --max-stackframe=136468666344 or greater
==13472== Warning: ignored attempt to set SIGRT32 handler in sigaction();
==13472==          the SIGRT32 signal is used internally by Valgrind
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0xFE5E48D22: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x4017784: index (strchr.S:77)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x3805518F: bm_cache_lookup (drd_bitmap.h:391)
==13472==    by 0x3805518F: bm2_lookup_or_insert (drd_bitmap.h:608)
==13472==    by 0x3805518F: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640)
==13472==    by 0x3805518F: bm_access_aligned_load (drd_bitmap.h:668)
==13472==    by 0x3805518F: vgDrd_bm_access_load_1 (drd_bitmap.c:203)
==13472==    by 0x3805518F: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37)
==13472==    by 0x3805518F: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x3805519D: bm_cache_lookup (drd_bitmap.h:398)
==13472==    by 0x3805519D: bm2_lookup_or_insert (drd_bitmap.h:608)
==13472==    by 0x3805519D: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640)
==13472==    by 0x3805519D: bm_access_aligned_load (drd_bitmap.h:668)
==13472==    by 0x3805519D: vgDrd_bm_access_load_1 (drd_bitmap.c:203)
==13472==    by 0x3805519D: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37)
==13472==    by 0x3805519D: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x380551AB: bm_cache_lookup (drd_bitmap.h:405)
==13472==    by 0x380551AB: bm2_lookup_or_insert (drd_bitmap.h:608)
==13472==    by 0x380551AB: bm2_lookup_or_insert_exclusive (drd_bitmap.h:640)
==13472==    by 0x380551AB: bm_access_aligned_load (drd_bitmap.h:668)
==13472==    by 0x380551AB: vgDrd_bm_access_load_1 (drd_bitmap.c:203)
==13472==    by 0x380551AB: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37)
==13472==    by 0x380551AB: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Use of uninitialised value of size 8
==13472==    at 0x3805526F: bm0_set_range (drd_bitmap.h:262)
==13472==    by 0x3805526F: bm_access_aligned_load (drd_bitmap.h:669)
==13472==    by 0x3805526F: vgDrd_bm_access_load_1 (drd_bitmap.c:203)
==13472==    by 0x3805526F: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:37)
==13472==    by 0x3805526F: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x38055286: bm_cache_lookup (drd_bitmap.h:391)
==13472==    by 0x38055286: bm2_lookup (drd_bitmap.h:510)
==13472==    by 0x38055286: bm_aligned_load_has_conflict_with (drd_bitmap.h:700)
==13472==    by 0x38055286: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880)
==13472==    by 0x38055286: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38)
==13472==    by 0x38055286: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x38055291: bm_cache_lookup (drd_bitmap.h:398)
==13472==    by 0x38055291: bm2_lookup (drd_bitmap.h:510)
==13472==    by 0x38055291: bm_aligned_load_has_conflict_with (drd_bitmap.h:700)
==13472==    by 0x38055291: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880)
==13472==    by 0x38055291: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38)
==13472==    by 0x38055291: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Conditional jump or move depends on uninitialised value(s)
==13472==    at 0x3805529C: bm_cache_lookup (drd_bitmap.h:405)
==13472==    by 0x3805529C: bm2_lookup (drd_bitmap.h:510)
==13472==    by 0x3805529C: bm_aligned_load_has_conflict_with (drd_bitmap.h:700)
==13472==    by 0x3805529C: vgDrd_bm_load_1_has_conflict_with (drd_bitmap.c:880)
==13472==    by 0x3805529C: bm_access_load_1_triggers_conflict (drd_thread_bitmap.h:38)
==13472==    by 0x3805529C: drd_trace_load_1 (drd_load_store.c:199)
==13472==    by 0xFE5E5F6A9: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472== Use of uninitialised value of size 8
==13472==    at 0xFE5E5F6B5: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0x3808B90F: ??? (m_translate.c:752)
==13472==    by 0x100000000: ???
==13472==    by 0xFE4A60EA7: ???
==13472==    by 0xFE4A60EBF: ???
==13472==    by 0xFE18192FF: ???
==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
==13472==    by 0xF000155A5: ???
==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
==13472==    by 0x401783D: index (strchr.S:135)
==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==13472==    by 0x4007AF: main (dlopen_main.c:13)
==13472==
==13472==
==13472== HEAP SUMMARY:
==13472==     in use at exit: 50,238,064 bytes in 344,883 blocks
==13472==   total heap usage: 3,474,661 allocs, 3,129,778 frees, 426,413,520 bytes allocated
==13472==
==13472== LEAK SUMMARY:
==13472==    definitely lost: 0 bytes in 0 blocks
==13472==    indirectly lost: 0 bytes in 0 blocks
==13472==      possibly lost: 0 bytes in 0 blocks
==13472==    still reachable: 50,237,680 bytes in 344,882 blocks
==13472==         suppressed: 384 bytes in 1 blocks
==13472== Reachable blocks (those to which a pointer was found) are not shown.
==13472== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13472==
==13472== For counts of detected and suppressed errors, rerun with: -v
==13472== Use --track-origins=yes to see where uninitialised values come from
==13472== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 1 from 1)



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: self-hosting 3.13 SVN : drd/tests/dlopen

Philippe Waroquiers
On Wed, 2017-05-17 at 22:18 +0200, Philippe Waroquiers wrote:
After analysis, the below error (and I think also all of the others
following) are a false positive.
The reason:
  when running under memcheck, optimised functions such as index are
  replaced/redirected by valgrind own's equivalent, less optimised, to
  avoid errors being reported.

When an inner tool does not replace index and equivalent, then the
outer memcheck detects the false positive due to the inner guest program
calling the optimised index.

We could maybe avoid such errors, by having the inner tool detecting it
is running under an outer memcheck, and then do similar redirection as
the outer memcheck. Not too clear how to (easily) do that, so for the
momemt, we will just have one more false positive for an outer memcheck.

Philippe

> ==13472== Conditional jump or move depends on uninitialised value(s)
> ==13472==    at 0xFE5E48D22: ???
> ==13472==    by 0xFE4A60EBF: ???
> ==13472==    by 0xFE18192FF: ???
> ==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
> ==13472==    by 0x3808B90F: ??? (m_translate.c:752)
> ==13472==    by 0x100000000: ???
> ==13472==    by 0xFE4A60EA7: ???
> ==13472==    by 0xFE4A60EBF: ???
> ==13472==    by 0xFE18192FF: ???
> ==13472==    by 0x400A9B6: _dl_new_object (dl-object.c:191)
> ==13472==    by 0xF000155A5: ???
> ==13472==    by 0x380D392E: thread_wrapper (syswrap-linux.c:103)
> ==13472==    by 0x380D392E: run_a_thread_NORETURN (syswrap-linux.c:156)
> ==13472==    by 0x58084350: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)
> ==13472==    by 0x4017784: index (strchr.S:77)
> ==13472==    by 0x400AA79: _dl_new_object (dl-object.c:205)
> ==13472==    by 0x4005E43: _dl_map_object_from_fd (dl-load.c:1059)
> ==13472==    by 0x400805E: _dl_map_object (dl-load.c:2605)
> ==13472==    by 0x40129E4: dl_open_worker (dl-open.c:235)
> ==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
> ==13472==    by 0x40123FA: _dl_open (dl-open.c:661)
> ==13472==    by 0x525502A: dlopen_doit (dlopen.c:66)
> ==13472==    by 0x400E873: _dl_catch_error (dl-error.c:187)
> ==13472==    by 0x52555DC: _dlerror_run (dlerror.c:163)
> ==13472==    by 0x52550C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
> ==13472==    by 0x4007AF: main (dlopen_main.c:13)



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers
Loading...