[Bug 35230] New: Macromedia Freehand 9 demo: invalid path for file association default icon causes stack overflow in winemenubuilder

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Dec 25 15:18:57 CST 2013


http://bugs.winehq.org/show_bug.cgi?id=35230

            Bug ID: 35230
           Summary: Macromedia Freehand 9 demo: invalid path for file
                    association default icon causes stack overflow in
                    winemenubuilder
           Product: Wine
           Version: 1.7.9
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: programs
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
    Classification: Unclassified

Hello folks,

split off from bug 35229 

The 'Unhandled stack overflow' terminal message has nothing to do with the
actual 'hang' of application.

It seems an invalid path for '.mch' (MacromediaXtraCacheFile) file association
default icon causes a recursion in winemenubuilder.

--- snip ---
...
000b:Call KERNEL32.CreateProcessW(00000000,00116740
L"C:\\windows\\system32\\winemenubuilder.exe -a
-r",00000000,00000000,00000000,00000000,00000000,00000000,0033f988,0033f978)
ret=7edb7f74
...
000d:Call KERNEL32.__wine_kernel_init() ret=7bc5a036
000b:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=7edb7f74 
...
000d:trace:menubuilder:extract_icon path=[L"C:\\Program Files\\Common
Files\\Macromedia\\Xtras\\Xtraicon.x32"] index=1
destFilename=["application-x-wine-extension-mch"]
000d:Call KERNEL32.LoadLibraryExW(00135c80 L"C:\\Program Files\\Common
Files\\Macromedia\\Xtras\\Xtraicon.x32",00000000,00000002) ret=7edb6790
000d:Ret  KERNEL32.LoadLibraryExW() retval=00000000 ret=7edb6790
000d:warn:menubuilder:open_module_icon LoadLibraryExW (L"C:\\Program
Files\\Common Files\\Macromedia\\Xtras\\Xtraicon.x32") failed, error 126
000d:Call shlwapi.AssocQueryStringW(00000000,0000000f,00135cee
L".x32",00000000,00000000,0033f9fc) ret=7edb995c
000d:Call
shell32.SHCoCreateInstance(00000000,0033f920,00000000,7e65443c,0033f950)
ret=7e618ec1 
...
000d:Ret  shlwapi.AssocQueryStringW() retval=00000000 ret=7edb99d0
000d:Call KERNEL32.LoadLibraryExW(0015bd28 L"C:\\Program Files\\Common
Files\\Macromedia\\Xtras\\Xtraicon.x32",00000000,00000002) ret=7edb6790
000d:Ret  KERNEL32.LoadLibraryExW() retval=00000000 ret=7edb6790
000d:warn:menubuilder:open_module_icon LoadLibraryExW (L"C:\\Program
Files\\Common Files\\Macromedia\\Xtras\\Xtraicon.x32") failed, error 126
000d:Call shlwapi.AssocQueryStringW(00000000,0000000f,0015bd96
L".x32",00000000,00000000,0033f96c) ret=7edb995c 
...
000d:Ret  shlwapi.AssocQueryStringW() retval=00000000 ret=7edb99d0
000d:Call KERNEL32.LoadLibraryExW(0015be38 L"C:\\Program Files\\Common
Files\\Macromedia\\Xtras\\Xtraicon.x32",00000000,00000002) ret=7edb6790
000d:Ret  KERNEL32.LoadLibraryExW() retval=00000000 ret=7edb6790
000d:warn:menubuilder:open_module_icon LoadLibraryExW (L"C:\\Program
Files\\Common Files\\Macromedia\\Xtras\\Xtraicon.x32") failed, error 126
000d:Call shlwapi.AssocQueryStringW(00000000,0000000f,0015bea6
L".x32",00000000,00000000,0033f8dc) ret=7edb995c
000d:Call
shell32.SHCoCreateInstance(00000000,0033f800,00000000,7e65443c,0033f830)
ret=7e618ec1 
...
<recursion, eating up stack>
000d:Call KERNEL32.LoadLibraryExW(0036abe8 L"C:\\Program Files\\Common
Files\\Macromedia\\Xtras\\Xtraicon.x32",00000000,00000002) ret=7edb6790
000d:trace:seh:raise_exception code=c00000fd flags=0 addr=0xf741794a
ip=f741794a tid=000d
000d:trace:seh:raise_exception  eax=f755c420 ebx=f755c000 ecx=00000001
edx=00000066 esi=f755c420 edi=7d03c3cd
000d:trace:seh:raise_exception  ebp=f7773588 esp=00241fe0 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010202
000d:trace:seh:call_stack_handlers calling handler at 0x7bc9e187 code=c00000fd
flags=0
000d:Call KERNEL32.UnhandledExceptionFilter(00241ab4) ret=7bc9e1c1
wine: Unhandled stack overflow at address 0xf741794a (thread 000d), starting
debugger...
000d:err:seh:setup_exception_record stack overflow 816 bytes in thread 000d eip
f741303d esp 00241000 stack 0x240000-0x241000-0x340000 
--- snip ---

The invalid path might be some app/installer (not Wine) bug and winemenubuilder
should cope with this.

You can work around by resetting default values for affected assocs:

--- snip ---
$ wine reg add "HKCR\\MacromediaXtra32\\DefaultIcon" /t REG_SZ /d "" /f 
$ wine reg add "HKCR\\MacromediaXtraCacheFile\\DefaultIcon" /t REG_SZ /d "" /f 
--- snip ---

Source:
http://source.winehq.org/git/wine.git/blob/a0b8d304b76c61b7edd539a84db509f081206904:/programs/winemenubuilder/winemenubuilder.c#l1051

(wait is false, HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND))

--- snip ---
1051 static HRESULT open_icon(LPCWSTR filename, int index, BOOL bWait, IStream
**ppStream)
1052 {
1053     HRESULT hr;
1054
1055     hr = open_module_icon(filename, index, ppStream);
1056     if (FAILED(hr))
1057     {
...
1071     }
1072     if (FAILED(hr))
1073         hr = open_file_type_icon(filename, ppStream);
1074     if (FAILED(hr) && !bWait)
1075         hr = open_default_icon(ppStream);
1076     return hr;
1077 }
--- snip ---

open_icon -> open_file_type_icon -> open_icon ... you get the idea ;-)

$ sha1sum freehand9-trial.exe 
a502e0d2e4590e118ea0215e947f16913a57b938  freehand9-trial.exe

$ du -sh freehand9-trial.exe 
14M    freehand9-trial.exe

$ wine --version
wine-1.7.9-158-g33fa552

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list