https://bugs.winehq.org/show_bug.cgi?id=44006
Bug ID: 44006 Summary: Can't use valgrind with wine-staging (works with vanilla wine) Product: Wine Version: 2.17 Hardware: x86 OS: Linux Status: NEW Keywords: download, source, valgrind Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Distribution: Gentoo
While looking at https://github.com/Winetricks/winetricks/issues/810, I noticed that wine-staging has some memory corruption in msxml3 that does not occur under wine. I tried running the dotnet35sp1 installer under valgrind, which quickly crashed.
I then ran a more simple test (scripts/suppressions at https://github.com/austin987/wine-valgrind-scripts)
$ . vg-wrapper.sh $ wine start /min winemine $ valgrind wine notepad
works fine, only output is: austin@austin2:~$ valgrind wine notepad preloader: Warning: failed to reserve range 00110000-68000000 preloader: Warning: failed to reserve range 7f000000-82000000
If I try the same under wine-staging, however: $ . vg-wrapper.sh $ wine-staging start /min winemine $ valgrind wine-staging notepad
I get a nastly valgrind crash: austin@austin2:~$ valgrind wine-staging notepad preloader: Warning: failed to reserve range 00110000-68000000 preloader: Warning: failed to reserve range 7f000000-82000000
valgrind: m_debuginfo/debuginfo.c:551 (check_CFSI_related_invariants): Assertion 'cfsi_fits' failed.
host stacktrace: ==9003== at 0x58039CF7: show_sched_status_wrk (m_libcassert.c:355) ==9003== by 0x58039E01: report_and_quit (m_libcassert.c:426) ==9003== by 0x58039EE3: vgPlain_assert_fail (m_libcassert.c:492) ==9003== by 0x5806855E: check_CFSI_related_invariants (debuginfo.c:551) ==9003== by 0x5806855E: di_notify_ACHIEVE_ACCEPT_STATE (debuginfo.c:766) ==9003== by 0x5806855E: vgPlain_di_notify_mmap (debuginfo.c:1063) ==9003== by 0x58090184: vgModuleLocal_generic_PRE_sys_mmap (syswrap-generic.c:2388) ==9003== by 0x580C199A: vgSysWrap_x86_linux_sys_mmap2_before (syswrap-x86-linux.c:989) ==9003== by 0x5808D022: vgPlain_client_syscall (syswrap-main.c:1857) ==9003== by 0x58089E90: handle_syscall (scheduler.c:1126) ==9003== by 0x5808B5C6: vgPlain_scheduler (scheduler.c:1443) ==9003== by 0x58099223: thread_wrapper (syswrap-linux.c:103) ==9003== by 0x58099223: run_a_thread_NORETURN (syswrap-linux.c:156)
sched status: running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 9003) ==9003== at 0x4018F10: mmap (mmap.c:32) ==9003== by 0x4006806: _dl_map_segments (dl-map-segments.h:90) ==9003== by 0x4006806: _dl_map_object_from_fd (dl-load.c:1183) ==9003== by 0x4008A19: _dl_map_object (dl-load.c:2199) ==9003== by 0x40138B7: dl_open_worker (dl-open.c:226) ==9003== by 0x43B09C6: _dl_catch_error (dl-error-skeleton.c:198) ==9003== by 0x40133A1: _dl_open (dl-open.c:649) ==9003== by 0x4447C72: dlopen_doit (dlopen.c:66) ==9003== by 0x43B09C6: _dl_catch_error (dl-error-skeleton.c:198) ==9003== by 0x44484B1: _dlerror_run (dlerror.c:163) ==9003== by 0x4447D2D: dlopen@@GLIBC_2.1 (dlopen.c:87) ==9003== by 0x404522E: wine_dlopen (loader.c:1051) ==9003== by 0x40458F5: wine_init (loader.c:977) ==9003== by 0x7C000C01: main (in /usr/lib64/wine-staging-2.17/bin/wine)
Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to: www.valgrind.org
In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks.
Note, I only had wine-staging 2.17 installed, I can retest in 2.20 if needed. I havne't filed a valgrind bug, as it seems more likely to be a staging bug, but I can file one upstream if needed.