Here's a log of wine-20050830 crashing while running the setup.exe in the directory created by unpacking http://openoffice.mirrors.pair.com/ftp/stable/2.0beta2/OOo_2.0beta2_Win32Int... (This is on FC3, with wine-20050830 compiled from source tarball, with Mike's patch to fix the ACTION_VerifyComponentForAction crash.) ... fixme:msi:ACTION_HandleStandardAction UNHANDLED Standard Action L"StartServices" fixme:msi:ACTION_RegisterProduct Flesh out more information fixme:msi:ACTION_RegisterProduct Write real Estimated Size when we have it fixme:msi:ACTION_HandleStandardAction UNHANDLED Standard Action L"MsiPublishAssemblies" fixme:msi:ACTION_PublishProduct Need to write more keys to the user registry wine: Unhandled exception (thread 000b), starting debugger... WineDbg starting on pid 0xa Unhandled exception: page fault on read access to 0x62840730 in 32-bit code (0x7bbb0953). In 32 bit mode. Register dump: CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033 EIP:7bbb0953 ESP:7b92f2f8 EBP:7b92f304 EFLAGS:00010246( - 00 -RIZP1) EAX:00000000 EBX:7bbf75dc ECX:ffffffff EDX:00000000 ESI:ffffffff EDI:62840730 Stack dump: 0x7b92f2f8: 7b5b32a8 7b92f388 62840730 7b92f36c 0x7b92f308: 7b58b3a8 00000000 00000000 62840730 0x7b92f318: ffffffff 00000000 00000000 7bed88d6 0x7b92f328: 00000005 7bef1e18 7b92f6e8 7b92f37c 0x7b92f338: 7b92f408 7bed8a13 00000002 7b92f37c 0x7b92f348: 00000000 002d0043 7b58a73f 7b5b32a8 Backtrace: =>1 0x7bbb0953 MultiByteToWideChar+0x16f(page=0x0, flags=0x0, src=0x62840730, srclen=0xffffffff, dst=0x0, dstlen=0x0) [/home/dank/wine-20050830/dlls/kernel/locale.c:1527] in kernel32 (0x7b92f304) 2 0x7b58b3a8 WINPROC_MapMsg32ATo32W+0x270(hwnd=0x30024, msg=0x1a, pwparam=0x7b92f388, plparam=0x7b92f38c) [/home/dank/wine-20050830/dlls/user/winproc.c:668] in user32 (0x7b92f36c) 3 0x7b58f4e4 CallWindowProcA+0xa0(func=0x7b5e9226, hwnd=0x30024, msg=0x1a, wParam=0x2a, lParam=0x62840730) [/home/dank/wine-20050830/dlls/user/winproc.c:2952] in user32 (0x7b92f39c) 4 0x7b564d5c call_window_proc+0xd0(wparam=0x2a, lparam=0x62840730, unicode=0x0, same_thread=0x0) [/home/dank/wine-20050830/dlls/user/message.c:1520] in user32 (0x7b92f3fc) 5 0x7b56539b peek_message+0x26f(first=0x0, last=0xffffffff, flags=0x1) [/home/dank/wine-20050830/dlls/user/message.c:2053] in user32 (0x7b92f794) 6 0x7b5693de PeekMessageW(msg_out=0x7b92f7fc, hwnd=0x0, first=0x0, last=0x0, flags=0x1) [/home/dank/wine-20050830/dlls/user/message.c:2694] in user32 (0x7b92f7e0) 7 0x7b7f9812 msi_process_pending_messages+0x2a [/home/dank/wine-20050830/dlls/msi/dialog.c:1807] in msi (0x7b92f828) 8 0x7b7f990b msi_dialog_check_messages+0x4b(handle=0x0) [/home/dank/wine-20050830/dlls/msi/dialog.c:1835] in msi (0x7b92f838) 9 0x7b7e79fd ITERATE_Actions(row=0x7a77c6c0, param=0x7b92f898) [/home/dank/wine-20050830/dlls/msi/action.c:683] in msi (0x7b92f850) 10 0x7b806998 MSI_IterateRecords(view=0x7a77c730, count=0x0, func=0x7b7e7998, param=0x7b92f898) [/home/dank/wine-20050830/dlls/msi/msiquery.c:220] in msi (0x7b92f878) 11 0x7b7e7486 ACTION_ProcessExecSequence+0xc6 [/home/dank/wine-20050830/dlls/msi/action.c:744] in msi (0x7b92f8ac) 12 0x7b7ede17 ACTION_ExecuteAction(package=0x7bcc44a8) [/home/dank/wine-20050830/dlls/msi/action.c:3783] in msi (0x7b92f8dc) 13 0x7b7e772d ACTION_HandleStandardAction(rc=0x7b92f920, force=0x1) [/home/dank/wine-20050830/dlls/msi/action.c:817] in msi (0x7b92f90c) 14 0x7b7e78e5 ACTION_PerformUIAction+0x3d(package=0x7bcc44a8, action=0x7bd26018) [/home/dank/wine-20050830/dlls/msi/action.c:887] in msi (0x7b92f930) 15 0x7b7e79f2 ITERATE_Actions(row=0x7bd23690, param=0x7b92f9bc) [/home/dank/wine-20050830/dlls/msi/action.c:677] in msi (0x7b92f94c) 16 0x7b806998 MSI_IterateRecords+0x70(view=0x7bd22d68, count=0x0, func=0x7b7e7998, param=0x7b92f9bc) [/home/dank/wine-20050830/dlls/msi/msiquery.c:220] in msi (0x7b92f974) 17 0x7b7e8035 ACTION_DoTopLevelINSTALL+0x41d(package=0x7bcc44a8, szPackagePath=0x7bcc3c3e, szCommandLine=0x0, msiFilePath=0x7b92fa1c) [/home/dank/wine-20050830/dlls/msi/action.c:773] in msi (0x7b92f9f4) 18 0x7b8043b0 MsiInstallProductW+0x138(szPackagePath=0x7bcc3c3e, szCommandLine=0x0) [/home/dank/wine-20050830/dlls/msi/msi.c:233] in msi (0x7b92fe48) 19 0x7b94cbc4 main(argc=0x3, argv=0x7bc604f8) [/home/dank/wine-20050830/programs/msiexec/msiexec.c:298] in msiexec (0x7b92ff10) 20 0x7b94d785 __wine_spec_exe_entry(peb=0x7beff8c0) [/home/dank/wine-20050830/dlls/winecrt0/exe_entry.c:34] in msiexec (0x7b92ff2c) 21 0x7bbbf827 start_process+0xc3(arg=0x0) [/home/dank/wine-20050830/dlls/kernel/process.c:995] in kernel32 (0x7b92fff4) 22 0xf6fde6a1 wine_switch_to_stack+0x11 in libwine.so.1 (0x00000000) 0x7bbb0953 MultiByteToWideChar+0x16f [/home/dank/wine-20050830/dlls/kernel/locale.c:1527] in kernel32: repne scasb %es:(%edi) 1527 if (srclen < 0) srclen = strlen(src) + 1;
Dan Kegel wrote:
Here's a log of wine-20050830 crashing while running the setup.exe in the directory created by unpacking http://openoffice.mirrors.pair.com/ftp/stable/2.0beta2/OOo_2.0beta2_Win32Int...
The attached patch (hack) should fix the problem. We load a dll in a thread (in an MSI custom action), and that dll does a SendMessageTimeout(HWND_BROADCAST, WM_WININICHANGE, .., &ptr, ...), then exits, and our thread unloads the dll.
user32.SendMessageTimeoutA(0000ffff,0000001a,0000002a,62840730,00000002,00000000,00000000) ret=6282b827
By the time our GUI receives the broadcast message, the pointer in the message is invalid, and the message marshalling code accesses it and crashes.
So we need to figure out whether we need to delay unloading of the dll until we have a chance to process all the messages or whether the message marshalling code needs to be fixed.
Mike
wine: Unhandled exception (thread 000b), starting debugger... WineDbg starting on pid 0xa Unhandled exception: page fault on read access to 0x62840730 in 32-bit code (0x7bbb0953).
<snip>
=>1 0x7bbb0953 MultiByteToWideChar+0x16f(page=0x0, flags=0x0, src=0x62840730, srclen=0xffffffff, dst=0x0, dstlen=0x0) [/home/dank/wine-20050830/dlls/kernel/locale.c:1527] in kernel32 (0x7b92f304) 2 0x7b58b3a8 WINPROC_MapMsg32ATo32W+0x270(hwnd=0x30024, msg=0x1a, pwparam=0x7b92f388, plparam=0x7b92f38c) [/home/dank/wine-20050830/dlls/user/winproc.c:668] in user32 (0x7b92f36c) 3 0x7b58f4e4 CallWindowProcA+0xa0(func=0x7b5e9226, hwnd=0x30024, msg=0x1a, wParam=0x2a, lParam=0x62840730) [/home/dank/wine-20050830/dlls/user/winproc.c:2952] in user32 (0x7b92f39c) 4 0x7b564d5c call_window_proc+0xd0(wparam=0x2a, lparam=0x62840730, unicode=0x0, same_thread=0x0) [/home/dank/wine-20050830/dlls/user/message.c:1520] in user32 (0x7b92f3fc) 5 0x7b56539b peek_message+0x26f(first=0x0, last=0xffffffff, flags=0x1) [/home/dank/wine-20050830/dlls/user/message.c:2053] in user32 (0x7b92f794) 6 0x7b5693de PeekMessageW(msg_out=0x7b92f7fc, hwnd=0x0, first=0x0, last=0x0, flags=0x1) [/home/dank/wine-20050830/dlls/user/message.c:2694] in user32 (0x7b92f7e0) 7 0x7b7f9812 msi_process_pending_messages+0x2a [/home/dank/wine-20050830/dlls/msi/dialog.c:1807] in msi (0x7b92f828)
Mike McCormack wrote:
Here's a log of wine-20050830 crashing while running the setup.exe in the directory created by unpacking http://openoffice.mirrors.pair.com/ftp/stable/2.0beta2/OOo_2.0beta2_Win32Int...
The attached patch (hack) should fix the problem. We load a dll in a thread (in an MSI custom action), and that dll does a SendMessageTimeout(HWND_BROADCAST, WM_WININICHANGE, .., &ptr, ...), then exits, and our thread unloads the dll.
user32.SendMessageTimeoutA(0000ffff,0000001a,0000002a,62840730,00000002,00000000,00000000) ret=6282b827
By the time our GUI receives the broadcast message, the pointer in the message is invalid, and the message marshalling code accesses it and crashes.
So we need to figure out whether we need to delay unloading of the dll until we have a chance to process all the messages or whether the message marshalling code needs to be fixed.
That let it complete the install! Thanks, Mike!
Now the app comes up ok, but is unusable. I'll post about that problem separately.