https://bugs.winehq.org/show_bug.cgi?id=39637
Bug ID: 39637 Summary: Samsung TV SDK 3.5.2 (MFC MDI app) crashes on startup Product: Wine Version: 1.8-rc1 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
encountered during investigation of bug 32414
The installer provides the following prerequisites:
* MS .NET Framework 2.0 (will be installed if Wine-Mono not present) * Microsoft Visual C++ 2010 x86 Redistributable (optional)
Part of main install:
* Apache HTTP server 2.0 (optional, make sure to select non-port 80 config option)
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Samsung/Samsung TV SDK(3.5.2)/Bin
$ WINEDEBUG=+tid,+seh,+relay,+win,+msg,+actctx,+server wine ./Samsung\ TV\ SDK.exe >>log.txt 2>&1 ... 0009:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x400000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\Samsung TV SDK.exe" ... 0009:warn:actctx:parse_assembly_identity_elem Unsupported yet language attribute (L"*") 0009:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:parse_dependent_assembly_elem adding name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:lookup_assembly looking for name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:get_manifest_in_manifest_file loading manifest file L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" ... 0009:trace:actctx:parse_manifest parsing manifest loaded from L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" base dir L"x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef" ... 0009:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.2600.2982 arch=L"x86" ... 0009:trace:actctx:parse_file_elem name=L"comctl32.dll" ... 0009:trace:actctx:RtlActivateActivationContext 0x116448 cookie=115e98 ... 0009:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"mfc100u.dll" 0xff9012d8 ... 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=78720974 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0002 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 2 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=78720974 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=78720992 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0003 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 3 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=78720992 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=787209b4 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 1 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=787209b4 ... 0009:Call KERNEL32.ActivateActCtx(00171e80,0033e5a4) ret=78664d19 0009:trace:actctx:RtlActivateActivationContext 0x171e80 cookie=19f130 0009:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78664d19 0009:Call user32.GetClassInfoW(00400000,785f926c L"MFCButton",0033e5ec) ret=78664d36 0009:Ret user32.GetClassInfoW() retval=00000000 ret=78664d36 0009:Call KERNEL32.GetLastError() ret=78664d62 0009:Ret KERNEL32.GetLastError() retval=00000583 ret=78664d62 0009:Call KERNEL32.DeactivateActCtx(00000000,0019f130) ret=78664d73 0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=19f130 0009:Ret KERNEL32.DeactivateActCtx() retval=00000001 ret=78664d73 0009:Call KERNEL32.ActivateActCtx(00171e80,0033e5ac) ret=78830030 0009:trace:actctx:RtlActivateActivationContext 0x171e80 cookie=19f130 0009:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78830030 0009:Call user32.RegisterClassW(0033e638) ret=78830047 0009: create_class( local=1, atom=0000, style=0000008b, instance=00400000, extra=0, win_extra=12, client_ptr=00dabd48, name=L"MFCButton" ) 0009: create_class() = 0 { atom=c097 } 0009:trace:win:alloc_winproc reusing 0xffff0000 for 0x7ebfcbf8 0009:Ret user32.RegisterClassW() retval=0000c097 ret=78830047 0009:Call KERNEL32.DeactivateActCtx(00000000,0019f130) ret=78830089 0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=19f130 0009:Ret KERNEL32.DeactivateActCtx() retval=00000001 ret=78830089 ... 0009:trace:win:WIN_CreateWindowEx L"Add" L"MfcButton" ex=00000004 style=50010000 311,0 75x21 parent=0x1010a menu=0x413 inst=0x770000 params=(nil) 0009:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_TABSTOP 0009:trace:win:dump_window_styles exstyle: WS_EX_NOPARENTNOTIFY 0009: create_window( parent=0001010a, owner=00000000, atom=0000, instance=00770000, class=L"MfcButton" ) 0009: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000, owner=00000000, extra=0, class_ptr=00000000 } 0009:warn:win:create_window_handle error 6 creating window 0009:trace:win:DestroyWindow (0x1010a) ... 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x669aee ip=00669aee tid=0009 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00505d55 0009:trace:seh:raise_exception eax=00505d55 ebx=00000000 ecx=00669ae8 edx=00669ae8 esi=00669ae8 edi=00600fe0 0009:trace:seh:raise_exception ebp=00669ae8 esp=0033fb38 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 0015:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0033f738,ffffffff,000004ff,00000000) ret=7ebb7ef8 0009:trace:seh:call_stack_handlers calling handler at 0x55255f code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x55255f returned 1 0009:trace:seh:call_stack_handlers calling handler at 0x536669 code=c0000005 flags=0 ... Unhandled exception: page fault on write access to 0x00505d55 in 32-bit code (0x00669aee). ... Backtrace: =>0 0x00669aee (0x00669ae8) 1 0x00660128 (0x00759503) Modules: Module Address Debug info Name (97 modules) PE 340000- 357000 Deferred nicharacter PE 400000- 653000 Deferred samsung tv sdk PE 770000- 89c000 Deferred samsungtvsdkresenu PE 8a0000- 959000 Deferred sourceeditor PE 1120000- 1174000 Deferred emulatoripc PE 10000000-10086000 Deferred niparser PE 5d360000-5d36d000 Deferred mfc100enu PE 63000000-6303c000 Deferred namoxml PE 785f0000-78a22000 Deferred mfc100u ELF 7b800000-7ba73000 Deferred kernel32<elf> -PE 7b820000-7ba73000 \ kernel32 ELF 7bc00000-7bd07000 Deferred ntdll<elf> -PE 7bc30000-7bd07000 \ ntdll ... Threads: process tid prio (all id:s are in hex) ... 00000008 (D) C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\Samsung TV SDK.exe 0000002d 0 0000002c 0 00000009 0 <== --- snip ---
The failing part:
--- snip --- Wine-dbg>bt
Backtrace: =>0 0x7ebf63c8 create_window_handle+0xed(parent=0x1010a, owner=(nil), name="MfcButton", instance=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:210] in user32 (0x0033e008) 1 0x7ebf9ca1 WIN_CreateWindowEx+0x6aa(cs=0x33e250, className="MfcButton", module=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:1448] in user32 (0x0033e238) 2 0x7ebfac2c CreateWindowExW+0x7d(exStyle=0x4, className="MfcButton", windowName="Add", style=0x50010000, x=0x137, y=0, width=0x4b, height=0x15, parent=0x1010a, menu=0x413, instance=0x770000, data=0x0(nil)) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:1750] in user32 (0x0033e288) 3 0x7eb8c47f DIALOG_CreateControls32+0x22b(hwnd=0x1010a, template="", dlgTemplate=0x33e5dc, hInst=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:276] in user32 (0x0033e378) 4 0x7eb8db8d DIALOG_CreateIndirect+0xc08(hInst=0x770000, dlgTemplate=0x8884f8, owner=0x10106, dlgProc=0x787cc257, param=0, unicode=0x1, modal=0) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:693] in user32 (0x0033e6b8) 5 0x7eb8dea4 CreateDialogIndirectParamAorW+0x45(hInst=0x770000, dlgTemplate=0x8884c4, owner=0x10106, dlgProc=0x787cc257, param=0, flags=0) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:763] in user32 (0x0033e6e8) 6 0x7eb8df37 CreateDialogIndirectParamW+0x40(hInst=<couldn't compute location>, dlgTemplate=<couldn't compute location>, owner=<couldn't compute location>, dlgProc=<couldn't compute location>, param=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:781] in user32 (0x0033e718) 7 0x787cc7dc in mfc100u (+0x1dc7db) (0x0033e798) 8 0x787cc65c in mfc100u (+0x1dc65b) (0x0033e7b4) 9 0x787cc608 in mfc100u (+0x1dc607) (0x0033e7d0) 10 0x787cc5bf in mfc100u (+0x1dc5be) (0x0033e7f4) 11 0x0041d952 in samsung tv sdk (+0x1d951) (0x0033e804) 12 0x00487ceb in samsung tv sdk (+0x87cea) (0x0033e870) ... --- snip ---
Earlier (see trace) 'MFCButton' class was registered as 'local' with 0x400000 instance and is now referenced using 0x770000 instance.
--- snip --- 0009: create_class( local=1, atom=0000, style=0000008b, instance=00400000, extra=0, win_extra=12, client_ptr=00dabd48, name=L"MFCButton" ) ... 0009: create_class() = 0 { atom=c097 } --- snip ---
vs.
--- snip --- 0009: create_window( parent=0001010a, owner=00000000, atom=0000, instance=00770000, class=L"MfcButton" ) ... 0009: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000, owner=00000000, extra=0, class_ptr=00000000 } 0009:warn:win:create_window_handle error 6 creating window --- snip ---
Wineserver behaviour seems correct here, it's more likely something went wrong earlier. Needs further investigation.
$ sha1sum [2012]Samsung_TV_SDK_Setup(3.5.2).zip 2697937103c00013cba6c3687dcc1d5295e9b32c [2012]Samsung_TV_SDK_Setup(3.5.2).zip
$ du -sh [2012]Samsung_TV_SDK_Setup(3.5.2).zip 286M [2012]Samsung_TV_SDK_Setup(3.5.2).zip
$ wine --version wine-1.8-rc1
Regards