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>