At 08:42 AM 03/05/2001 -0700, you wrote:
<snip>
Do you have a backtrace for the crashes?
Not completely, but here is what I can do for now. Note that I am not sure yet that these bugs are not related to the environment (x server, window manager, glibc, etc)
Gerard
- Crash with Eudora 4 when exiting :
Unhandled exception: page fault on read access to 0x00000048 in 32-bit code (0x40a49529). In 32-bit mode. Symbol h_errno is invalid Symbol hack_digit is invalid 0x40a49529 (X11DRV_GetBitmapBits+0x185 [bitmap.c:213]): movl 0x48(%eax),%eax 213 *tbuf |= XGetPixel(image,w,h)<<(7-(w&7)); Wine-dbg>bt bt Backtrace: =>0 0x40a49529 (X11DRV_GetBitmapBits+0x185(bmp=0x403f375c, buffer=0x403f3ae4, count=0x80) [bitmap.c:213]) (ebp=40474298) 1 0x40a49e28 (X11DRV_BitmapBits+0x64(hbitmap=0x21c4, bits=0x403f3ae4, count=0x80, flags=0x2) [bitmap.c:427]) (ebp=404742b8) 2 0x40738a53 (GetBitmapBits+0x15f(hbitmap=0x21c4, count=0x80, bits=0x403f3ae4) [bitmap.c:280]) (ebp=404742e8) 3 0x4069c07a (CURSORICON_CreateFromResource+0x5aa(hInstance=0x0, hObj=0x0, bits=0x406d7380, cbSize=0x2e8, bIcon=0x1, dwVersion=0x30000, width=0x20, height=0x20, loadflags=0x8040) [cursoricon.c:639]) (ebp=40474370) 4 0x4069c3e7 (CURSORICON_Load+0x263(hInstance=0xde, name=0x7f03, width=0x20, height=0x20, colors=0x100, fCursor=0x0, loadflags=0x8040) [cursoricon.c:768]) (ebp=404743c0) 5 0x4069ed17 (LoadImageW+0x12f(hinst=0x0, name=0x7f03, type=0x1, desiredx=0x20, desiredy=0x0, loadflags=0x8040) [cursoricon.c:2263]) (ebp=404743f4) 6 0x4069df80 (LoadIconW+0x28(hInstance=0x0, name=0x7f03) [cursoricon.c:1782]) (ebp=40474418) 7 0x40692fa5 (STATIC_LoadIconW+0x2d(wndPtr=0x40371038, name=0x7f03) [static.c:154]) (ebp=40474430) 8 0x40693292 (StaticWndProc_locked+0x272(wndPtr=0x40371038, uMsg=0x81, wParam=0x0, lParam=0x40474854, unicode=0x1) [static.c:259]) (ebp=40474498) 9 0x406934f1 (StaticWndProcW+0x31(hWnd=0x9dcc, uMsg=0x81, wParam=0x0, lParam=0x40474854) [static.c:376]) (ebp=404744c4) 10 0x406cf237 (WINPROC_wrapper+0x17) (ebp=404744e8) Unhandled exception: page fault on read access to 0x00000048 in 32-bit code (0x40a49529). In 32-bit mode. Symbol h_errno is invalid Symbol hack_digit is invalid 0x40a49529 (X11DRV_GetBitmapBits+0x185 [bitmap.c:213]): movl 0x48(%eax),%eax 213 *tbuf |= XGetPixel(image,w,h)<<(7-(w&7));
From the code, XGetImage returns 0 (fails). I have tried the obvious
--- bitmap.c.orig Mon Jan 15 23:30:51 2001 +++ bitmap.c Fri Apr 27 23:12:27 2001 @@ -194,6 +194,12 @@ image = XGetImage( display, (Pixmap)bmp->physBitmap, 0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight, AllPlanes, ZPixmap ); + if (!image) + { + wine_tsx11_unlock(); + ERR("XGetImage failed\n"); + return 0; + } bmp->bitmap.bmHeight = old_height;
/* copy XImage to 16 bit padded image buffer with real bitsperpixel */
but it failed later.
- crash when starting Visual Basic 3 : no backtrace available, the stack is trashed :-/ Here is a trace instead :
Call USER.232: SETWINDOWPOS(0x1264,0x0000,0x0245,0x0121,0x00e2,0x00e2,0x0014) ret=0317:13ca ds=043f Call x11drv.SetWindowPos(40756d70) ret=40957c09 tid=081c29b8 trace:win:X11DRV_SetWindowPos hwnd 1264, swp (581,289)-(807,515) flags 00000014 trace:win:X11DRV_SetWindowPos current (0,222)-(180,568), style 86ce0000 CallTo16(func=035f:176c,ds=043f,0x1264,0x0046,0x0000,0x0097,0x009c) ss:sp=043f:8d04 AX=043e BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=8d2e ES=043f FS=0000 Call USER.107: DEFWINDOWPROC(0x1264,0x0046,0x0000,0x0097009c) ret=035f:1d52 ds=043f CallTo16(func=035f:176c,ds=043f,0x1264,0x0024,0x0000,0x0097,0x00c0) ss:sp=043f:8c80 AX=043e BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=8caa ES=043f FS=0000 Call USER.107: DEFWINDOWPROC(0x1264,0x0024,0x0000,0x009700c0) ret=035f:1d52 ds=043f Ret USER.107: DEFWINDOWPROC() retval=0x00000000 ret=035f:1d52 ds=043f CallTo16() ss:sp=043f:8c80 AX=0000 BX=00c0 CX=0000 DX=0000 BP=8caa SP=8c80 trace:win:WINPOS_GetMinMaxInfo 800 600 / 0 0 / 800 600 / 180 112 Ret USER.107: DEFWINDOWPROC() retval=0x00000000 ret=035f:1d52 ds=043f CallTo16() ss:sp=043f:8d04 AX=0000 BX=8d00 CX=0000 DX=0000 BP=8d2e SP=8d04 CallTo16(func=035f:176c,ds=043f,0x1264,0x0083,0x0001,0x0097,0x009c) ss:sp=043f:8d04 AX=043e BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=8d2e ES=043f FS=0000 Call USER.107: DEFWINDOWPROC(0x1264,0x0083,0x0001,0x0097009c) ret=035f:1d52 ds=043f Ret USER.107: DEFWINDOWPROC() retval=0x00000000 ret=035f:1d52 ds=043f CallTo16() ss:sp=043f:8d04 AX=0000 BX=8d00 CX=0000 DX=0000 BP=8d2e SP=8d04 trace:win:WINPOS_SendNCCalcSize 581,289-807,515 trace:event:EVENT_ProcessAllEvents called (thread 81c29b8). trace:event:EVENT_ProcessEvent called. trace:event:EVENT_ProcessEvent Got event ConfigureNotify for hwnd 1264 trace:event:__get_top_decoration 03400430 -> 03400430 trace:event:__get_top_decoration 0340047c -> 020005c6 trace:event:__get_top_decoration 034003fa -> 020005ba trace:win:EVENT_ConfigureNotify 1264 restacking from after 1800 to after 0fd0 Call x11drv.SetWindowPos(40756a78) ret=40957c09 tid=081c29b8 trace:win:X11DRV_SetWindowPos hwnd 1264, swp (581,289)-(807,515) flags 80000013 trace:win:X11DRV_SetWindowPos current (581,289)-(807,515), style 86ce0000 CallTo16(func=035f:176c,ds=043f,0x1264,0x0046,0x0000,0x0097,0x009c) ss:sp=043f:8d04 AX=043e BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=8d2e ES=043f FS=0000 Call USER.107: DEFWINDOWPROC(0x1264,0x0046,0x0000,0x0097009c) ret=035f:1d52 ds=043f Ret USER.107: DEFWINDOWPROC() retval=0x00000000 ret=035f:1d52 ds=043f CallTo16() ss:sp=043f:8d04 AX=0000 BX=8d00 CX=0000 DX=0000 BP=8d2e SP=8d04 warn:win:SWP_DoOwnedPopups (1264) hInsertAfter = 0fd0 Call x11drv.SetWindowPos(407568d0) ret=40957c09 tid=081c29b8 trace:win:X11DRV_SetWindowPos hwnd 1d88, swp (0,0)-(0,0) flags 00002413 trace:win:X11DRV_SetWindowPos current (0,0)-(276,72), style 84000000 warn:win:SWP_DoOwnedPopups (1d88) hInsertAfter = 0fd0 fixme:pthread_kill_other_threads_np
(winedbg starting...)
0x003bbdfc: *** Invalid address 0x003bbdfc -- no code -- Wine-dbg>bt bt Backtrace: =>0 0x003bbdfc (ebp=4074f722)
Wine-dbg>