bt all broken? Bisect result.
Peter Urbanec
winehq.org at urbanec.net
Wed Apr 28 02:11:45 CDT 2010
I did a git bisect to test the "bt all" issue and narrowed down the issue:
d29c6ead9280a174fa07ec7d5cd07293c3f7832d is the first bad commit
commit d29c6ead9280a174fa07ec7d5cd07293c3f7832d
Author: Eric Pouech <eric.pouech at orange.fr>
Date: Tue Mar 30 21:37:01 2010 +0200
winedbg: Store the CONTEXT in each stack frame to enable register
access in the non topmost frames.
I used the multithreaded test program from bug 20617
http://bugs.winehq.org/show_bug.cgi?id=20617 to test this problem.
This is what a failure looks like:
$ ./wine winedbg MultipleThreads.exe
...
Wine-dbg>bt all
...
Backtracing for thread 0020 in process 0018 (Z:\MultipleThreads.exe):
Backtrace:
=>0 0xf77fd42e (0x0033f7a8)
1 0x00190050 (0x0018004f)
Backtracing for thread 001f in process 0018 (Z:\MultipleThreads.exe):
Backtrace:
=>0 0xf77fd42e (0x0033f7a8)
1 0x00190050 (0x0018004f)
Backtracing for thread 001e in process 0018 (Z:\MultipleThreads.exe):
Backtrace:
=>0 0xf77fd42e (0x0033f7a8)
1 0x00190050 (0x0018004f)
Backtracing for thread 0019 in process 0018 (Z:\MultipleThreads.exe):
Backtrace:
=>0 0xf77fd42e (0x0033f7a8)
1 0x00190050 (0x0018004f)
0xf776b42e: jmp 0xf776b423
...
A proper backtrace should look something like this:
...
Backtracing for thread 002e in process 0028
(Z:\U_Drive\Projects\WineDbg_TestCases\Release\MultipleThreads.exe):
Backtrace:
=>0 0xf7711430 (0x0081ea04)
1 0x7ee155f4 SleepEx+0x2a(timeout=0x00c8, alertable=0)
[/source/wine/dlls/kernel32/sync.c:108] in kernel32 (0x0081ea34)
2 0x7ee155c0 Sleep+0x25(timeout=0x00c8)
[/source/wine/dlls/kernel32/sync.c:97] in kernel32 (0x0081ea54)
3 0x0040103a Boom::crash_func+0x3a(void_ptr=0x33fdb0)
[u:\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:25]
in multiplethreads (0x0081ea68)
4 0x7efbad44 call_thread_func+0xc() in ntdll (0x0081ea78)
5 0x7efbad82 call_thread_entry_point+0x34(entry=0x401000,
arg=0x33fdb0) [/source/wine/dlls/ntdll/signal_i386.c:2457] in ntdll
(0x0081eb58)
6 0x7efc19ea RtlCreateUserThread(process=0x33fdb0, descr=(nil),
suspended=10, stack_addr=0x0(nil), stack_reserve=0x81eb7c,
stack_commit=0x81ef7c, start=(nil), param=0x0(nil), handle_ptr=(nil),
id=(nil)) [/source/wine/dlls/ntdll/thread.c:411] in ntdll (0x0081f398)
7 0xf756f92f start_thread+0xbf() in libpthread.so.0 (0x0081f498)
Backtracing for thread 002d in process 0028
(Z:\U_Drive\Projects\WineDbg_TestCases\Release\MultipleThreads.exe):
Backtrace:
=>0 0xf7711430 (0x0071ea04)
1 0x7ee155f4 SleepEx+0x2a(timeout=0x00c8, alertable=0)
[/source/wine/dlls/kernel32/sync.c:108] in kernel32 (0x0071ea34)
2 0x7ee155c0 Sleep+0x25(timeout=0x00c8)
[/source/wine/dlls/kernel32/sync.c:97] in kernel32 (0x0071ea54)
3 0x0040103a Boom::crash_func+0x3a(void_ptr=0x33fda4)
[u:\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:25]
in multiplethreads (0x0071ea68)
4 0x7efbad44 call_thread_func+0xc() in ntdll (0x0071ea78)
5 0x7efbad82 call_thread_entry_point+0x34(entry=0x401000,
arg=0x33fda4) [/source/wine/dlls/ntdll/signal_i386.c:2457] in ntdll
(0x0071eb58)
6 0x7efc19ea RtlCreateUserThread(process=0x33fda4, descr=(nil),
suspended=10, stack_addr=0x0(nil), stack_reserve=0x71eb7c,
stack_commit=0x71ef7c, start=(nil), param=0x0(nil), handle_ptr=(nil),
id=(nil)) [/source/wine/dlls/ntdll/thread.c:411] in ntdll (0x0071f398)
7 0xf756f92f start_thread+0xbf() in libpthread.so.0 (0x0071f498)
Backtracing for thread 002c in process 0028
(Z:\U_Drive\Projects\WineDbg_TestCases\Release\MultipleThreads.exe):
Backtrace:
=>0 0x0040105b Boom::crash_func+0x5b(void_ptr=0x33fd98)
[u:\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:29]
in multiplethreads (0x0061ea68)
1 0x7efbad44 call_thread_func+0xc() in ntdll (0x0061ea78)
2 0x7efbad82 call_thread_entry_point+0x34(entry=0x401000,
arg=0x33fd98) [/source/wine/dlls/ntdll/signal_i386.c:2457] in ntdll
(0x0061eb58)
3 0x7efc19ea RtlCreateUserThread(process=0x33fd98, descr=(nil),
suspended=0, stack_addr=0x0(nil), stack_reserve=0x61eb7c,
stack_commit=0x61ef7c, start=(nil), param=0x0(nil), handle_ptr=(nil),
id=(nil)) [/source/wine/dlls/ntdll/thread.c:411] in ntdll (0x0061f398)
4 0xf756f92f start_thread+0xbf() in libpthread.so.0 (0x0061f498)
Backtracing for thread 0029 in process 0028
(Z:\U_Drive\Projects\WineDbg_TestCases\Release\MultipleThreads.exe):
Backtrace:
=>0 0xf7711430 (0x0033fcfc)
1 0x7ee155f4 SleepEx+0x2a(timeout=0x00f0, alertable=0)
[/source/wine/dlls/kernel32/sync.c:108] in kernel32 (0x0033fd2c)
2 0x7ee155c0 Sleep+0x25(timeout=0x00f0)
[/source/wine/dlls/kernel32/sync.c:97] in kernel32 (0x0033fd4c)
3 0x0040103a Boom::crash_func+0x3a(void_ptr=0x33fd8c)
[u:\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:25]
in multiplethreads (0x0033fd60)
4 0x0040112e main+0xae(argc=0x0001, argv=0x40c338)
[u:\projects\winedbg_testcases\multiplethreads\multiplethreads.cpp:65]
in multiplethreads (0x0033fdbc)
5 0x0040139c mainCRTStartup+0x173()
[f:\vs70builds\6030\vc\crtbld\crt\src\crt0.c:259] in multiplethreads
(0x0033fe98)
6 0x7ee05b3c start_process+0x137(peb=0x7ffdf000)
[/source/wine/dlls/kernel32/process.c:988] in kernel32 (0x0033fed8)
7 0x7efbad44 call_thread_func+0xc() in ntdll (0x0033fee8)
8 0x7efbad82 call_thread_entry_point+0x34(entry=0x7ee05a05,
arg=0x7ffdf000) [/source/wine/dlls/ntdll/signal_i386.c:2457] in ntdll
(0x0033ffc8)
9 0x7ef93ecf LdrInitializeThunk(kernel_start=0x7ffdf000, unknown2=0,
unknown3=0, unknown4=0) [/source/wine/dlls/ntdll/loader.c:2621] in ntdll
(0x0033ffe8)
0xf779b42e: jmp 0xf779b423
...
More information about the wine-devel
mailing list