extremely simple borland C builder app hangs

Grzegorz Prokopski greg at sente.pl
Wed Aug 21 10:39:09 CDT 2002


Hi!

This is still the same app, that used previously for testing freereport.
How the app works.
0. show main window
1. call simple and meaningless freereport funtions (works now)
2. show [OK] dialog saying what above function returned
3. allow to press [OK] (of course ;-)
4. show main windows until it's closed.

The app hangs after or around [2] it seems. Frames of main window and of
the dialog show up, hovever their content is not painted and I cannot
click/Enter/Esc/space anything.

Final part of +relay log is this:

08072028:Ret  x11drv.SetWindowPos() retval=00000001 ret=408c83ef
08072028:Ret  x11drv.ShowWindow() retval=00000001 ret=408c7690
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x418a0fef
(hwnd=00010021,msg=WM_USER+ac00,wp=00000000,lp=00000000)
08072028:Ret  window proc 0x418a0fef
(hwnd=00010021,msg=WM_USER+ac00,wp=00000000,lp=00000000) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x418a0fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=0001002a)
08072028:Call user32.DefWindowProcA(00010021,00000121,00000000,0001002a)
ret=40620e03
08072028:Ret  user32.DefWindowProcA() retval=00000000 ret=40620e03
08072028:Ret  window proc 0x418a0fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=0001002a) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000001,403c53e8,ffffffff,00000000,00000000) ret=408dee6d

So it seems that MsgWaitForMultipleObjectsEx doesn't return if it has
anything to do (first parameter is number of objects to wait for).

It is almost exactly the same, as the "big app", which hangs at this:
08072028:Ret  window proc 0x422408ed
(hwnd=0001004d,msg=WM_PAINT,wp=00000000,lp=00000000)
retval=0000000008072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x42240fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=00010052)
08072028:Call user32.DefWindowProcA(00010021,00000121,00000000,00010052)
ret=40620e03
08072028:Ret  user32.DefWindowProcA() retval=00000000 ret=40620e03
08072028:Ret  window proc 0x42240fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=00010052) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000001,403c7eb8,ffffffff,00000000,00000000) ret=408dee6d

It seems, that dll/x11drv/event.c:X11DRV_MsgWaitForMultipleObjectsEx is
being called which in turn is calling
scheduler/synchro.c:WaitForMultipleObjectsEx (I think).

I looked at the code, but ATM it's still black magic for me - too many
unknown wine interlans ivolved :-/

Is this known problem? What should I look for while debugging?
Any pointers/hints? (I don't mean general wine-developers docs pointers)
Regards

					Grzegorz B. Prokopski

PS: I compiled wine from CVS, but not today's version (as it had some
problems with compilation) but 2 weeks old.





More information about the wine-devel mailing list