Trying to launch any app, e.g. wine's notepad, by double-clicking on the .exe in 'winefile' crashes wine, like this:
0x42079c30 (NTDLL.DLL.strcpy+0x20): movzbl 0x0(%edx),%eax Wine-dbg>bt Backtrace: =>0 0x42079c30 (NTDLL.DLL.strcpy+0x20) (ebp=4072ed8c) 1 0x40778fd4 (SHELL32.DLL.FindExecutableW+0x7ec in SHELL32.DLL) (ebp=4072f840) 2 0x40779103 (SHELL32.DLL.ShellExecuteExA+0x1f in SHELL32.DLL) (ebp=4072f854) 3 0x40620515 (winefile.exe.EntryPoint+0x4515 in winefile.exe) (ebp=4072f9c4) 4 0x40620692 (winefile.exe.EntryPoint+0x4692 in winefile.exe) (ebp=4072f9f0) 5 0x40620a8c (winefile.exe.EntryPoint+0x4a8c in winefile.exe) (ebp=4072faa4) 6 0x408d0703 (USER32.DLL.EndDeferWindowPos+0x31b in USER32.DLL) (ebp=4072fac8) 7 0x408d0761 (USER32.DLL.EndDeferWindowPos+0x379 in USER32.DLL) (ebp=4072faf4) 8 0x408d4ff2 (USER32.DLL.EndDeferWindowPos+0x4c0a in USER32.DLL) (ebp=4072fb1c) 9 0x408d5645 (USER32.DLL.CallWindowProcW+0xf9 in USER32.DLL) (ebp=4072fb50) 10 0x408e50ab (USER32.DLL.IsCharAlphaW+0x2d57 in USER32.DLL) (ebp=4072fbac) 11 0x408e5e2d (USER32.DLL.SendMessageTimeoutW+0x135 in USER32.DLL) (ebp=4072fc10) 12 0x408e604d (USER32.DLL.SendMessageW+0x31 in USER32.DLL) (ebp=4072fc3c) 13 0x40895f32 (USER32.DLL.EditWndProc+0xaff6 in USER32.DLL) (ebp=4072fcd4) 14 0x40897359 (USER32.DLL.EditWndProc+0xc41d in USER32.DLL) (ebp=4072fcf8) 15 0x408d0703 (USER32.DLL.EndDeferWindowPos+0x31b in USER32.DLL) (ebp=4072fd1c) 16 0x408d0761 (USER32.DLL.EndDeferWindowPos+0x379 in USER32.DLL) (ebp=4072fd48) 17 0x408d5539 (USER32.DLL.CallWindowProcA+0xf9 in USER32.DLL) (ebp=4072fd7c) 18 0x40620d99 (winefile.exe.EntryPoint+0x4d99 in winefile.exe) (ebp=4072fda4) 19 0x408d0703 (USER32.DLL.EndDeferWindowPos+0x31b in USER32.DLL) (ebp=4072fdc8) 20 0x408d0761 (USER32.DLL.EndDeferWindowPos+0x379 in USER32.DLL) (ebp=4072fdf4) 21 0x408d5539 (USER32.DLL.CallWindowProcA+0xf9 in USER32.DLL) (ebp=4072fe28) 22 0x408b94a2 (USER32.DLL.DispatchMessageA+0x96 in USER32.DLL) (ebp=4072fe6c) 23 0x406214b9 (winefile.exe.EntryPoint+0x54b9 in winefile.exe) (ebp=4072fea4) 24 0x406214f1 (winefile.exe.EntryPoint+0x54f1 in winefile.exe) (ebp=4072febc) 25 0x4061c0a5 (winefile.exe.EntryPoint+0xa5 in winefile.exe) (ebp=4072ff2c) 26 0x4036b132 (KERNEL32.DLL.SetThreadExecutionState+0x16d6 in KERNEL32.DLL) (ebp=4072fff4) 27 0x4002df1d (_end+0x402c0f1) (ebp=00000000)
This is on an SMP RH9 system running wine 20031118 compiled from source. - Dan
On Wed, 2003-12-10 at 07:50, Dan Kegel wrote:
Trying to launch any app, e.g. wine's notepad, by double-clicking on the .exe in 'winefile' crashes wine, like this:
Strange. It works fine here. Really though we need this debugger breakage fixed, these debuginfo-less backtraces are a pain....
On Wednesday 10 December 2003 07:50, Dan Kegel wrote:
Trying to launch any app, e.g. wine's notepad, by double-clicking on the .exe in 'winefile' crashes wine, like this:
0x42079c30 (NTDLL.DLL.strcpy+0x20): movzbl 0x0(%edx),%eax Wine-dbg>bt Backtrace: =>0 0x42079c30 (NTDLL.DLL.strcpy+0x20) (ebp=4072ed8c) 1 0x40778fd4 (SHELL32.DLL.FindExecutableW+0x7ec in SHELL32.DLL) (ebp=4072f840) 2 0x40779103 (SHELL32.DLL.ShellExecuteExA+0x1f in SHELL32.DLL) (ebp=4072f854)
While fixing something else, I found loads of potential buffer overflows in ShellExecuteExA. I'm sorting 'em out. I don't know if this is your problem though; it should work fine as long as the command line to the app is quite small.
I was about to write to the list for the same problem. Winefile doesnt crash here, but hangs, trying to execute very strange file names which dont seem to have any relation to the original application or document.
However, File|Execute is still working. This can be a start to understand what is happening here.
--- Dan Kegel dank@kegel.com a écrit :
Trying to launch any app, e.g. wine's notepad, by double-clicking on the .exe in 'winefile' crashes wine, like this:
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259 Say NO to software patents Dites NON aux brevets logiciels
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
____________________________________________________________________________________ Do You Yahoo!? -- Avec Yahoo! soyez au coeur de la récolte de dons pour le Téléthon. http://fr.promotions.yahoo.com/caritatif/
Sylvain Petreolle wrote:
I was about to write to the list for the same problem. Winefile doesnt crash here, but hangs, trying to execute very strange file names which dont seem to have any relation to the original application or document.
However, File|Execute is still working. This can be a start to understand what is happening here.
Yes. File|Run works fine here, too. - Dan
Found the problem. launch_entry is using SEE_MASK_IDLIST, which isnt handled by ShellExecuteExA32 now.
The optional shell namespace mode should be disabled by a "#define _NO_EXTENSIONS", but I didnt manage to use it. Martin, could you bring us some light ? http://www.winehq.com/hypermail/wine-patches/2003/08/0062.html
However, File|Execute is still working. This can be a start to understand what is happening here.
Yes. File|Run works fine here, too.
- Dan
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259 Say NO to software patents Dites NON aux brevets logiciels
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
____________________________________________________________________________________ Do You Yahoo!? -- Avec Yahoo! soyez au coeur de la récolte de dons pour le Téléthon. http://fr.promotions.yahoo.com/caritatif/
Hello,
Found the problem. launch_entry is using SEE_MASK_IDLIST, which isnt handled by ShellExecuteExA32 now.
The optional shell namespace mode should be disabled by a "#define _NO_EXTENSIONS", but I didnt manage to use it. Martin, could you bring us some light ? http://www.winehq.com/hypermail/wine-patches/2003/08/0062.html
However, File|Execute is still working. This can be a start to understand what is happening here.
Yes. File|Run works fine here, too.
- Dan
The problem occures only when using the "Shell" window inside winefile. This specifies a PIDL as parameter for ShellExecuteEx(). If you use one of the "drive" windows, there is no crash, because this uses just the plain path name of the executable. (However I noticed, there is now in the current CVS version a superfluous "Succeded" message.)
The problem in those shell windows also shows up onnative windows. I will look into it.
Regards,
Martin
Hi,
here is the patch to correct the problem. There have been missing a view initializations of struct SHELLEXECUTEINFO.
This fixes only the crash, which was caused by Winefile. It does not complete the ShellExecuteEx() implementation.