http://bugs.winehq.org/show_bug.cgi?id=29635
Bug #: 29635 Summary: Starcraft 2 Read Access Violation Regression possibly related to wine_cp_mbstowc Product: Wine Version: 1.3.36 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: cobaltjacket@gmail.com Classification: Unclassified
Steps by which I can reproduce: 1. Create a clean wine prefix. 2. Link (or move) a functional Starcraft 2 directory into "C:\Program Files" 3. Run Starcraft 2. Note: This will seem to work correctly, it loads and even can get into a game. I believe that it may crash immediately afterward. That crash may be unrelated, so I don't want to deal with it right now. 4. Close Starcraft. 5. Run it again. 6. Crash before load.
The Starcraft Error Reporter says:
ACCESS_VIOLATION (0xC0000005) occurred at 0023:F7620108. The memory at '0x04F9100F' could not be read.
Later on in that same window "wine_cp_mbstowc" is mentioned (under "Manual Stack Trace"):
Manual Stack Trace (ID:72 Stack:0x00000000 + 0)
F7642108 wine_cp_mbstowcs+632
I can provide the full text of this if you would like.
This behavior definitely does NOT occur in 1.3.29 (which for other reasons is the last version I was using that worked). I do not believe, however, that this behavior was present in 1.3.35. Cursory testing discovered this problem in 1.3.36, though I performed these more careful steps with 1.3.37. For this reason, I believe the first version with this regression is 1.3.36.
Attached is a WINEDEBUG=+relay,+seh,+tid log of the crash behavior. I have replaced my name in the log file by "myname".
A note: downgrading to 1.3.29, the game runs again. By this, I mean:
7. Downgrade to 1.3.29 8. The game runs perfectly. (There is no "reinstall" step: the same exact wine prefix and game directory are used.)
Repeating the upgrade to 1.3.37 causes the behavior to return. For this reason, I don't think that the game directory is somehow damaged.