Alright, now that I know what's up, we might be able to get down to business. I ran it with -debugmsg +err,+relay so that I would be able to pick out what happened at each of these: err:local:LOCAL_GetBlock not enough space in GDI heap 01ff for 112 bytes since I'm only 16 :-) I don't know much 'bout programming, so I might need some help with making this out. 080787e0:Call kernel32.LOCAL_Alloc(000001ff,00000002,00000068) ret=409cfbf8 may be the offender in this case (this is the line right before err:local) It seems that other "kernel32.LOCAL_Alloc" instances were able to get off the hook, so I think it may actualy *be* limited GDI resources. the question is, why are there so few GDI resources? I'm also wondering about the presence of the damn ntdll lines, they might be fscking with my heap, and that's not good, is it? PS: What is GDI? :-P Thanks
----------- OUTPUT (highly cropped :-) ) -------- 080787e0:Call kernel32.CreateFileA(40758c28 "C:\Program Files\Half-Life\valve\gfx\shell\cb_disabled.bmp",80000000,00000003,40758b80,00000003,00000080,00000000) ret=0048e4ee 080787e0:Ret kernel32.CreateFileA() retval=ffffffff ret=0048e4ee 080787e0:Call kernel32.GetLastError() ret=0048e4fa 080787e0:Ret kernel32.GetLastError() retval=00000002 ret=0048e4fa 080787e0:Call kernel32.GetLastError() ret=00487e0b 080787e0:Ret kernel32.GetLastError() retval=00000002 ret=00487e0b 080787e0:Call kernel32.TlsGetValue(00000007) ret=00487e19 080787e0:Ret kernel32.TlsGetValue() retval=42880f80 ret=00487e19 080787e0:Call kernel32.SetLastError(00000002) ret=00487e65 080787e0:Ret kernel32.SetLastError() retval=00000002 ret=00487e65 080787e0:Call kernel32.GetLastError() ret=00487e0b 080787e0:Ret kernel32.GetLastError() retval=00000002 ret=00487e0b 080787e0:Call kernel32.TlsGetValue(00000007) ret=00487e19 080787e0:Ret kernel32.TlsGetValue() retval=42880f80 ret=00487e19 080787e0:Call kernel32.SetLastError(00000002) ret=00487e65 080787e0:Ret kernel32.SetLastError() retval=00000002 ret=00487e65 080787e0:Call ntdll.RtlLeaveCriticalSection(4277444c) ret=004871ad 080787e0:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004871ad 080787e0:Call ntdll.RtlLeaveCriticalSection(42880010) ret=004874a5 080787e0:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004874a5 080787e0:Call kernel32.GetLastError() ret=00487e0b 080787e0:Ret kernel32.GetLastError() retval=00000002 ret=00487e0b 080787e0:Call kernel32.TlsGetValue(00000007) ret=00487e19 080787e0:Ret kernel32.TlsGetValue() retval=42880f80 ret=00487e19 080787e0:Call kernel32.SetLastError(00000002) ret=00487e65 080787e0:Ret kernel32.SetLastError() retval=00000002 ret=00487e65 080787e0:Call user32.LoadStringA(17000000,0000003b,40758648,00000400) ret=004664b5 080787e0:Call ntdll.RtlAllocateHeap(40250000,00000000,00000800) ret=409208c9 080787e0:Ret ntdll.RtlAllocateHeap() retval=454d2de8 ret=409208c9 080787e0:Call kernel32.FindResourceW(17000000,00000004,00000006) ret=40920749 080787e0:Ret kernel32.FindResourceW() retval=17001518 ret=40920749 080787e0:Call kernel32.LoadResource(17000000,17001518) ret=4092075e 080787e0:Ret kernel32.LoadResource() retval=170027d8 ret=4092075e 080787e0:Call kernel32.LockResource(170027d8) ret=4092076e 080787e0:Ret kernel32.LockResource() retval=170027d8 ret=4092076e 080787e0:Call kernel32.WideCharToMultiByte(00000000,00000000,454d2de8 L"Could not open bitmap file '%s'.",00000020,40758648,000003ff,00000000,00000000) ret=40920913 080787e0:Ret kernel32.WideCharToMultiByte() retval=00000020 ret=40920913 080787e0:Call ntdll.RtlFreeHeap(40250000,00000000,454d2de8) ret=4092096d 080787e0:Ret ntdll.RtlFreeHeap() retval=00000001 ret=4092096d 080787e0:Ret user32.LoadStringA() retval=00000020 ret=004664b5 080787e0:Call gdi32.CreateFontA(fffffff5,00000000,00000000,00000000,00000190,00000000,00000000,00000000,00000000,00000004,00000000,00000002,00000002,004cd7d4 "Arial") ret=0043edb9 080787e0:Call kernel32.lstrcpynA(4075821c,004cd7d4 "Arial",00000020) ret=409cab09 080787e0:Ret kernel32.lstrcpynA() retval=4075821c ret=409cab09 080787e0:Call kernel32.MultiByteToWideChar(00000000,00000000,4075821c "Arial",ffffffff,4075818c,00000020) ret=409ca593 080787e0:Ret kernel32.MultiByteToWideChar() retval=00000006 ret=409ca593 080787e0:Call kernel32._EnterSysLevel(409f5c44) ret=409cfbb2 080787e0:Ret kernel32._EnterSysLevel() retval=0000000c ret=409cfbb2 080787e0:Call kernel32.LOCAL_Alloc(000001ff,00000002,00000068) ret=409cfbf8 err:local:LOCAL_GetBlock not enough space in GDI heap 01ff for 112 bytes 080787e0:Ret kernel32.LOCAL_Alloc() retval=00000000 ret=409cfbf8 080787e0:Call kernel32._LeaveSysLevel(409f5c44) ret=409cfd60 080787e0:Ret kernel32._LeaveSysLevel() retval=00000000 ret=409cfd60 -------------- (FIN) ----------------
On 01 Feb 2003 17:54:10 +0000 Mike Hearn mike@theoretic.com wrote:
Those lines aren't errors, they're logging each API call.
If you know a bit about programming, you can probably examine the end of the trace and see what happened just before it went wrong. That's when you start debugging :)
------ "De-fault! The two sweetest words in the English language." -- Homer Simpson
Get Gaim for unix or win32 systems! gaim.sourceforge.net Scott "Action" Jackson - scott_j@ajackson.org