[Wine]Re: Program Crashes on Startup

Ryan May rmay at ROSSBY.METR.ou.edu
Tue Mar 22 10:23:17 CST 2005


Rein Klazes wrote:
> On Mon, 21 Mar 2005 14:07:45 -0600, in gmane.comp.emulators.wine.user
> you wrote:
> 
> 
> [snip excellent bug report]
> 
> 
>>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?
> 
> 
> Yes, you have to start this program with the full path, something like:
> 
>  wine  c:\\Program\ Files\\Weathersoft\\WeatherScope.exe
> 

Great, that solves that problem and gets me further.  However, the 
program is still getting an unhandled exception early on in execution. 
Below again is the output of +tid,+relay,+seh from around the relevant time.

0009:Call kernel32.FindFirstFileW(77cb6510 L"c:\\Program 
Files\\Weathersoft\\Resources\\English\\ScopePrefs.xml",77acf760) 
ret=00460b83
0009:Call ntdll.RtlDosPathNameToNtPathName_U(77cb6510 L"c:\\Program 
Files\\Weathersoft\\Resources\\English\\ScopePrefs.xml",77acf5fc,77acf604,00000000) 
ret=77b40f03
0009:Ret  ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=77b40f03
0009:Call ntdll.RtlAllocateHeap(77c00000,00000000,00002034) ret=77b475ef
0009:Ret  ntdll.RtlAllocateHeap() retval=77c5b4b0 ret=77b475ef
0009:Call ntdll.RtlCreateUnicodeString(77c5b4d0,77c5b47e 
L"ScopePrefs.xml") ret=77b40fac
0009:Ret  ntdll.RtlCreateUnicodeString() retval=00000001 ret=77b40fac
0009:Call 
ntdll.NtOpenFile(77c5b4b4,80000000,77acf608,77acf5f4,00000003,00000021) 
ret=77b41045
0009:Ret  ntdll.NtOpenFile() retval=c0000034 ret=77b41045
0009:Call ntdll.RtlFreeUnicodeString(77c5b4d0) ret=77b4110d
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=77b4110d
0009:Call ntdll.RtlNtStatusToDosError(c0000034) ret=77b41118
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000002 ret=77b41118
0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c5b4b0) ret=77b47628
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=77b47628
0009:Call ntdll.RtlFreeUnicodeString(77acf5fc) ret=77b40f5d
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=77b40f5d
0009:Ret  kernel32.FindFirstFileW() retval=ffffffff ret=00460b83
0009:Call kernel32.FindClose(ffffffff) ret=00460b95
0009:Ret  kernel32.FindClose() retval=00000000 ret=00460b95
0009:Call kernel32.FindResourceA(00000000,77c572b8 "ScopePrefs",77c4f858 
"xml") ret=004521bb
0009:Call ntdll.RtlCreateUnicodeStringFromAsciiz(77acf79c,77c572b8 
"ScopePrefs") ret=77b7122b
0009:Ret  ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 
ret=77b7122b
0009:Call ntdll.RtlUpcaseUnicodeString(77acf79c,77acf79c,00000000) 
ret=77b71242
0009:Ret  ntdll.RtlUpcaseUnicodeString() retval=00000000 ret=77b71242
0009:Call ntdll.RtlCreateUnicodeStringFromAsciiz(77acf794,77c4f858 
"xml") ret=77b7122b
0009:Ret  ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 
ret=77b7122b
0009:Call ntdll.RtlUpcaseUnicodeString(77acf794,77acf794,00000000) 
ret=77b71242
0009:Ret  ntdll.RtlUpcaseUnicodeString() retval=00000000 ret=77b71242
0009:Call ntdll.LdrFindResource_U(00400000,77acf854,00000003,77acf790) 
ret=77b71730
0009:Ret  ntdll.LdrFindResource_U() retval=00000000 ret=77b71730
0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c5b418) ret=77b47628
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=77b47628
0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c5b438) ret=77b47628
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=77b47628
0009:Ret  kernel32.FindResourceA() retval=00602248 ret=004521bb
0009:Call kernel32.LoadResource(00000000,00602248) ret=004521e5
0009:Call ntdll.LdrAccessResource(00400000,00602248,77acf8bc,00000000) 
ret=77b72c0a
0009:Ret  ntdll.LdrAccessResource() retval=00000000 ret=77b72c0a
0009:Ret  kernel32.LoadResource() retval=00602ce0 ret=004521e5
0009:Call kernel32.SizeofResource(00000000,00602248) ret=004521f3
0009:Ret  kernel32.SizeofResource() retval=00000103 ret=004521f3
0009:Call kernel32.LockResource(00602ce0) ret=004521ff
0009:Ret  kernel32.LockResource() retval=00602ce0 ret=004521ff
0009:Call kernel32.GlobalAlloc(00000002,00000103) ret=0045220d
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b47726
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b47726
0009:Call ntdll.RtlAllocateHeap(77c00000,00000000,00000008) ret=77b475ef
0009:Ret  ntdll.RtlAllocateHeap() retval=77c5b418 ret=77b475ef
0009:Call ntdll.RtlAllocateHeap(77c00000,00000000,0000010b) ret=77b475ef
0009:Ret  ntdll.RtlAllocateHeap() retval=77c5b438 ret=77b475ef
0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b4777b
0009:Ret  ntdll.RtlUnlockHeap() retval=00000001 ret=77b4777b
0009:Ret  kernel32.GlobalAlloc() retval=77c5b41a ret=0045220d
0009:Call kernel32.GlobalLock(77c5b41a) ret=004525f6
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b4785f
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b4785f
0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b478dd
0009:Ret  ntdll.RtlUnlockHeap() retval=00000001 ret=77b478dd
0009:Ret  kernel32.GlobalLock() retval=77c5b440 ret=004525f6
0009:Call kernel32.FreeResource(00602ce0) ret=00452282
0009:Ret  kernel32.FreeResource() retval=00000000 ret=00452282
0009:Call kernel32.GlobalUnlock(77c5b41a) ret=004526af
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b479c0
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b479c0
0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b47a3e
0009:Ret  ntdll.RtlUnlockHeap() retval=00000001 ret=77b47a3e
0009:Ret  kernel32.GlobalUnlock() retval=00000000 ret=004526af
0009:Call kernel32.CreateFileW(77cb62b8 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...,40000000,00000001,00000000,00000003,00000080,00000000) 
ret=0046014d
0009:Call ntdll.RtlIsDosDeviceName_U(77cb62b8 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...) 
ret=77b40a0b
0009:Ret  ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=77b40a0b
0009:Call ntdll.RtlDosPathNameToNtPathName_U(77cb62b8 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...,77acf8b0,00000000,00000000) 
ret=77b40761
0009:Ret  ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=77b40761
0009:Call 
ntdll.NtCreateFile(77acf8a4,40000000,77acf8b8,77acf8a8,00000000,00000080,00000001,00000001,00000050,00000000,00000000) 
ret=77b40858
0009:Ret  ntdll.NtCreateFile() retval=c0000033 ret=77b40858
0009:Call ntdll.RtlNtStatusToDosError(c0000033) ret=77b4088f
0009:Ret  ntdll.RtlNtStatusToDosError() retval=0000007b ret=77b4088f
0009:Call ntdll.RtlFreeUnicodeString(77acf8b0) ret=77b408a3
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=77b408a3
0009:Ret  kernel32.CreateFileW() retval=ffffffff ret=0046014d
0009:Call kernel32.WaitForSingleObject(00000078,ffffffff) ret=004e1c5f
0009:Call 
ntdll.NtWaitForMultipleObjects(00000001,77acf7ac,00000000,00000000,00000000) 
ret=77b791a1
0009:Ret  ntdll.NtWaitForMultipleObjects() retval=00000000 ret=77b791a1
0009:Ret  kernel32.WaitForSingleObject() retval=00000000 ret=004e1c5f
0009:Call kernel32.GlobalFree(77c5b41a) ret=00451edf
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b47ef4
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b47ef4
0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c5b438) ret=77b47628
0009:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=77b47628
0009:Call ntdll.RtlFreeHeap(77c00000,00000000,77c5b418) 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=00451edf
0009:Call kernel32.CloseHandle(00000078) ret=004e1c26
0009:Call ntdll.NtClose(00000078) ret=77b6a242
0009:Ret  ntdll.NtClose() retval=00000000 ret=77b6a242
0009:Ret  kernel32.CloseHandle() retval=00000001 ret=004e1c26
0009:Call kernel32.SetLastError(00000000) ret=00460029
0009:Ret  kernel32.SetLastError() retval=00000000 ret=00460029
0009:Call kernel32.CreateFileW(77cb6060 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...,80000000,00000001,00000000,00000003,00000080,00000000) 
ret=0046004a
0009:Call ntdll.RtlIsDosDeviceName_U(77cb6060 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...) 
ret=77b40a0b
0009:Ret  ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=77b40a0b
0009:Call ntdll.RtlDosPathNameToNtPathName_U(77cb6060 
L"\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc\ffcc"...,77acf9ec,00000000,00000000) 
ret=77b40761
0009:Ret  ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=77b40761
0009:Call 
ntdll.NtCreateFile(77acf9e0,80000000,77acf9f4,77acf9e4,00000000,00000080,00000001,00000001,00000050,00000000,00000000) 
ret=77b40858
0009:Ret  ntdll.NtCreateFile() retval=c0000033 ret=77b40858
0009:Call ntdll.RtlNtStatusToDosError(c0000033) ret=77b4088f
0009:Ret  ntdll.RtlNtStatusToDosError() retval=0000007b ret=77b4088f
0009:Call ntdll.RtlFreeUnicodeString(77acf9ec) ret=77b408a3
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=77b408a3
0009:Ret  kernel32.CreateFileW() retval=ffffffff ret=0046004a
0009:Call kernel32.GetLastError() ret=004f7e89
0009:Ret  kernel32.GetLastError() retval=0000007b ret=004f7e89
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.CreateMutexA(00000000,00000000,00000000) ret=004e1bce
0009:Call ntdll.NtCreateMutant(77acf44c,001f0001,77acf458,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=00000078 ret=004e1bce
0009:Call kernel32.WaitForSingleObject(00000078,ffffffff) ret=004e1c5f
0009:Call 
ntdll.NtWaitForMultipleObjects(00000001,77acf594,00000000,00000000,00000000) 
ret=77b791a1
0009:Ret  ntdll.NtWaitForMultipleObjects() retval=00000000 ret=77b791a1
0009:Ret  kernel32.WaitForSingleObject() retval=00000000 ret=004e1c5f
0009:Call advapi32.RegOpenKeyExA(80000001,005d2560 
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell 
Folders",00000000,00000001,77acf8e0) ret=004f7cf3
0009:Call kernel32.GetVersion() ret=779b81b1
0009:Call ntdll.RtlGetVersion(77acf46c) ret=77b86edd
0009:Ret  ntdll.RtlGetVersion() retval=00000000 ret=77b86edd
0009:Ret  kernel32.GetVersion() retval=08930005 ret=779b81b1
0009:Call ntdll.RtlInitAnsiString(77acf68c,005d2560 
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders") 
ret=779b8220
0009:Ret  ntdll.RtlInitAnsiString() retval=00000000 ret=779b8220
0009:Call ntdll.RtlAnsiStringToUnicodeString(77e85bf8,77acf68c,00000000) 
ret=779b8237
0009:Ret  ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=779b8237
0009:Call ntdll.NtOpenKey(77acf8e0,00000001,77acf694) ret=779b826c
0009:Ret  ntdll.NtOpenKey() retval=00000000 ret=779b826c
0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=779b8246
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000000 ret=779b8246
0009:Ret  advapi32.RegOpenKeyExA() retval=00000000 ret=004f7cf3
0009:Call advapi32.RegQueryValueExA(0000007c,005d25a4 
"Desktop",00000000,77acf8dc,0065b630,77acf8d8) ret=004f7d16
0009:Call ntdll.RtlInitAnsiString(77acf5a8,005d25a4 "Desktop") ret=779ba1e6
0009:Ret  ntdll.RtlInitAnsiString() retval=00000000 ret=779ba1e6
0009:Call ntdll.RtlAnsiStringToUnicodeString(77e85bf8,77acf5a8,00000000) 
ret=779ba20e
0009:Ret  ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=779ba20e
0009:Call 
ntdll.NtQueryValueKey(0000007c,77e85bf8,00000002,77acf5b0,00000100,77acf5a4) 
ret=779ba257
0009:Ret  ntdll.NtQueryValueKey() retval=00000000 ret=779ba257
0009:Call ntdll.RtlUnicodeToMultiByteSize(77acf5a0,77acf5bc,00000042) 
ret=779ba373
0009:Ret  ntdll.RtlUnicodeToMultiByteSize() retval=00000000 ret=779ba373
0009:Call 
ntdll.RtlUnicodeToMultiByteN(0065b630,00000021,00000000,77acf5bc,00000042) 
ret=779ba3c9
0009:Ret  ntdll.RtlUnicodeToMultiByteN() retval=00000000 ret=779ba3c9
0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=779ba2a3
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000000 ret=779ba2a3
0009:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=004f7d16
0009:Call advapi32.RegCloseKey(0000007c) ret=004f7d1f
0009:Call ntdll.NtClose(0000007c) ret=779b9529
0009:Ret  ntdll.NtClose() retval=00000000 ret=779b9529
0009:Call ntdll.RtlNtStatusToDosError(00000000) ret=779b9534
0009:Ret  ntdll.RtlNtStatusToDosError() retval=00000000 ret=779b9534
0009:Ret  advapi32.RegCloseKey() retval=00000000 ret=004f7d1f
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 ret=0050a2fa
0009:Call kernel32.CreateFileA(0065b630 
"c:\\windows\\profiles\\rmay\\Desktop\\CxDebugLog.txt",40000000,00000000,00000000,00000004,00000080,00000000) 
ret=004f7d77
0009:Call ntdll.RtlInitAnsiString(77acf67c,0065b630 
"c:\\windows\\profiles\\rmay\\Desktop\\CxDebugLog.txt") ret=77b3ead1
0009:Ret  ntdll.RtlInitAnsiString() retval=00000000 ret=77b3ead1
0009:Call ntdll.RtlAnsiStringToUnicodeString(77e85bf8,77acf67c,00000000) 
ret=77b3eb63
0009:Ret  ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=77b3eb63
0009:Call ntdll.RtlIsDosDeviceName_U(77e85c00 
L"c:\\windows\\profiles\\rmay\\Desktop\\CxDebugLog.txt") ret=77b40a0b
0009:Ret  ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=77b40a0b
0009:Call ntdll.RtlDosPathNameToNtPathName_U(77e85c00 
L"c:\\windows\\profiles\\rmay\\Desktop\\CxDebugLog.txt",77acf65c,00000000,00000000) 
ret=77b40761
0009:Ret  ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=77b40761
0009:Call 
ntdll.NtCreateFile(77acf650,40000000,77acf664,77acf654,00000000,00000080,00000000,00000003,00000050,00000000,00000000) 
ret=77b40858
0009:Ret  ntdll.NtCreateFile() retval=00000000 ret=77b40858
0009:Call ntdll.RtlFreeUnicodeString(77acf65c) ret=77b408a3
0009:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=77b408a3
0009:Ret  kernel32.CreateFileA() retval=0000007c ret=004f7d77
0009:Call kernel32.SetFilePointer(0000007c,00000000,00000000,00000002) 
ret=004f7d8f
0009:Call 
ntdll.wine_server_handle_to_fd(0000007c,00000000,77acf688,00000000) 
ret=77b3feba
0009:Ret  ntdll.wine_server_handle_to_fd() retval=00000000 ret=77b3feba
0009:Call ntdll.wine_server_release_fd(0000007c,00000013) ret=77b3ff16
0009:Ret  ntdll.wine_server_release_fd() retval=00000000 ret=77b3ff16
0009:Ret  kernel32.SetFilePointer() retval=0000010e ret=004f7d8f
0009:Call kernel32.lstrlenA(77acf7d8 "WinCxFile.cpp, line 413: 
CxGetLastError() = \"ERROR_INVALID_NAME:  The filename, directory name, 
or volume label syntax is incorrect.\"") ret=004f7d9c
0009:Ret  kernel32.lstrlenA() retval=00000085 ret=004f7d9c
0009:Call 
kernel32.WriteFile(0000007c,77acf7d8,00000085,77acf7d4,00000000) 
ret=004f7dc4
0009:Call 
ntdll.NtWriteFile(0000007c,00000000,00000000,00000000,77acf6ac,77acf7d8,00000085,00000000,00000000) 
ret=77b3f291
0009:Ret  ntdll.NtWriteFile() retval=00000000 ret=77b3f291
0009:Ret  kernel32.WriteFile() retval=00000001 ret=004f7dc4
0009:Call 
kernel32.WriteFile(0000007c,77acf7d2,00000002,77acf7d4,00000000) 
ret=004f7df9
0009:Call 
ntdll.NtWriteFile(0000007c,00000000,00000000,00000000,77acf6ac,77acf7d2,00000002,00000000,00000000) 
ret=77b3f291
0009:Ret  ntdll.NtWriteFile() retval=00000000 ret=77b3f291
0009:Ret  kernel32.WriteFile() retval=00000001 ret=004f7df9
0009:Call kernel32.CloseHandle(0000007c) ret=004f7e05
0009:Call ntdll.NtClose(0000007c) ret=77b6a242
0009:Ret  ntdll.NtClose() retval=00000000 ret=77b6a242
0009:Ret  kernel32.CloseHandle() retval=00000001 ret=004f7e05
0009:Call kernel32.ReleaseMutex(00000078) ret=004e1ccd
0009:Call ntdll.NtReleaseMutant(00000078,00000000) ret=77b79f03
0009:Ret  ntdll.NtReleaseMutant() retval=00000000 ret=77b79f03
0009:Ret  kernel32.ReleaseMutex() retval=00000001 ret=004e1ccd
0009:Call kernel32.CreateMutexA(00000000,00000000,00000000) ret=004e1bce
0009:Call ntdll.NtCreateMutant(77acf788,001f0001,77acf794,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=0000007c ret=004e1bce
0009:Call kernel32.WaitForSingleObject(0000007c,ffffffff) ret=004e1c5f
0009:Call 
ntdll.NtWaitForMultipleObjects(00000001,77acf894,00000000,00000000,00000000) 
ret=77b791a1
0009:Ret  ntdll.NtWaitForMultipleObjects() retval=00000000 ret=77b791a1
0009:Ret  kernel32.WaitForSingleObject() retval=00000000 ret=004e1c5f
0009:Call kernel32.ReleaseMutex(0000007c) ret=004e1ccd
0009:Call ntdll.NtReleaseMutant(0000007c,00000000) ret=77b79f03
0009:Ret  ntdll.NtReleaseMutant() retval=00000000 ret=77b79f03
0009:Ret  kernel32.ReleaseMutex() retval=00000001 ret=004e1ccd
0009:Call kernel32.WaitForSingleObject(0000007c,ffffffff) ret=004e1c5f
0009:Call 
ntdll.NtWaitForMultipleObjects(00000001,77acf898,00000000,00000000,00000000) 
ret=77b791a1
0009:Ret  ntdll.NtWaitForMultipleObjects() retval=00000000 ret=77b791a1
0009:Ret  kernel32.WaitForSingleObject() retval=00000000 ret=004e1c5f
0009:Call kernel32.ReleaseMutex(0000007c) ret=004e1ccd
0009:Call ntdll.NtReleaseMutant(0000007c,00000000) ret=77b79f03
0009:Ret  ntdll.NtReleaseMutant() retval=00000000 ret=77b79f03
0009:Ret  kernel32.ReleaseMutex() retval=00000001 ret=004e1ccd
0009:Call kernel32.GlobalAlloc(00000042,00000000) ret=00451f90
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b47726
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b47726
0009:Call ntdll.RtlAllocateHeap(77c00000,00000000,00000008) ret=77b475ef
0009:Ret  ntdll.RtlAllocateHeap() retval=77c5b418 ret=77b475ef
0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b4777b
0009:Ret  ntdll.RtlUnlockHeap() retval=00000001 ret=77b4777b
0009:Ret  kernel32.GlobalAlloc() retval=77c5b41a ret=00451f90
0009:Call kernel32.GlobalLock(77c5b41a) ret=004525f6
0009:Call ntdll.RtlLockHeap(77c00000) ret=77b4785f
0009:Ret  ntdll.RtlLockHeap() retval=00000001 ret=77b4785f
0009:Call ntdll.RtlUnlockHeap(77c00000) ret=77b478dd
0009:Ret  ntdll.RtlUnlockHeap() retval=00000001 ret=77b478dd
0009:Ret  kernel32.GlobalLock() retval=00000000 ret=004525f6
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x418559
0009:trace:seh:EXC_RtlRaiseException  info[0]=00000000
0009:trace:seh:EXC_RtlRaiseException  info[1]=00000020
0009:trace:seh:EXC_RtlRaiseException  eax=0000001c ebx=77be7a08 
ecx=0000001c edx=00000000 esi=005bbbdc edi=004da570
0009:trace:seh:EXC_RtlRaiseException  ebp=77acfb2c esp=77acfb28 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=77c49108 ret=0050a2fa
0009:Call kernel32.TlsGetValue(00000002) ret=0050a2fa
0009:Ret  kernel32.TlsGetValue() retval=77c49108 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(77acf668,001f0003,77acf66c,00000001,00000000) 
ret=77b3def8
0009:Ret  ntdll.NtCreateEvent() retval=00000000 ret=77b3def8
wine: Unhandled exception (thread 0009), starting debugger...


And the output from the debugger:

WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0x00000020 in 32-bit 
code (0x00418559).
In 32 bit mode.
Register dump:
  CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
  EIP:00418559 ESP:77acfb28 EBP:77acfb2c EFLAGS:00010202(   - 00      - 
-RI1)
  EAX:0000001c EBX:77be7a08 ECX:0000001c EDX:00000000
  ESI:005bbbdc EDI:004da570
Stack dump:
0x77acfb28:  00000018 77acfb40 00457151 77acfb3c
0x77acfb38:  00000018 cccccccc 77acfb50 00457d5f
0x77acfb48:  77acfd08 00000000 77acfd50 00402e87
0x77acfb58:  77acfd08 cccccccc cccccccc cccccccc
0x77acfb68:  cccccccc cccccccc cccccccc cccccccc
0x77acfb78:  cccccccc cccccccc cccccccc cccccccc
Backtrace:
=>1 0x00418559 in weatherscope (+0x18559) (0x77acfb2c)
   2 0x00457151 in weatherscope (+0x57151) (0x77acfb40)
   3 0x00457d5f in weatherscope (+0x57d5f) (0x77acfb50)
   4 0x00402e87 in weatherscope (+0x2e87) (0x77acfd50)
   5 0x004012c6 in weatherscope (+0x12c6) (0x77acfd84)
   6 0x00437f51 in weatherscope (+0x37f51) (0x77acfdb4)
   7 0x004087df in weatherscope (+0x87df) (0x77acfe68)
   8 0x004da648 EntryPoint+0xd8 in weatherscope (0x77acff20)
   9 0x77b66907 in kernel32 (+0x56907) (0x77acfff4)
   10 0xb7fc1c9d wine_switch_to_stack+0x11 in libwine.so.1 (0x00000000)
0x00418559: pushl	0x4(%eax)
WineDbg terminated on pid 0x8


I can see two possible modes of failure above.  The first are the lines 
above with a CreateFileW that are passed a parameter of 
"\ffcc\ffcc\ffcc\ffcc".  I'm not sure why they look like they do so they 
just look suspicious.  However, the program does seem to continue on, so 
maybe not.

The second point is where the program tries to access the registry key:
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders". 
  It seems something goes wrong here since shortly after this the 
program writes out to it's own debug log an error message:
"WinCxFile.cpp, line 413: CxGetLastError() = \"ERROR_INVALID_NAME:  The 
filename, directory name, or volume label syntax is incorrect.\"

Would this seem to indicate that I need to get IE installed? Otherwise, 
any other ideas why this is failing?

Thanks,

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma




More information about the wine-users mailing list