Hi,
I'm having a real tough time debugging a program im trying to get to run called KLConfigWizard.exe. I had a problem earlier that was fixed by a tip from Rob. After trying a bunch of different native dll's that this program uses, I located the culprit dll (which is about as much as I seem to be able to do.) If I use native shlwapi then the crash doesnt happen. When i'm not using native shlwapi, the output I get is:
[truiken@cmu-127081 Kazaa Lite K++]$ wine KLConfigWizard.exe Please use the registry key HKEY_CURRENT_CONFIG\Sotfware\Fonts\LogPixels to set the screen resolution and remove the "Resolution" entry in the config file fixme:commctrl:InitCommonControlsEx Unknown class! dwICC=0x4000 wine: Unhandled exception (thread 0009), starting debugger... fixme:console:SetConsoleCtrlHandler (0x405fbab0,1) - no error checking or testing yet WineDbg starting on pid 0x8 Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000). In 32 bit mode. 0x00000000: addb %al,0x0(%eax) Wine-dbg>bt Backtrace: =>1 0x00000000 (0x00000000) Wine-dbg>q WineDbg terminated on pid 0x8
I do have the log of WINEDEBUG=trace+all, but the log file is ~243mb? I tried scanning through it looking for anything that would give me a clue, but it was hard to tell where any error was. It also doesnt help that the backtrace doesnt contain much of anything. Any ideas?
I have just run the program with WINEDEBUG=trace+shell and i will attach the results to this message. The last function to be called before the crash is PathCompactPathW. I'm not sure whether this is the cause of the crash or not, but I put some test code (from msdn) into the path section of the shlwapi test suite. Here are the results:
MSDN: The un-truncated path is C:\path1\path2\sample.txt The truncated path at 125 pixels is : C:\path1...\sample.txt The truncated path at 120 pixels is : C:\pat...\sample.txt The truncated path at 110 pixels is : C:\p...\sample.txt The truncated path at 25 pixels is : ...\sample.txt
WINE:The un-truncated path is C:\path1\path2\sample.txt The truncated path at 125 pixels is : C:\path1\path2\sample.txt The truncated path at 120 pixels is : C:\path1\path2\sample.txt The truncated path at 110 pixels is : C:\path1\path2\sample.txt The truncated path at 25 pixels is : C:\path1\path2\sample.txt
Im sure this isnt a very vital function, but I thought I would bring it to the attention of the developers.
On Sun, 29 Aug 2004 23:41:11 -0400, James Hawkins truiken@gmail.com wrote:
Hi,
I'm having a real tough time debugging a program im trying to get to run called KLConfigWizard.exe. I had a problem earlier that was fixed by a tip from Rob. After trying a bunch of different native dll's that this program uses, I located the culprit dll (which is about as much as I seem to be able to do.) If I use native shlwapi then the crash doesnt happen. When i'm not using native shlwapi, the output I get is:
[truiken@cmu-127081 Kazaa Lite K++]$ wine KLConfigWizard.exe Please use the registry key HKEY_CURRENT_CONFIG\Sotfware\Fonts\LogPixels to set the screen resolution and remove the "Resolution" entry in the config file fixme:commctrl:InitCommonControlsEx Unknown class! dwICC=0x4000 wine: Unhandled exception (thread 0009), starting debugger... fixme:console:SetConsoleCtrlHandler (0x405fbab0,1) - no error checking or testing yet WineDbg starting on pid 0x8 Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000). In 32 bit mode. 0x00000000: addb %al,0x0(%eax) Wine-dbg>bt Backtrace: =>1 0x00000000 (0x00000000) Wine-dbg>q WineDbg terminated on pid 0x8
I do have the log of WINEDEBUG=trace+all, but the log file is ~243mb? I tried scanning through it looking for anything that would give me a clue, but it was hard to tell where any error was. It also doesnt help that the backtrace doesnt contain much of anything. Any ideas?
-- James Hawkins
I ran the prog with WINEDEBUG=+relay,+seh this time at the advice of Mike, and this is the last couple of lines before the exception:
0009:Call kernel32.GlobalGetAtomNameW(0000c007,408dba30,0000003c) ret=40858760 0009:Ret kernel32.GlobalGetAtomNameW() retval=00000006 ret=40858760 0009:Call kernel32._EnterSysLevel(408d9bc0) ret=4087bfcc 0009:Call ntdll.RtlEnterCriticalSection(408d9bc0) ret=40509fb9 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=40509fb9 0009:Ret kernel32._EnterSysLevel() retval=40589960 ret=4087bfcc 0009:Call kernel32.lstrcpynW(408dbaa8,403c58a8 L"c:\My Shared Folder",00000010) ret=4087f42b 0009:Ret kernel32.lstrcpynW() retval=408dbaa8 ret=4087f42b 0009:Call kernel32._LeaveSysLevel(408d9bc0) ret=4087bffc 0009:Call ntdll.RtlLeaveCriticalSection(408d9bc0) ret=4050a0e8 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=4050a0e8 0009:Ret kernel32._LeaveSysLevel() retval=00000000 ret=4087bffc 0009:Call ntdll.RtlLeaveCriticalSection(408d9bc0) ret=4050a0e8 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=4050a0e8 0009:Ret kernel32._LeaveSysLevel() retval=00000000 ret=4087bffc 0009:Ret window proc 0x40853520 (hwnd=0x10092,msg=WM_SETTEXT,wp=00000000,lp=403 c5230) retval=00000001 0009:Call ntdll.RtlFreeHeap(40370000,00000000,403c5230) ret=4088af53 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=4088af53 0009:Call kernel32.GlobalLock16(00001107) ret=4087312c 0009:Ret kernel32.GlobalLock16() retval=403a8bb0 ret=4087312c 0009:Ret user32.SetWindowTextW() retval=00000001 ret=40b59857 trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=(nil) trace:seh:EXC_RtlRaiseException info[0]=00000000 trace:seh:EXC_RtlRaiseException info[1]=00000000 trace:seh:EXC_RtlRaiseException eax=00000001 ebx=00000000 ecx=40213be8 edx=0000 0001 esi=00000000 edi=00000000 trace:seh:EXC_RtlRaiseException ebp=00000000 esp=406cd594 cs=0073 ds=007b es=00 7b fs=003b gs=0033 flags=00210202 trace:seh:EXC_CallHandler calling handler at 0x4057a0a0 code=c0000005 flags=0 0009:Call ntdll.NtCreateEvent(406ccf40,001f0003,406cd108,00000001,00000000) ret= 404d153c 0009:Ret ntdll.NtCreateEvent() retval=00000000 ret=404d153c wine: Unhandled exception (thread 0009), starting debugger...
Maybe the problem is with the call to SetWindowText?
On Mon, 30 Aug 2004 00:05:01 -0400, James Hawkins truiken@gmail.com wrote:
I have just run the program with WINEDEBUG=trace+shell and i will attach the results to this message. The last function to be called before the crash is PathCompactPathW. I'm not sure whether this is the cause of the crash or not, but I put some test code (from msdn) into the path section of the shlwapi test suite. Here are the results:
MSDN: The un-truncated path is C:\path1\path2\sample.txt The truncated path at 125 pixels is : C:\path1...\sample.txt The truncated path at 120 pixels is : C:\pat...\sample.txt The truncated path at 110 pixels is : C:\p...\sample.txt The truncated path at 25 pixels is : ...\sample.txt
WINE:The un-truncated path is C:\path1\path2\sample.txt The truncated path at 125 pixels is : C:\path1\path2\sample.txt The truncated path at 120 pixels is : C:\path1\path2\sample.txt The truncated path at 110 pixels is : C:\path1\path2\sample.txt The truncated path at 25 pixels is : C:\path1\path2\sample.txt
Im sure this isnt a very vital function, but I thought I would bring it to the attention of the developers.
On Sun, 29 Aug 2004 23:41:11 -0400, James Hawkins truiken@gmail.com wrote:
Hi,
I'm having a real tough time debugging a program im trying to get to run called KLConfigWizard.exe. I had a problem earlier that was fixed by a tip from Rob. After trying a bunch of different native dll's that this program uses, I located the culprit dll (which is about as much as I seem to be able to do.) If I use native shlwapi then the crash doesnt happen. When i'm not using native shlwapi, the output I get is:
[truiken@cmu-127081 Kazaa Lite K++]$ wine KLConfigWizard.exe Please use the registry key HKEY_CURRENT_CONFIG\Sotfware\Fonts\LogPixels to set the screen resolution and remove the "Resolution" entry in the config file fixme:commctrl:InitCommonControlsEx Unknown class! dwICC=0x4000 wine: Unhandled exception (thread 0009), starting debugger... fixme:console:SetConsoleCtrlHandler (0x405fbab0,1) - no error checking or testing yet WineDbg starting on pid 0x8 Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000). In 32 bit mode. 0x00000000: addb %al,0x0(%eax) Wine-dbg>bt Backtrace: =>1 0x00000000 (0x00000000) Wine-dbg>q WineDbg terminated on pid 0x8
I do have the log of WINEDEBUG=trace+all, but the log file is ~243mb? I tried scanning through it looking for anything that would give me a clue, but it was hard to tell where any error was. It also doesnt help that the backtrace doesnt contain much of anything. Any ideas?
-- James Hawkins
-- James Hawkins
James Hawkins wrote:
Unhandled exception: page fault on read access to 0x00000000 in 32-bit
Try this:
WINEDEBUG=+relay,+seh wine prog.exe >& log
that will give a reasonably sized log, maybe 100Mb. Then search it for lines starting with seh.
less log /seh
Then look backwards from the location of the exception that caused the debugger to start. If you're lucky, the function that caused the exception will be somewhere just before the exception.
Mike