I ran "spyxx" from MSVC on my deadlocking program, and everything was ok. I then quite the program itself (Microsoft Digital Image Pro was run with +relay, spy was run without any debug values). I left spy running for a while (~2 days), as I had other things to do, and I wanted the window handles it collected.

At some point, the console that launched spy began showing the following:
$ wine SPYXX
err:font:ReadFontDir Can't open directory "/win/windows/fonts"
fixme:mdi:MDIRefreshMenu partially function stub
fixme:mdi:MDIRefreshMenu partially function stub
err:toolbar:TOOLBAR_NotifyFormat wrong response to WM_NOTIFYFORMAT (0), assuming ANSI
err:win:CreateWindowExA bad class name "msctls_updown"
err:ntdll:RtlpWaitForCriticalSection section 0x40380d68 "?" wait timed out in thread 0011,
blocked by 0000, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x40380d68 "?" wait timed out in thread 0011,
blocked by 0000, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x40380d68 "?" wait timed out in thread 0011,
blocked by 0000, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x40380d68 "?" wait timed out in thread 0011,
blocked by 0000, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x40380d68 "?" wait timed out in thread 0011,
blocked by 0000, retrying (60 sec)


Here are the backtraces:
Wine-dbg>walk process
pid threads parent executable
>00000010 2 00000000 'Y:\sources\Transfer\RemoteDebug\SPYXX.EXE'
Wine-dbg>walk thread
process tid prio
00000010 (D) Y:\sources\Transfer\RemoteDebug\SPYXX.EXE
00000012 0 <==
00000011 0
Wine-dbg>bt 0x11
Backtrace:
=>0 0x4010e8ab (NTDLL.DLL._memccpy+0x5202b in libc.so.6) (ebp=40032c60)
1 0x401f4002 (NTDLL_wait_for_multiple_objects+0xbf(count=0x0, handles=0x0, flags=0x8, timeout=0x40032d10) [sync.c:578] in NTDLL.DLL) (ebp=40032cf8)
2 0x401f1edd (usr1_handler+0x4e(__signal=0xa, __context=0x8f) [signal_i386.c:1123] in NTDLL.DLL) (ebp=40032d1c)
3 0x4006e498 (NTDLL.DLL.toupper+0x6208 in libc.so.6) (ebp=4080f7e0)
4 0x401f4002 (NTDLL_wait_for_multiple_objects+0xbf(count=0x1, handles=0x4080f8cc, flags=0xc, timeout=0x4080f900) [sync.c:578] in NTDLL.DLL) (ebp=4080f878)
5 0x401f40ae (NTDLL.DLL.NtWaitForMultipleObjects+0x74 in NTDLL.DLL) (ebp=4080f8a0)
6 0x401f40fe (NtWaitForSingleObject+0x42(handle=0x88, alertable=0x0, timeout=0x4080f900) [sync.c:611] in NTDLL.DLL) (ebp=4080f8c4)
7 0x401cda35 (RtlpWaitForCriticalSection+0x127(crit=0x40380d68) [critsection.c:193] in NTDLL.DLL) (ebp=4080f964)
8 0x401cdc25 (RtlEnterCriticalSection+0x51(crit=0x40380d68) [critsection.c:255] in NTDLL.DLL) (ebp=4080f97c)
9 0x404f2555 (wine_pthread_mutex_lock+0x34(mutex=0x101593c8) [pthread.c:182] in KERNEL32.DLL) (ebp=4080f98c)
10 0x0011273a (__pthread_mutex_lock+0x25(mutex=0x101593c8) [kthread.c:588] in wine-kthread) (ebp=4080f99c)
11 0x40f409ea (_end+0x75bb6 in libX11.so.6) (ebp=4080f9bc)
12 0x40f0d799 (_end+0x42965 in libX11.so.6) (ebp=4080fa1c)
13 0x40e8b39e (X11DRV_InitKeyboard+0x84(key_state_table=0x40b66880) [keyboard.c:1332] in X11DRV.DLL) (ebp=4080fadc)
14 0x40e8c1c4 (X11DRV_MappingNotify+0x35(event=0x4080fb94) [keyboard.c:1635] in X11DRV.DLL) (ebp=4080fafc)
15 0x40e83647 (.L164+0xb [event.c] in X11DRV.DLL) (ebp=4080fb7c)
16 0x40e82e65 (process_events+0x71(data=0x40380d40) [event.c:143] in X11DRV.DLL) (ebp=4080fbf8)
17 0x40e82ffa (X11DRV_MsgWaitForMultipleObjectsEx+0x17b(count=0x1, handles=0x40380c6c, timeout=0xffffffff, mask=0x0, flags=0x0) [event.c:184] in X11DRV.DLL) (ebp=4080fd38)
18 0x40ad5f96 (GetMessageW+0x287(msg=0x46becc, hwnd=0x0, first=0x0, last=0x0) [message.c:2363] in USER32.DLL) (ebp=4080fdf4)
19 0x40ad6020 (GetMessageA+0x33(msg=0x46becc, hwnd=0x0, first=0x0, last=0x0) [message.c:2380] in USER32.DLL) (ebp=4080fe14)
20 0x6c3be6e9 (MFC42.DLL.5307+0x13 in MFC42.DLL) (ebp=0046becc)
21 0x0000000f (ebp=000100d6)


Wine-dbg>bt 0x12
Backtrace:
=>0 0x4010e8ab (NTDLL.DLL._memccpy+0x5202b in libc.so.6) (ebp=4030fc60)
1 0x401f4002 (NTDLL_wait_for_multiple_objects+0xbf(count=0x0, handles=0x0, flags=0x8, timeout=0x4030fd10) [sync.c:578] in NTDLL.DLL) (ebp=4030fcf8)
2 0x401f1edd (usr1_handler+0x4e(__signal=0xa, __context=0x8f) [signal_i386.c:1123] in NTDLL.DLL) (ebp=4030fd1c)
3 0x4006e498 (NTDLL.DLL.toupper+0x6208 in libc.so.6) (ebp=419eb450)
4 0x401f4002 (NTDLL_wait_for_multiple_objects+0xbf(count=0x1, handles=0x419eb53c, flags=0xc, timeout=0x419eb530) [sync.c:578] in NTDLL.DLL) (ebp=419eb4e8)
5 0x401f40ae (NTDLL.DLL.NtWaitForMultipleObjects+0x74 in NTDLL.DLL) (ebp=419eb510)
6 0x404fcb20 (WaitForMultipleObjectsEx+0x1d5(count=0x1, handles=0x419eb670, wait_all=0x0, timeout=0x32, alertable=0x0) [sync.c:167] in KERNEL32.DLL) (ebp=419eb648)
7 0x404fc8b8 (WaitForSingleObject+0x3c(handle=0x64, timeout=0x32) [sync.c:95] in KERNEL32.DLL) (ebp=419eb668)
8 0x004232fa (SPYXX.EXE..text+0x222fa in SPYXX.EXE) (ebp=40aab4df)
9 0x0168ec81 (SPYXX.EXE..rsrc+0x1221c81 in wine-kthread) (ebp=53e58955)
*** Invalid address 0x53e58955 (_end+0x121f453d)


I hope this helps someone.

--
Shachar Shemesh
Open Source integration & consulting
Home page & resume - http://www.shemesh.biz/





Reply via email to