Hi,
I'm trying to run a software package for viewing weather data under wine, but the program crashes with an unhandled exception before I can even see a window. The program is freely available (for educational and non-commercial use) here:
http://sdg.ocs.ou.edu/builds/final/win/WeatherScope/WeatherScope-1.2.1.exe
This is running with Wine 20050310. I've included the relevent secions of a +tid,+seh,+relay log (Filtered using "RelayExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection;_EnterSysLevel;_LeaveSysLevel;
_ConfirmSysLevel;LOCAL_Alloc;LOCAL_Lock;LOCAL_Unlock;LOCAL_Free;GDI_GetObjPtr;
GDI_ReleaseObj;WIN_GetPtr;WIN_FindWndPtr;WIN_ReleaseWndPtr;USER_Unlock")
0009:Call kernel32.MulDiv(0000000a,00000060,00000048) ret=004a6ea6 0009:Ret kernel32.MulDiv() retval=0000000d ret=004a6ea6 0009:Call kernel32.CreateMutexA(00000000,00000000,00000000) ret=004e1bce 0009:Call ntdll.NtCreateMutant(77acfaec,001f0001,77acfaf8,00000000) ret=77b79d68 0009:Ret ntdll.NtCreateMutant() retval=00000000 ret=77b79d68 0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=77b79d73 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=77b79d73 0009:Ret kernel32.CreateMutexA() retval=00000064 ret=004e1bce 0009:Call kernel32.InitializeCriticalSection(0065c120) ret=0052f7a6 0009:Call ntdll.RtlInitializeCriticalSection(0065c120) ret=77b79576 0009:Ret ntdll.RtlInitializeCriticalSection() retval=00000000 ret=77b79576 0009:Ret kernel32.InitializeCriticalSection() retval=00000000 ret=0052f7a6 0009:Call kernel32.CreateMutexA(00000000,00000000,00000000) ret=004e1bce 0009:Call ntdll.NtCreateMutant(77acfaec,001f0001,77acfaf8,00000000) ret=77b79d68 0009:Ret ntdll.NtCreateMutant() retval=00000000 ret=77b79d68 0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=77b79d73 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=77b79d73 0009:Ret kernel32.CreateMutexA() retval=00000068 ret=004e1bce 0009:Call kernel32.CreateMutexA(00000000,00000000,00000000) ret=004e1bce 0009:Call ntdll.NtCreateMutant(77acfaec,001f0001,77acfaf8,00000000) ret=77b79d68 0009:Ret ntdll.NtCreateMutant() retval=00000000 ret=77b79d68 0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=77b79d73 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=77b79d73 0009:Ret kernel32.CreateMutexA() retval=0000006c ret=004e1bce 0009:Call kernel32.GetCommandLineA() ret=004da5fe 0009:Ret kernel32.GetCommandLineA() retval=77c11c40 ret=004da5fe 0009:Call kernel32.GetStartupInfoA(77acfec8) ret=004da619 0009:Ret kernel32.GetStartupInfoA() retval=0000000c ret=004da619 0009:Call kernel32.GetModuleHandleA(00000000) ret=004da642 0009:Ret kernel32.GetModuleHandleA() retval=00400000 ret=004da642 0009:Call kernel32.GetCommandLineW() ret=004086dc 0009:Ret kernel32.GetCommandLineW() retval=77c007a0 ret=004086dc 0009:Call shell32.CommandLineToArgvW(77c007a0 L"\".wine/drive_c/Program Files/Weathersoft/WeatherScope.exe\"",77acfe5c) ret=004086e3 0009:Call kernel32.GlobalAlloc(00000000,0000007a) ret=76b2ad06 0009:Call ntdll.RtlAllocateHeap(77c00000,00000000,0000007a) ret=77b475ef 0009:Ret ntdll.RtlAllocateHeap() retval=77c47560 ret=77b475ef 0009:Ret kernel32.GlobalAlloc() retval=77c47560 ret=76b2ad06 0009:Call kernel32.GlobalLock(77c47560) ret=76b2ad11 0009:Ret kernel32.GlobalLock() retval=77c47560 ret=76b2ad11 0009:Ret shell32.CommandLineToArgvW() retval=77c47560 ret=004086e3 0009:Call kernel32.GlobalFree(77c47560) ret=0040873b 0009:Call ntdll.RtlLockHeap(77c00000) ret=77b47ef4 0009:Ret ntdll.RtlLockHeap() retval=00000001 ret=77b47ef4 0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c47560) ret=77b47628 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=77b47628 0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b47f73 0009:Ret ntdll.RtlUnlockHeap() retval=00000001 ret=77b47f73 0009:Ret kernel32.GlobalFree() retval=00000000 ret=0040873b 0009:Call kernel32.CreateMutexA(00000000,00000000,005bbcf0 "WeatherScope") ret=00407f8d 0009:Call ntdll.RtlInitUnicodeString(77acfa4c,77acfa9c L"WeatherScope") ret=77b79d40 0009:Ret ntdll.RtlInitUnicodeString() retval=0000001a ret=77b79d40 0009:Call ntdll.NtCreateMutant(77acfa48,001f0001,77acfa54,00000000) ret=77b79d68 0009:Ret ntdll.NtCreateMutant() retval=00000000 ret=77b79d68 0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=77b79d73 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=77b79d73 0009:Ret kernel32.CreateMutexA() retval=00000070 ret=00407f8d 0009:Call kernel32.GetLastError() ret=00407f9c 0009:Ret kernel32.GetLastError() retval=00000000 ret=00407f9c 0009:Call kernel32.GetCommandLineA() ret=00408529 0009:Ret kernel32.GetCommandLineA() retval=77c11c40 ret=00408529 0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x4e0f66 0009:trace:seh:EXC_RtlRaiseException info[0]=00000000 0009:trace:seh:EXC_RtlRaiseException info[1]=0000f450 0009:trace:seh:EXC_RtlRaiseException eax=0065b5c0 ebx=77be7a01 ecx=00000001 edx=0000f448 esi=77eff860 edi=004da570 0009:trace:seh:EXC_RtlRaiseException ebp=77acfd0c esp=77acfd04 cs=0073 ds=007b es=007b fs=003b gs=0033 flags=00010202 0009:trace:seh:EXC_CallHandler calling handler at 0x513230 code=c0000005 flags=0 0009:trace:seh:EXC_CallHandler handler returned 1 0009:trace:seh:EXC_CallHandler calling handler at 0x512fd0 code=c0000005 flags=0 0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa 0009:Ret kernel32.TlsGetValue() retval=77c491e8 ret=0050a2fa 0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa 0009:Ret kernel32.TlsGetValue() retval=77c491e8 ret=0050a2fa 0009:trace:seh:EXC_CallHandler handler returned 1 0009:trace:seh:EXC_CallHandler calling handler at 0x77b22e98 code=c0000005 flags=0 0009:Call ntdll.NtCreateEvent(77acf844,001f0003,77acf848,00000001,00000000) ret=77b3def8 0009:Ret ntdll.NtCreateEvent() retval=00000000 ret=77b3def8
And debugger output:
wine: Unhandled exception (thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x0000f450 in 32-bit code (0x004e0f66).
In 32 bit mode.
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
EIP:004e0f66 ESP:77acfd04 EBP:77acfd0c EFLAGS:00010202( - 00 - -RI1)
EAX:0065b5c0 EBX:77be7a01 ECX:00000001 EDX:0000f448
ESI:77eff860 EDI:004da570
Stack dump:
0x77acfd04: cccccccc 0065b5c0 77acfd1c 004e12a9
0x77acfd14: 0065b5c0 77c4f508 77acfd40 0044fb11
0x77acfd24: 77c4f508 cccccccc cccccccc cccccccc
0x77acfd34: cccccccc cccccccc cccccccc 77acfd4c
0x77acfd44: 004858ab 77c4f508 77acfd5c 00439cc3
0x77acfd54: 77c4f508 77acfda8 77acfd7c 0043a51a
Backtrace:
=>1 0x004e0f66 in weatherscope (+0xe0f66) (0x77acfd0c)
2 0x004e12a9 in weatherscope (+0xe12a9) (0x77acfd1c)
3 0x0044fb11 in weatherscope (+0x4fb11) (0x77acfd40)
4 0x004858ab in weatherscope (+0x858ab) (0x77acfd4c)
5 0x00439cc3 in weatherscope (+0x39cc3) (0x77acfd5c)
6 0x0043a51a in weatherscope (+0x3a51a) (0x77acfd7c)
7 0x00408584 in weatherscope (+0x8584) (0x77acfdb4)
8 0x00408782 in weatherscope (+0x8782) (0x77acfe68)
9 0x004da648 EntryPoint+0xd8 in weatherscope (0x77acff20)
10 0x77b66907 in kernel32 (+0x56907) (0x77acfff4)
11 0xb7fc1c9d wine_switch_to_stack+0x11 in libwine.so.1 (0x00000000)
0x004e0f66: movl 0x8(%edx),%edx
WineDbg terminated on pid 0x8
My best interpretation here is that there appears to be a problem with the program accessing the command line, but I'm really just taking a wild guess. Anyone have any ideas?
Thanks,
Ryan
-- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma
_______________________________________________ wine-users mailing list wine-users@xxxxxxxxxx http://www.winehq.org/mailman/listinfo/wine-users