Yes, it still crashes with your bstr patch. The first window comes up, and the the little window in the right hand corner comes up, and there's an image window that gets created but not drawn.
If it run it in winedbg, it crashes in TOOLBAR_testImageExist, toolbar.c:370, wih read access to 0x00000000. It seems to be using the native ole32.dll.
Here's the output...
084040a8:RET ole32.254: StringFromGUID2() retval = 00000027 ret=4084b325 084040a8:Call kernel32.lstrlenW(40555620 L"{00020430-0000-0000-C000-000000000046}") ret=4084b356 084040a8:Ret kernel32.lstrlenW() retval=00000026 ret=4084b356 084040a8:Call advapi32.RegSetValueExW(000000bc,00000000,00000000,00000001,40555620,0000004c) ret=4084b371 084040a8:Call kernel32.GetVersion() ret=40801d35 084040a8:Ret kernel32.GetVersion() retval=c0000004 ret=40801d35 084040a8:Call ntdll.RtlInitUnicodeString(40555448,00000000) ret=40801d9a 084040a8:Ret ntdll.RtlInitUnicodeString() retval=40555434 ret=40801d9a 084040a8:Call ntdll.NtSetValueKey(000000bc,40555448,00000000,00000001,40555620,0000004e) ret=40801dae 084040a8:Ret ntdll.NtSetValueKey() retval=00000000 ret=40801dae 084040a8:Call ntdll.RtlNtStatusToDosError(00000000) ret=40801db4 084040a8:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=40801db4 084040a8:Ret advapi32.RegSetValueExW() retval=00000000 ret=4084b371 084040a8:Call kernel32.lstrlenA(40555574 "1.0") ret=4084b377 084040a8:Ret kernel32.lstrlenA() retval=00000003 ret=4084b377 084040a8:Call advapi32.RegSetValueExA(000000bc,4085fd29 "Version",00000000,00000001,40555574,00000003) ret=4084b38f 084040a8:Call kernel32.GetVersion() ret=40801de1 084040a8:Ret kernel32.GetVersion() retval=c0000004 ret=40801de1 084040a8:Call ntdll.RtlMultiByteToUnicodeSize(4055544c,40555574 "1.0",00000004) ret=40801e61 084040a8:Ret ntdll.RtlMultiByteToUnicodeSize() retval=00000000 ret=40801e61 084040a8:Call ntdll.RtlAllocateHeap(40330000,00000000,00000008) ret=40801e74 084040a8:Ret ntdll.RtlAllocateHeap() retval=403885cc ret=40801e74 084040a8:Call ntdll.RtlMultiByteToUnicodeN(403885cc,00000008,00000000,40555574,00000004) ret=40801e9b 084040a8:Ret ntdll.RtlMultiByteToUnicodeN() retval=00000000 ret=40801e9b 084040a8:Call ntdll.RtlInitAnsiString(40555444,4085fd29 "Version") ret=40801eb3 084040a8:Ret ntdll.RtlInitAnsiString() retval=00000008 ret=40801eb3 084040a8:Call ntdll.RtlAnsiStringToUnicodeString(401018cc,40555444,00000000) ret=40801ec8 084040a8:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=40801ec8 084040a8:Call ntdll.NtSetValueKey(000000bc,401018cc,00000000,00000001,403885cc,00000008) ret=40801ee5 08073b88:Ret kernel32.WaitForSingleObject() retval=00000102 ret=004036a9 08073b88:Call user32.PeekMessageA(40556890,00000000,00000000,00000000,00000001) ret=004037da 08073b88:Call x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=40621def 08073b88:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102 ret=40621def 08073b88:Ret user32.PeekMessageA() retval=00000000 ret=004037da 08073b88:Call kernel32.WaitForSingleObject(00000044,00000064) ret=004036a9 084040a8:Ret ntdll.NtSetValueKey() retval=00000000 ret=40801ee5 084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,403885cc) ret=40801f01 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=40801f01 084040a8:Call ntdll.RtlNtStatusToDosError(00000000) ret=40801f07 084040a8:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=40801f07 084040a8:Ret advapi32.RegSetValueExA() retval=00000000 ret=4084b38f 084040a8:Call advapi32.RegCloseKey(000000bc) ret=4084b39a 084040a8:Call ntdll.NtClose(000000bc) ret=40801c3b 084040a8:Ret ntdll.NtClose() retval=00000000 ret=40801c3b 084040a8:Call ntdll.RtlNtStatusToDosError(00000000) ret=40801c41 084040a8:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=40801c41 084040a8:Ret advapi32.RegCloseKey() retval=00000000 ret=4084b39a 084040a8:Call advapi32.RegCloseKey(000000ac) ret=4084b3a8 084040a8:Call ntdll.NtClose(000000ac) ret=40801c3b 084040a8:Ret ntdll.NtClose() retval=00000000 ret=40801c3b 084040a8:Call ntdll.RtlNtStatusToDosError(00000000) ret=40801c41 084040a8:Ret ntdll.RtlNtStatusToDosError() retval=00000000 ret=40801c41 084040a8:Ret advapi32.RegCloseKey() retval=00000000 ret=4084b3a8 084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,4036859c) ret=40840a7b 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=40840a7b 084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,40368574) ret=408509e3 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=408509e3 084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,4036847c) ret=40840a7b 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=40840a7b 084040a8:Call kernel32.lstrlenW(403876b0 L"Release") ret=4084084e 084040a8:Ret kernel32.lstrlenW() retval=00000007 ret=4084084e 084040a8:Call ntdll.RtlAllocateHeap(40330000,00000000,00000014) ret=4084096b 084040a8:Ret ntdll.RtlAllocateHeap() retval=403885cc ret=4084096b 084040a8:Call kernel32.lstrlenW(403692ec L"IUnknown") ret=4084084e 084040a8:Ret kernel32.lstrlenW() retval=00000008 ret=4084084e 084040a8:Call ntdll.RtlAllocateHeap(40330000,00000000,00000016) ret=4084096b 084040a8:Ret ntdll.RtlAllocateHeap() retval=4036847c ret=4084096b trace:olerelay:xCall ->L"IUnknown":L"Release"(2)(084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,4036847c) ret=40840a7b 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=40840a7b 084040a8:Call ntdll.RtlFreeHeap(40330000,00000000,403885cc) ret=40840a7b 084040a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=40840a7b 084040a8:Call kernel32.lstrlenW(403876b0 L"Release") ret=4084084e 084040a8:Ret kernel32.lstrlenW() retval=00000007 ret=4084084e 084040a8:Call ntdll.RtlAllocateHeap(40330000,00000000,00000014) ret=4084096b 084040a8:Ret ntdll.RtlAllocateHeap() retval=403885cc ret=4084096b )wine: Unhandled exception, starting debugger... err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr 0x4027d1c7 08073b88:Ret kernel32.WaitForSingleObject() retval=00000000 ret=004036a9 08073b88:Call kernel32.CloseHandle(00000044) ret=004036bb
...
On Mon, May 06, 2002 at 03:08:46PM -0400, Michael Cardenas wrote:
Hmmm... strangely, when I try to install dreamweaver4, the installer crashes. I have stdole32.tlb (and an entire windows directory).
here's the output of +relay,+snoop, around the crash...
...
08d39318:Call ntdll.RtlAllocateHeap(40330000,00000000,00000014) ret=4084096b 08d39318:Ret ntdll.RtlAllocateHeap() retval=40368474 ret=4084096b wine: Unhandled exception, starting debugger...
Did this have my BSTR patch from yesterday applied? If yes, can you also add -debugmsg +olerelay?