http://bugs.winehq.org/show_bug.cgi?id=18997
Summary: Warcraft 3 1.23 crashes after remaining one minute in a Battle.net chat room. Product: Wine Version: 1.1.23 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: secur32 AssignedTo: wine-bugs@winehq.org ReportedBy: florian@fkoeberle.de
This bug report is about the crash which happens, if you remain one minute in a chat room of the Warcraft III Battle.net.
This bug report is NOT about the crash which happens at login time: Bug report 17809 is about that crash.
The application entry HOWTO explain in the section "How to get Battle.net working?" how to work around this bug: http://appdb.winehq.org/objectManager.php?sClass=version&iId=3126
Please do not ask for help in this bug report. No one wants to read tones of comments. Thanks! Logs (traces etc.) are not needed at the moment as it is known where the crash happens (see below).
This bug is a regression caused by partly implemented functionality, the commit which introduced the regression is: e00e5a37e280c7e07da551ae6a2e9d3e57d6a7b9 is first bad commit commit e00e5a37e280c7e07da551ae6a2e9d3e57d6a7b9 Author: Henri Verbeet hverbeet@gmail.com Date: Mon Oct 20 09:26:45 2008 +0200
secur32: Implement schannel InitializeSecurityContextW.
:040000 040000 529e5211a3cdb6c5361ae8c5a31d91c90ec7a3f2 b221c3ebbdec872c3bd8c159636cc334e2cd29ee M dlls
The trace http://bugs.winehq.org/attachment.cgi?id=20398 shows that DeleteSecurityContext gets called twice with the same handle. The trace does not contain the crash stackstrace as Warcraft 3 catch the exception and writes down it's own stacktrace file.
The trace has been made with a wine build based on commit 1f00a870ec6ee of my repository: http://repo.or.cz/w/wine/warcraft3.git?a=log;h=1f00a870ec6ee172afa7ffc82a169...
So the bug is either that it should be possible to delete a security context twice or the bug causes the DeleteSecurityContext method to be called twice.
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #1 from Henri Verbeet hverbeet@gmail.com 2009-06-19 07:28:26 --- Shouldn't be too hard to write a test for that.
http://bugs.winehq.org/show_bug.cgi?id=18997
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=18997
Alexander Kojevnikov alexander@kojevnikov.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexander@kojevnikov.com
http://bugs.winehq.org/show_bug.cgi?id=18997
Matej Spindler matej.spindler@auspuh.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #2 from Matej Spindler matej.spindler@auspuh.com 2009-06-20 16:25:31 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #3 from Alexander Kojevnikov alexander@kojevnikov.com 2009-06-20 20:53:20 --- Confirming that this bug is fixed in warcraft3.git branch (as described in the HOWTO)
Just a note if you plan to pull the branch. repor.or.cz is extremely slow (3 KiB/sec), instead of doing a full clone from it you can clone from source.winehq.org or github and then:
$ git clone --reference ./path/to/cloned/wine git://repo.or.cz/wine/warcraft3.git wine-war3
http://bugs.winehq.org/show_bug.cgi?id=18997
adrussel@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adrussel@hotmail.com
http://bugs.winehq.org/show_bug.cgi?id=18997
Geoffrey De Smet ge0ffrey.spam@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ge0ffrey.spam@gmail.com
--- Comment #4 from Geoffrey De Smet ge0ffrey.spam@gmail.com 2009-08-01 04:50:27 --- Confirming this bug on Ubuntu 9.04 with Nvidea card with Wine 1.1.26.
When will a wine version be available on the wine repository that fixes this?
http://bugs.winehq.org/show_bug.cgi?id=18997
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #5 from Juan Lang juan_lang@yahoo.com 2009-08-06 19:09:07 --- This looks like the same thing I fixed in commit 3a493d7782b56ce0c55cda60271be75843d7104d, http://source.winehq.org/git/wine.git/?a=commit;h=3a493d7782b56ce0c55cda6027...
Marking fixed. Reopen if I'm mistaken.
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #6 from Florian florian@fkoeberle.de 2009-08-07 09:42:10 --- Do you had another reason for your patch then fixing this bug?
As you might know I tried to submit a similar patch, but got told that returning NULL is a bad idea: http://www.winehq.org/pipermail/wine-devel/2009-March/074267.html I intended then to write a updated patch: http://www.winehq.org/pipermail/wine-devel/2009-March/074277.html but another response coming a few minutes later convinced me to do more research: http://www.winehq.org/pipermail/wine-devel/2009-March/074278.html
As far as I remember returning NULL in schan_free_handle didn't solve the problem completely, but just reduced the chance that you get a crash every minute.
Maybe your second change does make the difference, but I can't test right now if it does. It may take weeks until I can access a PC again which can run Warcraft 3.
http://bugs.winehq.org/show_bug.cgi?id=18997
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2009-08-07 12:50:41 --- Closing bugs fixed in 1.1.2,7.
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #8 from Juan Lang juan_lang@yahoo.com 2009-08-07 17:52:05 --- (In reply to comment #6)
Do you had another reason for your patch then fixing this bug?
Yes, there was another application that called DeleteSecurityContext twice on the same handle, detailed in bug 19564.
As you might know I tried to submit a similar patch, but got told that returning NULL is a bad idea: http://www.winehq.org/pipermail/wine-devel/2009-March/074267.html I intended then to write a updated patch: http://www.winehq.org/pipermail/wine-devel/2009-March/074277.html but another response coming a few minutes later convinced me to do more research: http://www.winehq.org/pipermail/wine-devel/2009-March/074278.html
Regression tests would be ideal. I took the fact that multiple applications were calling DeleteSecurityContext twice on the same handle as an indicator that it is legal to do so in Windows. I suppose that's the key difference from when you wrote your patch: more than one application was failing in the same way. That, plus my Julliard rank is probably a little higher ;-)
Maybe your second change does make the difference, but I can't test right now if it does. It may take weeks until I can access a PC again which can run Warcraft 3.
Yes, please do, and reopen this if it isn't fixed by then.
http://bugs.winehq.org/show_bug.cgi?id=18997
Florian florian@fkoeberle.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |REOPENED Resolution|FIXED |
--- Comment #9 from Florian florian@fkoeberle.de 2009-08-17 05:28:59 --- Warcraft 3 doesn't crash after one minute now, but at different times: at startup, while joining a game, at the start of a game etc. I tried a clean wine-1.1.27 build, and a build with two patches: The AcceptEx bug workaround and a patch of mine which prints an message when the handle is out of range. I will attach a log with some interesting err messages.
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #10 from Florian florian@fkoeberle.de 2009-08-17 05:35:20 --- Created an attachment (id=23138) --> (http://bugs.winehq.org/attachment.cgi?id=23138) Log until crash with wine-1.1.27 with patch to disable completion port creation and patch to log invalid handles.
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #11 from Malte business@zearan.de 2009-08-25 09:33:44 --- (In reply to comment #9)
Warcraft 3 doesn't crash after one minute now, but at different times: at startup, while joining a game, at the start of a game etc. I tried a clean wine-1.1.27 build, and a build with two patches: The AcceptEx bug workaround and a patch of mine which prints an message when the handle is out of range. I will attach a log with some interesting err messages.
I can confirm that. I still had http://bugs.winehq.org/attachment.cgi?id=20360&action=edit on my machine and applied it. That solved the problem.
I don't have that much knowlegde about what is going on. But can you confirm that this is a valid workaround?
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #12 from Juan Lang juan_lang@yahoo.com 2009-11-30 16:51:17 --- This is in your log: fixme:crypt:CertVerifyCertificateChainPolicy unimplemented for 4
That's been fixed, please retry with 1.1.33 or later.
http://bugs.winehq.org/show_bug.cgi?id=18997
Florian florian@fkoeberle.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #23138|0 |1 is obsolete| |
--- Comment #13 from Florian florian@fkoeberle.de 2009-12-07 11:57:30 --- Created an attachment (id=25106) --> (http://bugs.winehq.org/attachment.cgi?id=25106) Log without crash with wine-1.1.34 with patch to disable completion port creation and patch to log invalid handles.
I made a few short tests: Warcraft 3 doesn't crash within the short duration of my tests, but it tries constantly to free invalid handles. In two of my three test runs it was producing heap error messages after about one minute(very approximately): err:heap:HEAP_ValidateInUseArena Heap 0x110000: in-use arena 0x4f86878 next block has PREV_FREE flag
The lines: fixme:crypt:CertVerifyCertificateChainPolicy unimplemented for 4 are gone now, but two new crypt fixmes have started to appear: fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32" fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #14 from Juan Lang juan_lang@yahoo.com 2009-12-07 12:24:37 --- (In reply to comment #13)
I made a few short tests: Warcraft 3 doesn't crash within the short duration of my tests, but it tries constantly to free invalid handles.
Ack. This sounds like it could justify another bug report, as the crash induced by implementing more of schannel appears to have been resolved.
two new crypt fixmes have started to appear: fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32" fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
Yeah, that's a known problem with crypt32. I have a quick hack that "fixes" that, you could try it: http://bugs2.winehq.org/attachment.cgi?id=24914
But it would be preferable if you could open a new bug about this. If the hack addresses the problem for you, then the new bug is definitely in crypt32.
http://bugs.winehq.org/show_bug.cgi?id=18997
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |juan_lang@yahoo.com
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #15 from Juan Lang juan_lang@yahoo.com 2010-03-18 14:35:11 --- What's the status with current git (or 1.1.41 or later)?
http://bugs.winehq.org/show_bug.cgi?id=18997
--- Comment #16 from Alexander Kojevnikov alexander@kojevnikov.com 2010-03-18 16:38:32 --- (In reply to comment #15)
What's the status with current git (or 1.1.41 or later)?
It's been fixed for me for at least a few months
http://bugs.winehq.org/show_bug.cgi?id=18997
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED
--- Comment #17 from Juan Lang juan_lang@yahoo.com 2010-03-18 16:57:13 --- Ok. Since one major cause of this was fixed way back in 1.1.27 timeframe, I'm going to close this. OP/others, if you're still having crashes with 1.1.41, please open a new bug.
http://bugs.winehq.org/show_bug.cgi?id=18997
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Juan Lang juan_lang@yahoo.com 2010-03-18 16:57:46 --- Closing, as the fix referenced here was closed before, and other crashes are probably unrelated.
http://bugs.winehq.org/show_bug.cgi?id=18997
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |RESOLVED
--- Comment #19 from Dmitry Timoshkov dmitry@codeweavers.com 2010-03-19 04:32:25 --- It's still would be nice to have this bug listed as fixed in the release notes.
http://bugs.winehq.org/show_bug.cgi?id=18997
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #20 from Alexandre Julliard julliard@winehq.org 2010-03-19 14:10:32 --- Closing bugs fixed in 1.1.41.
http://bugs.winehq.org/show_bug.cgi?id=18997
Nicky nheart@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nheart@gmail.com
--- Comment #21 from Nicky nheart@gmail.com 2010-04-05 08:25:12 --- The bug is not fixed! Warcraft 3 crashes with seh error when trying to start AT game. The bug was introduced the same time the secur32 battle.net errors started and it has not been fixed. I say this problem is partially resolved.