reading relay log

Ferenc Wagner wferi at afavant.elte.hu
Wed Jan 7 11:31:31 CST 2004


               Hi,

I feel rather stupid, but need help understanding this.  I
managed to screw up winetest so that it runs into trouble.
The relay trace goes like (indented by examine-relay)

--------------------------------------------------------------------
000a:Call comctl32.InitCommonControls() ret=40593c29
000a:Ret  comctl32.InitCommonControls() retval=40def6d4 ret=40593c29
000a:Call kernel32.GetModuleHandleA(00000000) ret=40593c3c
000a:Ret  kernel32.GetModuleHandleA() retval=40540000 ret=40593c3c
000a:Call user32.CreateDialogParamA(40540000,00000064,00000000,40593b4c,00000000) ret=40593c42
  000a:Call kernel32.FindResourceA(40540000,00000064,00000005) ret=407aa47f
  000a:Ret  kernel32.FindResourceA() retval=405954f8 ret=407aa47f
  000a:Call kernel32.LoadResource(40540000,405954f8) ret=407aa48a
  000a:Ret  kernel32.LoadResource() retval=40590d20 ret=407aa48a
  000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
  000a:Ret  kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
  000a:Call kernel32._LeaveSysLevel(40810b00) ret=407c21dc
  000a:Ret  kernel32._LeaveSysLevel() retval=00000000 ret=407c21dc
  000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
  000a:Ret  kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
  000a:Call kernel32._EnterSysLevel(40810b00) ret=407c21b8
  000a:Ret  kernel32._EnterSysLevel() retval=00000008 ret=407c21b8
  000a:Call kernel32._LeaveSysLevel(40810b00) ret=407c21dc
  000a:Ret  kernel32._LeaveSysLevel() retval=00000000 ret=407c21dc
  000a:Call ntdll.RtlAllocateHeap(40300000,00000000,0000001c) ret=407a6047
  000a:Ret  ntdll.RtlAllocateHeap() retval=40347998 ret=407a6047
  000a:Call gdi32.CreateDCA(407f0e04 "DISPLAY",00000000,00000000,00000000) ret=407a6066
    000a:Call ntdll.RtlCreateUnicodeStringFromAsciiz(40def3e8,407f0e04 "DISPLAY") ret=408994dd
    000a:Ret  ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 ret=408994dd
    000a:Call kernel32._CheckNotSysLevel(408cf320) ret=408a56e8
    000a:Ret  kernel32._CheckNotSysLevel() retval=0000000a ret=408a56e8
    000a:Call ntdll.RtlEnterCriticalSection(408cf400) ret=408ae109
    000a:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=408ae109
    000a:Call ntdll.RtlLeaveCriticalSection(408cf400) ret=408ae1d9
    000a:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=408ae1d9
    000a:Call kernel32._EnterSysLevel(408cf320) ret=408a50cf
    000a:Ret  kernel32._EnterSysLevel() retval=0000000c ret=408a50cf
    000a:Call ntdll.RtlAllocateHeap(40300000,00000000,00000138) ret=408a5215
    000a:Ret  ntdll.RtlAllocateHeap() retval=403479c0 ret=408a5215
    000a:Call x11drv.CreateDC(403479c0,403479d8,40def15c L"DISPLAY",00000000,00000000,00000000) ret=40899405
      000a:Call ntdll.RtlAllocateHeap(40300000,00000008,0000008c) ret=409ee0de
      000a:Ret  ntdll.RtlAllocateHeap() retval=40347b00 ret=409ee0de
      000a:Call gdi32.GetObjectType(0000007c) ret=409ee125
        000a:Call kernel32._EnterSysLevel(408cf320) ret=408a5527
        000a:Ret  kernel32._EnterSysLevel() retval=0000000c ret=408a5527
        000a:Call kernel32._LeaveSysLevel(408cf320) ret=408a56c3
        000a:Ret  kernel32._LeaveSysLevel() retval=00000000 ret=408a56c3
      000a:Ret  gdi32.GetObjectType() retval=00000003 ret=409ee125
      000a:Call ntdll.RtlEnterCriticalSection(40a20700) ret=409fe8b0
      000a:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=409fe8b0
err:ntdll:RtlpWaitForCriticalSection section 0x40334040 "?" wait timed out in thread 000a, blocked by 0009, retrying (60 sec)
--------------------------------------------------------------------

which I don't understand given the definition

--------------------------------------------------------------------
HWND WINAPI CreateDialogParamA( HINSTANCE hInst, LPCSTR name, HWND owner,
                                DLGPROC dlgProc, LPARAM param )
{
    HRSRC hrsrc;
    LPCDLGTEMPLATEA ptr;

    if (!(hrsrc = FindResourceA( hInst, name, (LPSTR)RT_DIALOG ))) return 0;
    if (!(ptr = (LPCDLGTEMPLATEA)LoadResource(hInst, hrsrc))) return 0;
    return CreateDialogIndirectParamA( hInst, ptr, owner, dlgProc, param );
}
--------------------------------------------------------------------

After LoadResource returns, I would expect a call to
CreateDialogIndirectParamA instead of the SysLevels etc.
Could somebody explain this, please?

Thanks a lot,
Feri.



More information about the wine-devel mailing list