[Wine]Re: LockWindowUpdate

Raimund Eimann raimund at cs.auckland.ac.nz
Sat May 7 02:37:01 CDT 2005


Hi,

sorry, mixed up my home folders before (local/NFS)  :(   This time I got it 
right. Forget about the posting with the bz2 attachment...


On Friday 06 May 2005 23:18, Mike Hearn wrote:
> On Fri, 06 May 2005 17:53:46 +1200, Raimund Eimann wrote:
> > 0009:Call ntdll.RtlUnwind(406fd0b8,0040359e,406fbe78,00000000)
> > ret=0040359e
>
> Can you do a +relay,+tid,+seh trace please?

I took a bit of output before (and including) the first couple of "Expect 
deadlock!" statements. Hope it helps:

0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call gdi32.GetTextMetricsA(00001338,406f0984) ret=4074fe0c
0009:Call kernel32._EnterSysLevel(41214d60) ret=408892d1
0009:Call ntdll.RtlEnterCriticalSection(41214d60) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=408892d1
0009:Call kernel32._LeaveSysLevel(41214d60) ret=40888f3b
0009:Call ntdll.RtlLeaveCriticalSection(41214d60) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40888f3b
0009:Ret  gdi32.GetTextMetricsA() retval=00000001 ret=4074fe0c
0009:Call gdi32.GetTextExtentPointA(00001338,407dba18 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",0000003
4,406f097c) ret=4074fe46
0009:Call kernel32._EnterSysLevel(41214d60) ret=408892d1
0009:Call ntdll.RtlEnterCriticalSection(41214d60) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=408892d1
0009:Call kernel32._LeaveSysLevel(41214d60) ret=40888f3b
0009:Call ntdll.RtlLeaveCriticalSection(41214d60) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40888f3b
0009:Call kernel32.MultiByteToWideChar(000004e4,00000000,407dba18 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW
XYZ",00000034,00000000,00000000) ret=408796c1
0009:Ret  kernel32.MultiByteToWideChar() retval=00000034 ret=408796c1
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,0000006a) ret=408796e5
0009:Ret  ntdll.RtlAllocateHeap() retval=42fec030 ret=408796e5
0009:Call kernel32.MultiByteToWideChar(000004e4,00000000,407dba18 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW
XYZ",00000034,42fec030,00000034) ret=40879711
0009:Ret  kernel32.MultiByteToWideChar() retval=00000034 ret=40879711
0009:Call kernel32._EnterSysLevel(41214d60) ret=408892d1
0009:Call ntdll.RtlEnterCriticalSection(41214d60) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=408892d1
0009:Call ntdll.RtlNtStatusToDosError(c000000d) ret=404dae99
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000057 ret=404dae99
0009:trace:seh:EXC_RtlRaiseException code=c000013a flags=0 addr=0x41854b90
0009:trace:seh:EXC_RtlRaiseException  eax=406f06e0 ebx=4120db90 ecx=403ce970 
edx=00002aaa esi=00000990 edi=00000000
0009:trace:seh:EXC_RtlRaiseException  ebp=406f072c esp=406f05a4 cs=0073 
ds=007b es=007b fs=003b gs=0033 flags=000102
06
0009:trace:seh:EXC_CallHandler calling handler at 0x409eef code=c000013a 
flags=0
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x4038c4 code=c000013a 
flags=0
0009:Call ntdll.RtlUnwind(406fff14,004038e9,406f054c,00000000) ret=004038e9 
fs=003b
 eax=406f054c ebx=401f5c2c ecx=401fef88 edx=406fff14 esi=406f054c edi=401fd4f2
 ebp=406f01bc esp=406f0178 ds=007b es=007b gs=0033 flags=00000246
0009:trace:seh:EXC_RtlUnwind code=c000013a flags=2
0009:trace:seh:EXC_CallHandler calling handler at 0x401bd820 code=c000013a 
flags=2
0009:trace:seh:EXC_CallHandler handler returned 1
0009:trace:seh:EXC_CallHandler calling handler at 0x409eef code=c000013a 
flags=2
0009:trace:seh:EXC_CallHandler handler returned 1
0009:Ret  ntdll.RtlUnwind() retval=00000000 ret=004038e9 fs=003b
 eax=00000000 ebx=401f5c2c ecx=401fef88 edx=406fff14 esi=406f054c edi=401fd4f2
 ebp=406f01bc esp=406f0178 ds=007b es=007b gs=0033 flags=00000246
0009:Call kernel32.VirtualQuery(41854b90,406ef9e0,0000001c) ret=00409cce
0009:Call 
ntdll.NtQueryVirtualMemory(ffffffff,41854b90,00000000,406ef9e0,0000001c,406ef790) 
ret=4053485f
0009:Ret  ntdll.NtQueryVirtualMemory() retval=00000000 ret=4053485f
0009:Ret  kernel32.VirtualQuery() retval=0000001c ret=00409cce
0009:Call kernel32.GetModuleFileNameA(00400000,406efafe,00000105) ret=00409d0f
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,0000020a) ret=404f15ab
0009:Ret  ntdll.RtlAllocateHeap() retval=40426110 ret=404f15ab
0009:Call ntdll.LdrLockLoaderLock(00000000,00000000,406ef780) ret=4050339a
0009:Ret  ntdll.LdrLockLoaderLock() retval=00000000 ret=4050339a
0009:Call ntdll.LdrFindEntryForAddress(00400000,406ef77c) ret=405033b4
0009:Ret  ntdll.LdrFindEntryForAddress() retval=00000000 ret=405033b4
0009:Call ntdll.LdrUnlockLoaderLock(00000000,00000009) ret=4050340a
0009:Ret  ntdll.LdrUnlockLoaderLock() retval=00000000 ret=4050340a
0009:Call 
ntdll.RtlUnicodeToMultiByteN(406efafe,00000105,406ef784,40426110,00000084) 
ret=404e9a23
0009:Ret  ntdll.RtlUnicodeToMultiByteN() retval=00000000 ret=404e9a23
0009:Call ntdll.RtlFreeHeap(40380000,00000000,40426110) ret=404f132b
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=404f132b
0009:Ret  kernel32.GetModuleFileNameA() retval=00000042 ret=00409d0f
0009:Call user32.LoadStringA(00400000,0000ffea,406ef9fe,00000100) ret=00409da7
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,00000200) ret=407b775a
0009:Ret  ntdll.RtlAllocateHeap() retval=42fec0a8 ret=407b775a
0009:Call kernel32.FindResourceW(00400000,00000fff,00000006) ret=407b7556
0009:Call ntdll.LdrFindResource_U(00400000,406ef5e4,00000003,406ef520) 
ret=4051e491
0009:Ret  ntdll.LdrFindResource_U() retval=00000000 ret=4051e491
0009:Ret  kernel32.FindResourceW() retval=004ce600 ret=407b7556
0009:Call kernel32.LoadResource(00400000,004ce600) ret=407b756f
0009:Call ntdll.LdrAccessResource(00400000,004ce600,406ef650,00000000) 
ret=4051ca17
0009:Ret  ntdll.LdrAccessResource() retval=00000000 ret=4051ca17
0009:Ret  kernel32.LoadResource() retval=004defdc ret=407b756f
0009:Call kernel32.LockResource(004defdc) ret=407b7584
0009:Ret  kernel32.LockResource() retval=004defdc ret=407b7584
0009:Call kernel32.WideCharToMultiByte(00000000,00000000,42fec0a8 L"Exception 
%s in module %s at %p.\n%s%s",00000025
,406ef9fe,000000ff,00000000,00000000) ret=407b7875
0009:Ret  kernel32.WideCharToMultiByte() retval=00000025 ret=407b7875
0009:Call ntdll.RtlFreeHeap(40380000,00000000,42fec0a8) ret=407b77ad
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=407b77ad
0009:Ret  user32.LoadStringA() retval=00000025 ret=00409da7
0009:Call user32.LoadStringA(00400000,0000ffeb,406ef908,00000400) ret=00404ff5
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,00000800) ret=407b775a
0009:Ret  ntdll.RtlAllocateHeap() retval=40426110 ret=407b775a
0009:Call kernel32.FindResourceW(00400000,00000fff,00000006) ret=407b7556
0009:Call ntdll.LdrFindResource_U(00400000,406ef640,00000003,406ef57c) 
ret=4051e491
0009:Ret  ntdll.LdrFindResource_U() retval=00000000 ret=4051e491
0009:Ret  kernel32.FindResourceW() retval=004ce600 ret=407b7556
0009:Call kernel32.LoadResource(00400000,004ce600) ret=407b756f
0009:Call ntdll.LdrAccessResource(00400000,004ce600,406ef6ac,00000000) 
ret=4051ca17
0009:Ret  ntdll.LdrAccessResource() retval=00000000 ret=4051ca17
0009:Ret  kernel32.LoadResource() retval=004defdc ret=407b756f
0009:Call kernel32.LockResource(004defdc) ret=407b7584
0009:Ret  kernel32.LockResource() retval=004defdc ret=407b7584
0009:Call kernel32.WideCharToMultiByte(00000000,00000000,40426110 
L"Application Error",00000011,406ef908,000003ff,00
000000,00000000) ret=407b7875
0009:Ret  kernel32.WideCharToMultiByte() retval=00000011 ret=407b7875
0009:Call ntdll.RtlFreeHeap(40380000,00000000,40426110) ret=407b77ad
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=407b77ad
0009:Ret  user32.LoadStringA() retval=00000011 ret=00404ff5
0009:Call user32.LoadStringA(00400000,74616369,406f012c,00000040) ret=00409ebf
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,00000080) ret=407b775a
0009:Ret  ntdll.RtlAllocateHeap() retval=42fec0a8 ret=407b775a
0009:Call kernel32.FindResourceW(00400000,00001637,00000006) ret=407b7556
0009:Call ntdll.LdrFindResource_U(00400000,406efa54,00000003,406ef990) 
ret=4051e491
0009:Ret  ntdll.LdrFindResource_U() retval=c000008b ret=4051e491
0009:Call ntdll.RtlNtStatusToDosError(c000008b) ret=4051e4a0
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000716 ret=4051e4a0
0009:Ret  kernel32.FindResourceW() retval=00000000 ret=407b7556
0009:Call ntdll.RtlFreeHeap(40380000,00000000,42fec0a8) ret=407b77ad
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=407b77ad
0009:Ret  user32.LoadStringA() retval=00000000 ret=00409ebf
0009:Call user32.MessageBoxA(00000000,406efd2c "Exception EControlC in module 
Blue_Chip_Bridge.exe at 41853B90.\nCon
trol-C hit.",406f012c "",00002010) ret=00409ed6
0009:Call ntdll.RtlCreateUnicodeStringFromAsciiz(406efb7c,406efd2c "Exception 
EControlC in module Blue_Chip_Bridge.e
xe at 41853B90.\nControl-C hit.") ret=4075cac9
0009:Ret  ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 
ret=4075cac9
0009:Call ntdll.RtlCreateUnicodeStringFromAsciiz(406efb74,406f012c "") 
ret=4075caaf
0009:Ret  ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 
ret=4075caaf
0009:Call kernel32.FindResourceExW(40720000,00000005,407dc718 
L"MSGBOX",00000000) ret=4075b928
0009:Call ntdll.RtlCreateUnicodeString(406ef91c,407dc718 L"MSGBOX") 
ret=4051d0c4
0009:Ret  ntdll.RtlCreateUnicodeString() retval=00000001 ret=4051d0c4
0009:Call ntdll.RtlUpcaseUnicodeString(406ef91c,406ef91c,00000000) 
ret=4051d0d9
0009:Ret  ntdll.RtlUpcaseUnicodeString() retval=00000000 ret=4051d0d9
0009:Call ntdll.LdrFindResource_U(40720000,406ef9d4,00000003,406ef910) 
ret=4051e491
0009:Ret  ntdll.LdrFindResource_U() retval=00000000 ret=4051e491
0009:Call ntdll.RtlFreeHeap(40380000,00000000,404220b8) ret=404f132b
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=404f132b
0009:Ret  kernel32.FindResourceExW() retval=407f8780 ret=4075b928
0009:Call kernel32.LoadResource(40720000,407f8780) ret=4075b943
0009:Call ntdll.LdrAccessResource(40720000,407f8780,406efa24,00000000) 
ret=4051ca17
0009:Ret  ntdll.LdrAccessResource() retval=00000000 ret=4051ca17
0009:Ret  kernel32.LoadResource() retval=407d6080 ret=4075b943
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,00000028) ret=4075ba24
0009:Ret  ntdll.RtlAllocateHeap() retval=403ef580 ret=4075ba24
0009:Call ntdll.RtlAllocateHeap(40380000,00000000,00000080) ret=40766f2e
0009:Ret  ntdll.RtlAllocateHeap() retval=42fec0a8 ret=40766f2e
0009:Call kernel32._ConfirmSysLevel(407ff5c0) ret=407668b5
0009:Ret  kernel32._ConfirmSysLevel() retval=00000000 ret=407668b5
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910
0009:Call kernel32._EnterSysLevel(407ff5c0) ret=40766880
0009:err:syslevel:_EnterSysLevel (0x407ff5c0, level 2): Holding 0x41214d60, 
level 3. Expect deadlock!
0009:Call ntdll.RtlEnterCriticalSection(407ff5c0) ret=4052823b
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=4052823b
0009:Ret  kernel32._EnterSysLevel() retval=405aa600 ret=40766880
0009:Call kernel32._LeaveSysLevel(407ff5c0) ret=40766910
0009:Call ntdll.RtlLeaveCriticalSection(407ff5c0) ret=40527f71
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=40527f71
0009:Ret  kernel32._LeaveSysLevel() retval=405aa7ce ret=40766910

> The problem seems to be that an exception is being thrown which unwinds
> past the USER syslevel - probably attempting to display an error box
> triggers the deadlock.
>
> thanks -mike
>
> _______________________________________________
> wine-users mailing list
> wine-users at winehq.org
> http://www.winehq.org/mailman/listinfo/wine-users

Cheers,
Raimund




More information about the wine-users mailing list