http://bugs.winehq.org/show_bug.cgi?id=36078
Bug ID: 36078 Summary: .NET 3.0 installer encounters an error and rolls back the installation Product: Wine Version: 1.7.17 Hardware: x86 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: dimesio@earthlink.net CC: piotr@codeweavers.com Regression SHA1: 09721acaea4bf6b95b72c49540aa6cdc667c684d
Created attachment 48261 --> http://bugs.winehq.org/attachment.cgi?id=48261 Log from dotnetfx3.exe
In 1.7.17 the .NET 3.0 installer starts to install, encounters an error, and rolls back the installation.
Disclaimer: I ran the regression test using winetricks dotnet30 for convenience, but I also tested manually running dotnetfx3.exe, and the same problem occurs.
Regression test results:
09721acaea4bf6b95b72c49540aa6cdc667c684d is the first bad commit commit 09721acaea4bf6b95b72c49540aa6cdc667c684d Author: Piotr Caban piotr@codeweavers.com Date: Fri Apr 18 12:47:52 2014 +0200
msvcr80: Share the source code with msvcrt.
:040000 040000 1ca1448b37c50ac443662ea9f28d00f68c94fdf7 050af6666b0aa156988bd91b29e010b2111b25d7 M dlls
The patch does not revert cleanly.
The attached log is from running dotnetfx3.exe manually (.NET 2.0 already installed to the wineprefix).
https://bugs.winehq.org/show_bug.cgi?id=36078
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer Component|-unknown |msvcrt
https://bugs.winehq.org/show_bug.cgi?id=36078
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=36078
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #1 from Piotr Caban piotr.caban@gmail.com --- Now builtin msvcr80 is used by default. A simple workaround is to set WINEDLLOVERRIDES=msvcr80=n.
It's somehow related to exceptions handling. The application tries to rethrow exception but exception information is corrupted. I don't know yet what exactly needs to be fixed.
http://bugs.winehq.org/show_bug.cgi?id=36078
--- Comment #2 from Piotr Caban piotr.caban@gmail.com --- Following code demonstrates the problem: try { try { RaiseException(0xc0000006, 0, 0, NULL); }catch(...) { printf("got exception\n"); throw; } }catch(...) { printf("got exception2\n"); }
On windows the second catch gets exception with 0xc0000006 code. On wine it treats it as C++ exception, that causes "access violation" and we're catching 0xc0000005.
This code demontrates the problem a little better: void rethrow_seh_exception(void) { try { RaiseException(0xc0000006, 0, 0, NULL); }catch(...) { printf("got exception\n"); throw; } }
void test_seh_exception(void) { __try { rethrow_seh_exception(); }__except(1) { printf("got exception2: %x\n", GetExceptionCode()); } } ... test_seh_exception();
On windows it produces following output: got exception got exception2: c0000006
On wine: got exception got exception2: e06d7363
http://bugs.winehq.org/show_bug.cgi?id=36078
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b5b454c5046fffdfbdb0923b530 | |f1afbadc5ff2c Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #3 from Piotr Caban piotr.caban@gmail.com --- It works for me now.
https://bugs.winehq.org/show_bug.cgi?id=36078
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.18.