I tried running the demo of Picasa from http://www.lifescapeinc.com/picasa/ under Wine-20040213 and Wine-20040505, but the installer just put up "Out of Memory" boxes :-( This progam uses some unusual installer app (it announces which one early on when you run it under Windows). Anyone seen this before? -- My technical stuff: http://kegel.com My politics: see http://www.misleader.org for examples of why I'm for regime change
On Sat, 22 May 2004 06:52:18 -0700, you wrote:
I tried running the demo of Picasa from http://www.lifescapeinc.com/picasa/ under Wine-20040213 and Wine-20040505, but the installer just put up "Out of Memory" boxes :-(
This progam uses some unusual installer app (it announces which one early on when you run it under Windows).
Anyone seen this before?
I do not get out of memory boxes. Here the program tries to open its own program file: |0009:Call kernel32.CreateFileA(4071f40c "K:\\PICASA-SETUP.EXE",40000000,00000000,00000000,00000004,00000080,00000000) ret=00401522 |0009:Call ntdll.RtlInitAnsiString(4071f2c0,4071f40c "K:\\PICASA-SETUP.EXE") ret=404f6baf |0009:Ret ntdll.RtlInitAnsiString() retval=00000014 ret=404f6baf |0009:Call ntdll.RtlAnsiStringToUnicodeString(4020dbf8,4071f2c0,00000000) ret=404f6c48 |0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=404f6c48 |0009:Call ntdll.RtlIsDosDeviceName_U(4020dc00 L"K:\\PICASA-SETUP.EXE") ret=404f8c48 |0009:Ret ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=404f8c48 |0009:Call ntdll.RtlDosPathNameToNtPathName_U(4020dc00 L"K:\\PICASA-SETUP.EXE",4071f2a0,00000000,00000000) ret=404f8998 |0009:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=404f8998 |0009:Call ntdll.NtCreateFile(4071f294,40000000,4071f2a8,4071f298,00000000,00000080,00000000,00000003,00000050,00000000,00000000) ret=404f8a83 |0009:Ret ntdll.NtCreateFile() retval=c0000043 ret=404f8a83 |0009:Call ntdll.RtlNtStatusToDosError(c0000043) ret=404f8aba |0009:Ret ntdll.RtlNtStatusToDosError() retval=00000020 ret=404f8aba |0009:Call ntdll.RtlFreeUnicodeString(4071f2a0) ret=404f8ace |0009:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=404f8ace |0009:Ret kernel32.CreateFileA() retval=ffffffff ret=00401522 Which fails because of the sharing violation. The program ignores it and tries to write something: |0009:Call kernel32.WriteFile(ffffffff,0041137c,003893c8,4071f520,00000000) ret=00401539 |0009:Call ntdll.NtWriteFile(ffffffff,00000000,00000000,00000000,4071f2f0,0041137c,003893c8,00000000,00000000) ret=404f73dc |0009:Ret ntdll.NtWriteFile() retval=c0000024 ret=404f73dc |0009:Call ntdll.RtlNtStatusToDosError(c0000024) ret=404f7408 |0009:Ret ntdll.RtlNtStatusToDosError() retval=00000006 ret=404f7408 |0009:Ret kernel32.WriteFile() retval=00000000 ret=00401539 fails of course on the invalid handle. |0009:Call kernel32.SetUnhandledExceptionFilter(00000000) ret=0040804c |0009:Ret kernel32.SetUnhandledExceptionFilter() retval=00407fe9 ret=0040804c |0009:Call kernel32.ExitProcess(00000000) ret=00405709 and now it gives up. Rein. -- Rein Klazes rklazes(a)xs4all.nl
On Sun, 23 May 2004 09:18:59 +0200, you wrote:
Anyone seen this before?
I do not get out of memory boxes. Here the program tries to open its own program file:
Stupid program, it first copies itself to the %TEMP% directory. I happened to run it from there already. Changed dir and I see the memory boxes now. Rein. -- Rein Klazes rklazes(a)xs4all.nl
On Sunday 23 May 2004 10:07, Rein Klazes wrote:
I do not get out of memory boxes. Here the program tries to open its own program file:
Stupid program, it first copies itself to the %TEMP% directory. I happened to run it from there already.
Then it extracts another executable into %TEMP%, sp7zFh5.exe, and runs that. This one has a parameter /SILENT that will show a more interesting error message: [wine-cvs]$ ./wine ~/.wine/fake_windows/Windows/Temp/sp7zFh5.exe /SILENT err:seh:setup_exception stack overflow 0 bytes in thread 0009 eip 551ae506 esp 55761000 stack 0x55760000-0x55860000 Overflow by 0 bytes? 16MB of stack not enough? Certainly looks interesting... -Hans
On Tue, 25 May 2004 12:59:42 +0200, you wrote:
[wine-cvs]$ ./wine ~/.wine/fake_windows/Windows/Temp/sp7zFh5.exe /SILENT err:seh:setup_exception stack overflow 0 bytes in thread 0009 eip 551ae506 esp 55761000 stack 0x55760000-0x55860000
Overflow by 0 bytes? 16MB of stack not enough? Certainly looks interesting...
I have seen this after an endless recursive call (MENU_FindItem called with a menu that finds its hmenu as a submenu). It would be nice if the debugger could trap this. If the function does not contain TRACE's it is quite difficult to find the offending function. Especially when debugging remotely. Rein. -- Rein Klazes rklazes(a)xs4all.nl
On Sat, 22 May 2004 06:52:18 -0700, Dan Kegel wrote:
I tried running the demo of Picasa from http://www.lifescapeinc.com/picasa/ under Wine-20040213 and Wine-20040505, but the installer just put up "Out of Memory" boxes :-(
This progam uses some unusual installer app (it announces which one early on when you run it under Windows).
Anyone seen this before?
I was going to take a look at this but it turns out my Wine CVS install is busted, for some reason it's not loading user32.dll correctly :( 21:38:07 ~ :( regedit fixme:seh:EXC_RtlRaiseException call to unimplemented function user32.dll.LoadStringA wine: Unhandled exception (thread 0009), starting debugger... err:win:GetDesktopWindow Wine init error: either you're trying to use an invalid native USER.EXE config, or some graphics/GUI libraries or DLLs didn't initialize properly. Aborting. But anyway. From the logs you may want to try hacking in support for CSIDL_PROGRAMS to SHGetSpecialFolderLocation(), "C:\Windows\Start Menu" is fine to test with. If that fixes it you need to write the proper fix of course ... thanks -mike
Dan Kegel wrote:
I tried running the demo of Picasa from http://www.lifescapeinc.com/picasa/ under Wine-20040213 and Wine-20040505, but the installer just put up "Out of Memory" boxes :-(
Mike H. suggested hacking in CSIDL_PROGRAMS to see if that got us further, so: --- wine-20040505.old/dlls/shell32/shellpath.c Wed Apr 7 12:45:48 2004 +++ wine-20040505/dlls/shell32/shellpath.c Sun May 23 21:52:44 2004 @@ -732,9 +732,9 @@ NULL, }, { /* CSIDL_PROGRAMS */ - 0, HKEY_DISALLOWED, - NULL, + 0, HKEY_WINDOWSPATH, NULL, + "Start Menu\\Programs", }, { /* CSIDL_CONTROLS (.CPL files) */ 10, HKLM, And sure enough, it gets further. Now it seems to fail with the same error box that the Astrum installer demo http://www.thraexsoftware.com/download/aiw.exe fails with. My WINEDEBUG-fu is no match for this. I can never keep all those damn channels and modes and plusses and dashes straight. I'll just go back to hacking on crosstool until Mike has another clever hint :-) - Dan -- My technical stuff: http://kegel.com My politics: see http://www.misleader.org for examples of why I'm for regime change
Dan Kegel wrote:
Mike H. suggested hacking in CSIDL_PROGRAMS to see if that got us further, so: And sure enough, it gets further. Now it seems to fail with the same error box that the Astrum installer demo fails with.
I'm an idiot, I ran the wrong thing. Scratch that, let me really try it... -- My technical stuff: http://kegel.com My politics: see http://www.misleader.org for examples of why I'm for regime change
Dan Kegel wrote:
Dan Kegel wrote:
I tried running the demo of Picasa from http://www.lifescapeinc.com/picasa/ under Wine-20040213 and Wine-20040505, but the installer just put up "Out of Memory" boxes :-(
Mike H. suggested hacking in CSIDL_PROGRAMS to see if that got us further.
While looking at this, I realized there's an uninitialized variable problem (how come the compiler doesn't catch this?). This patch both fixes that and hacks in the value, I think: --- wine-20040505.old/dlls/shell32/shellpath.c Wed Apr 7 12:45:48 2004 +++ wine-20040505/dlls/shell32/shellpath.c Sun May 23 22:22:16 2004 @@ -732,9 +732,9 @@ NULL, }, { /* CSIDL_PROGRAMS */ - 0, HKEY_DISALLOWED, - NULL, + 0, HKEY_WINDOWSPATH, NULL, + "Start Menu\\Programs", /* FIXME */ }, { /* CSIDL_CONTROLS (.CPL files) */ 10, HKLM, @@ -1073,6 +1073,8 @@ if (CSIDL_Data[folder].hRootKey == HKEY_NONEXISTENT) return S_FALSE; + MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szDefaultPath, -1, szDefaultPath, MAX_PATH); + /* Special case for some values that don't exist in registry */ if (CSIDL_Data[folder].hRootKey == HKEY_WINDOWSPATH) { @@ -1085,7 +1087,6 @@ dwCsidlFlags = CSIDL_Data[folder].dwFlags; hRootKey = CSIDL_Data[folder].hRootKey; MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szValueName, -1, szValueName, MAX_PATH); - MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szDefaultPath, -1, szDefaultPath, MAX_PATH); if (dwCsidlFlags & CSIDL_MYFLAG_SHFOLDER) { Doesn't help the picasa app noticably, though. - Dan -- My technical stuff: http://kegel.com My politics: see http://www.misleader.org for examples of why I'm for regime change
participants (4)
-
Dan Kegel -
Hans Leidekker -
Mike Hearn -
Rein Klazes