Debug Channels trashed

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Sat Aug 28 12:30:58 CDT 2004


Hallo,

I am trying to run the WebPACK_42wp30_full_installer.exe
: http://direct.xilinx.com/direct/webpack/42wp3/\
: WebPACK_42wp30_full_installer.exe
 (a 110 MByte Download).

Running it crashes quite early, while testing the debug channels:
err:font:ReadFontDir Can't open directory "/usr/X11R6/lib/X11/fonts/TrueType"
err:font:ReadFontDir Can't open directory "/usr/X11R6/lib/X11/fonts/TT"
wine: Unhandled exception (thread 0009), starting debugger...
fixme:console:SetConsoleCtrlHandler (0x405ac2f0,1) - no error checking or testing yet
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0xc0685566 in 32-bit code (0x40710c60).
In 32 bit mode.
0x40710c60 WINPROC_CallWndProc [/home/wine/wine/dlls/user/../../windows/winproc.c:232] in user32: testb	$0x8,0x0(%eax)
232	    if (TRACE_ON(relay))
232	    if (TRACE_ON(relay))
Wine-dbg>Backtrace:
=>1 0x40710c60 WINPROC_CallWndProc+0x70(wParam=0x1002c, lParam=0x0) [/home/wine/wine/dlls/user/../../windows/winproc.c:232] in user32 (0x4067fb7c)
  2 0x4071578d CallWindowProcA+0xed(func=0x4078656c, hwnd=0x10022, msg=0x110, wParam=0x1002c, lParam=0x0) [/home/wine/wine/dlls/user/../../windows/winproc.c:3123] in user32 (0x4067fba0)
  3 0x406eb083 DefDlgProcA+0x63(hwnd=0x10022, msg=0x110, wParam=0x1002c, lParam=0x0) [/home/wine/wine/dlls/user/../../windows/defdlg.c:451] in user32 (0x4067fbd0)
  4 0x40710437 WINPROC_wrapper+0x17 in user32 (0x4067fbf4)
  5 0x40710c4c WINPROC_CallWndProc+0x5c(wParam=0x1002c, lParam=0x0) [/home/wine/wine/dlls/user/../../windows/winproc.c:230] in user32 (0x4067fc30)
  6 0x4071578d CallWindowProcA+0xed(func=0x406eb020, hwnd=0x10022, msg=0x110, wParam=0x1002c, lParam=0x0) [/home/wine/wine/dlls/user/../../windows/winproc.c:3123] in user32 (0x4067fc54)
  7 0x40725b8f call_window_proc+0x11f(lparam=0x0, unicode=0x0, same_thread=0x1) [/home/wine/wine/dlls/user/message.c:1461] in user32 (0x4067fcb8)
  8 0x4072839e SendMessageTimeoutA+0x1be(hwnd=0x10022, msg=0x110, wparam=0x1002c, lparam=0x0, flags=0x0, timeout=0xffffffff, res_ptr=0x4067fd3c) [/home/wine/wine/dlls/user/message.c:1968] in user32 (0x4067fd18)
  9 0x40728425 SendMessageA+0x35(hwnd=0x10022, msg=0x110, wparam=0x1002c, lparam=0x0) [/home/wine/wine/dlls/user/message.c:2012] in user32 (0x4067fd44)
  10 0x406efc5c DIALOG_CreateIndirect+0x107c(dlgProc=0x4012df, param=0x0, unicode=0x0, modal=0x1) [/home/wine/wine/dlls/user/../../windows/dialog.c:672] in user32 (0x4067fe54)
  11 0x406f04be DialogBoxParamA+0x4e(hInst=0x400000, name=0x12c, owner=0x0, dlgProc=0x4012df, param=0x0) [/home/wine/wine/dlls/user/../../windows/dialog.c:821] in user32 (0x4067fe78)
  12 0x0040184d (0x004137a2)

It seems the location of the debug channels is picked up from the ebx
register
Wine-dbg>disass 0x40710c52 
0x40710c52 WINPROC_CallWndProc [../windows/winproc.c:231] in user32: call	0x40707c70 WIN_RestoreWndsLock [/home/wine/wine/dlls/user/../../windows/user.c:183] in user32
0x40710c57 WINPROC_CallWndProc [../windows/winproc.c:232] in user32: movl	0x190(%ebx),%eax
0x40710c5d WINPROC_CallWndProc [../windows/winproc.c:232] in user32: addl	$24,%esp
0x40710c60 WINPROC_CallWndProc [../windows/winproc.c:232] in user32: testb	$0x8,0x0(%eax)

I wonder what can trash the testing of the debug channels. I ran with +heap
to look for heap corruption, but couldn't find something.


Uncommenting the offending code 
> if (TRACE_ON(relay))
>    DPRINTF( "%04lx:Ret  window proc %p  (hwnd=%p,msg=%s,wp=%08x,lp=%08lx) retval=%08lx\n",
>         GetCurrentThreadId(), proc, hwnd, SPY_GetMsgName(msg, hwnd), wParam, lParam, retvalue );
makes the application proceed. 

Bye
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------



More information about the wine-devel mailing list