I'm trying to track down a wine crash in firefox (http://bugs.winehq.org/show_bug.cgi?id=4762) and thought valgrind might be helpful. So, following http://wiki.winehq.org/Wine_and_Valgrind I installed valgrind-3.1.0 and ran
valgrind --trace-children=yes /home/dank/wine/wine /home/dank/.wine/drive_c/Program\ Files/Mozilla\ Firefox/firefox.exe
This got as far as putting up a window (but not filling it in) before croaking, so I guess valgrind still has some ways to go. Before it bailed, it printed out a few interesting warnings: ... ==16329== Warning: noted but unhandled ioctl 0x30B with no size/direction hints ==16329== This could cause spurious value errors to appear. ==16329== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==16329== ==16329== Syscall param writev(vector[...]) points to uninitialised byte(s) ==16329== at 0x20000772: (within /lib/ld-2.3.5.so) ==16329== by 0x202D2BD8: wine_server_call (in /home/dank/wine/dlls/ntdll/ntdll.dll.so) ==16329== by 0x202C85D3: NtSetValueKey (reg.c:755) ==16329== by 0x205BFFF8: create_scsi_entry (oldconfig.c:170) ==16329== by 0x205C07BD: convert_old_config (oldconfig.c:400) ==16329== by 0x205C482E: __wine_kernel_init (process.c:751) ==16329== by 0x202C0BB2: __wine_process_init (loader.c:2276) ==16329== by 0x2002448E: wine_init (loader.c:600) ==16329== by 0x7BF01001: main (main.c:58) ==16329== Address 0xBEBF0874 is on thread 1's stack ... err:ole:CoGetClassObject class {4955dd33-b159-11d0-8fcf-00aa006bcc59} not registered err:ole:CoGetClassObject no class object {4955dd33-b159-11d0-8fcf-00aa006bcc59} could be created for for context 0x1 fixme:ole:CoCreateInstance no classfactory created for CLSID {4955dd33-b159-11d0-8fcf-00aa006bcc59}, hres is 0x80040154 ==16329== ==16329== Invalid read of size 4 ==16329== at 0x600195C4: ??? ==16329== Address 0x208BE16C is not stack'd, malloc'd or (recently) free'd ==16329== ==16329== Conditional jump or move depends on uninitialised value(s) ==16329== at 0x463876: ??? ==16329== ==16329== Invalid read of size 4 ==16329== at 0x603514C4: ??? ==16329== Address 0x208BCC70 is not stack'd, malloc'd or (recently) free'd ... err:seh:segv_handler Got unexpected trap 0 err:seh:segv_handler Got unexpected trap 0 err:seh:segv_handler Got unexpected trap 0 ...
-- Wine for Windows ISVs: http://kegel.com/wine/isv
On 3/7/06, Dan Kegel dank@kegel.com wrote:
I'm trying to track down a wine crash in firefox (http://bugs.winehq.org/show_bug.cgi?id=4762) and thought valgrind might be helpful. So, following http://wiki.winehq.org/Wine_and_Valgrind
When I posted the above, I hadn't yet applied the patch mentioned in the wiki page. When I did, valgrind itself crapped out:
==18736== Warning: client switching stacks? SP change: 0xBE857B4C --> 0x48DFFF0 ==18736== to suppress, use: --max-stackframe=1174963364 or greater --18707-- INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting --18707-- si_code=1; Faulting address: 0x57E58959; sp: 0x62527DA4
valgrind: the 'impossible' happened: Killed by fatal signal ==18707== at 0xB001AB5C: vgPlain_get_StackTrace2 (m_stacktrace.c:147) ==18707== by 0xB001AC31: vgPlain_get_StackTrace (m_stacktrace.c:331) ==18707== by 0xB000DDCF: vgPlain_record_ExeContext (m_execontext.c:199) ==18707== by 0xB0001116: create_MAC_Chunk (mac_malloc_wrappers.c:139) ==18707== by 0xB0001B17: vgMAC_malloc (mac_malloc_wrappers.c:203) ==18707== by 0xB002D9C3: do_client_request (scheduler.c:987) ==18707== by 0xB002D498: vgPlain_scheduler (scheduler.c:721) ==18707== by 0xB003BB99: thread_wrapper (syswrap-linux.c:86) ==18707== by 0xB003BC5D: run_a_thread_NORETURN (syswrap-linux.c:119)
so I guess there's definitely some work left to do on valgrind... - Dan
-- Wine for Windows ISVs: http://kegel.com/wine/isv
Dan Kegel wrote:
On 3/7/06, Dan Kegel dank@kegel.com wrote:
I'm trying to track down a wine crash in firefox (http://bugs.winehq.org/show_bug.cgi?id=4762) and thought valgrind might be helpful. So, following http://wiki.winehq.org/Wine_and_Valgrind
When I posted the above, I hadn't yet applied the patch mentioned in the wiki page. When I did, valgrind itself crapped out:
==18736== Warning: client switching stacks? SP change: 0xBE857B4C --> 0x48DFFF0 ==18736== to suppress, use: --max-stackframe=1174963364 or greater --18707-- INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting --18707-- si_code=1; Faulting address: 0x57E58959; sp: 0x62527DA4
valgrind: the 'impossible' happened: Killed by fatal signal ==18707== at 0xB001AB5C: vgPlain_get_StackTrace2 (m_stacktrace.c:147) ==18707== by 0xB001AC31: vgPlain_get_StackTrace (m_stacktrace.c:331) ==18707== by 0xB000DDCF: vgPlain_record_ExeContext (m_execontext.c:199) ==18707== by 0xB0001116: create_MAC_Chunk (mac_malloc_wrappers.c:139) ==18707== by 0xB0001B17: vgMAC_malloc (mac_malloc_wrappers.c:203) ==18707== by 0xB002D9C3: do_client_request (scheduler.c:987) ==18707== by 0xB002D498: vgPlain_scheduler (scheduler.c:721) ==18707== by 0xB003BB99: thread_wrapper (syswrap-linux.c:86) ==18707== by 0xB003BC5D: run_a_thread_NORETURN (syswrap-linux.c:119)
so I guess there's definitely some work left to do on valgrind...
yes :-/ actually, I haven't updated the wiki page lately
- the good news: most of the points related to false positives is either in latest Wine and will be present in yet to come 3.1.1 (RC1 is for Friday this week)
- the bad news: the SEH support is still deficient, and we still have stack issues (what you get). I updated the VG patch on the Wiki that fixes (for me) some errors that look very close to what you describe (the stack ones). As of today, the VG folks are rather sluggish to look at those issues and to integrate some of the patches. So, they won't be present for 3.1.1, perhaps for 3.2 (somewhere in April).
A+
On 3/7/06, Eric Pouech eric.pouech@wanadoo.fr wrote:
- the good news: most of the points related to false positives is either
in latest Wine and will be present in yet to come 3.1.1 (RC1 is for Friday this week)
- the bad news: the SEH support is still deficient, and we still have
stack issues (what you get). I updated the VG patch on the Wiki that fixes (for me) some errors that look very close to what you describe (the stack ones).
OK. I'll try your new patch when 3.1.1 rc1 comes out.
As of today, the VG folks are rather sluggish to look at those issues and to integrate some of the patches. So, they won't be present for 3.1.1, perhaps for 3.2 (somewhere in April).
That's still more responsive than a lot of projects. Thanks for moving this along! - Dan
-- Wine for Windows ISVs: http://kegel.com/wine/isv