http://bugs.winehq.org/show_bug.cgi?id=24556
Summary: Built in applications crash when you click File -> Open in a directory beyond existing disk devices Product: Wine Version: 1.3.3 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: t.artem@mailcity.com
Steps to reproduce:
1) Create a new ~/.wine 2) Delete all disk drives except C: from ~/.wine/dosdevices/ (thus leaving only c:) 3) cd /tmp 4) Run 'notepad' 5) Hit File -> Open 6) Crash!
[birdie@localhost tmp]$ notepad wine: Unhandled stack overflow at address 0x7e7b4789 (thread 0009), starting debugger... err:seh:setup_exception_record stack overflow 1260 bytes in thread 0009 eip 7ef9fa09 esp 00230e44 stack 0x230000-0x231000-0x330000 [console freezes]
Unfortunately I cannot produce a backtrace because Wine is hanging at this point.
http://bugs.winehq.org/show_bug.cgi?id=24556
--- Comment #1 from Dan Kegel dank@kegel.com 2010-09-28 08:37:03 CDT --- Created an attachment (id=31000) --> (http://bugs.winehq.org/attachment.cgi?id=31000) backtrace with winedbg
reproduced with rm -rf .wine sh winetricks gecko sandbox wine winedbg notepad File/Open
http://bugs.winehq.org/show_bug.cgi?id=24556
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |dank@kegel.com Ever Confirmed|0 |1
--- Comment #2 from Dan Kegel dank@kegel.com 2010-09-28 08:37:27 CDT --- Confirming
http://bugs.winehq.org/show_bug.cgi?id=24556
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source
--- Comment #3 from Austin English austinenglish@gmail.com 2010-09-28 12:05:39 CDT --- Is this a regression? (I'd bet it is..)
http://bugs.winehq.org/show_bug.cgi?id=24556
--- Comment #4 from Artem S. Tashkinov t.artem@mailcity.com 2010-09-28 22:11:58 CDT --- (In reply to comment #3)
Is this a regression? (I'd bet it is..)
I haven't tested any older wine releases this way, so I've no idea.
http://bugs.winehq.org/show_bug.cgi?id=24556
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.3.3 |1.2
--- Comment #5 from Dan Kegel dank@kegel.com 2010-09-28 22:15:47 CDT --- Also crashes in 1.2.
http://bugs.winehq.org/show_bug.cgi?id=24556
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.2 |1.3.3
--- Comment #6 from Dmitry Timoshkov dmitry@codeweavers.com 2010-09-29 05:43:38 CDT --- (In reply to comment #5)
Also crashes in 1.2.
If this is not a regression there is no need to change the version.
http://bugs.winehq.org/show_bug.cgi?id=24556
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |wylda@volny.cz Version|1.3.3 |1.3.0
--- Comment #7 from Wylda wylda@volny.cz 2010-10-07 17:38:28 CDT ---
I followed Dan's steps in comment #1. Although guilty commit is equal to wine-1.2-408-g2f877b0, i think that comment #5 is not probably correct.
1. I did a regression test between 1.2-rc6 and 1.3.0:
commit 2f877b0a79c5bd7a1b26d7de519f344630ad5e2b Author: Damjan Jovanovic damjan.jov@gmail.com Date: Thu Jul 22 21:36:33 2010 +0200
ntdll: Convert even Unix paths outside Wine's drive mappings to DOS paths.
:040000 040000 e543f71d23039254a15be138a7b4fca5a84739f3 c667330d1b7ed38813f866d591402480611921f3 M dlls
2. No other bug report suffers from this commit.
3. Revert of this patch after git checkout makes that problem go away.
4. Adding author of this patch to CC.
--private keyword: bisected
http://bugs.winehq.org/show_bug.cgi?id=24556
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=24556
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll
http://bugs.winehq.org/show_bug.cgi?id=24556
--- Comment #8 from Damjan Jovanovic damjan.jov@gmail.com 2010-10-08 00:16:42 CDT --- DLL comdlg32, file filedlg.c, function FILEDLG95_LOOKIN_InsertItemAfterParent calls itself recursively. Whatever it's expecting to happen to stop the recursion doesn't happen, causing a stack overflow.
Patching the function to fail if the PIDL's parent is itself fixes the problem.
However if you're running Wine in a C: sandbox, you probably won't be thrilled to discover it now allows you to browse / in the file dialog :-).
http://bugs.winehq.org/show_bug.cgi?id=24556
--- Comment #9 from Damjan Jovanovic damjan.jov@gmail.com 2010-10-08 00:25:57 CDT --- Patch sent: http://source.winehq.org/patches/data/67007
http://bugs.winehq.org/show_bug.cgi?id=24556
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Damjan Jovanovic damjan.jov@gmail.com 2010-10-09 13:32:07 CDT --- Fixed by commit 7ccf6c28b31ed2486600e0b23649d3fecaab0248, resolving FIXED.
http://bugs.winehq.org/show_bug.cgi?id=24556
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2010-10-15 12:53:04 CDT --- Closing bugs fixed in 1.3.5.