http://bugs.winehq.org/show_bug.cgi?id=31085
Bug #: 31085 Summary: Pulsen complains "A required *.pulsen file is missing" with builtin msvcp90 (purist) Product: Wine Version: 1.5.7 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: msvcp AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com Classification: Unclassified
Pulsen works out of the box, but if you set native msvcp90 (or alldlls=builtin), the app complains "Fatal Error A required *.pulsen file is missing"
Using native msvcp90 works around the problem.
http://bugs.winehq.org/show_bug.cgi?id=31085
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://pulsengame.com/
http://bugs.winehq.org/show_bug.cgi?id=31085
--- Comment #1 from Dan Kegel dank@kegel.com 2012-06-30 12:26:25 CDT --- Created attachment 40808 --> http://bugs.winehq.org/attachment.cgi?id=40808 +msvcp90,+relay,+text log (with ntdll and kernel32 lines removed)
http://bugs.winehq.org/show_bug.cgi?id=31085
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #2 from Dan Kegel dank@kegel.com 2012-07-01 21:07:19 CDT --- Turns out the problem is reproducible with stepmania, which is open source. The attached patch fixes the problem for me (integer overflow in string compare length cap), and gets a fair bit further.
There are probably a bunch of similar problems (e.g. same code in msvcp60; why are there no tests there?).
http://bugs.winehq.org/show_bug.cgi?id=31085
--- Comment #3 from Dan Kegel dank@kegel.com 2012-07-01 21:08:36 CDT --- Created attachment 40826 --> http://bugs.winehq.org/attachment.cgi?id=40826 Test string::compare when n1 is large, fix problem that exposes
http://bugs.winehq.org/show_bug.cgi?id=31085
--- Comment #4 from Dan Kegel dank@kegel.com 2012-07-01 23:04:22 CDT --- Ah, or maybe if(num > this->size-pos) num = this->size-pos; is the right way to clip it. I see MSVCP_basic_string_wchar_append_substr does it that way.
These other nine functions appear at first grep to have a similar problem, and I'll try to check them, too.
basic_string_char_replace_ch basic_string_char_replace_cstr_len basic_string_char_replace_substr basic_string_wchar_replace_ch basic_string_wchar_replace_cstr_len basic_string_wchar_replace_substr MSVCP_basic_string_char_compare_substr_substr MSVCP_basic_string_wchar_compare_substr_cstr_len MSVCP_basic_string_wchar_compare_substr_substr
http://bugs.winehq.org/show_bug.cgi?id=31085
--- Comment #5 from Dan Kegel dank@kegel.com 2012-07-07 17:40:43 CDT --- Created attachment 40917 --> http://bugs.winehq.org/attachment.cgi?id=40917 Updated patch that changes both msvcp60 and msvcp90
Here's a patch that gets all the sites I identified earlier. Still needs lots of tests, though...
http://bugs.winehq.org/show_bug.cgi?id=31085
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Pulsen complains "A |Pulsen complains "A |required *.pulsen file is |required *.pulsen file is |missing" with builtin |missing" |msvcp90 (purist) |
--- Comment #6 from Dan Kegel dank@kegel.com 2012-09-08 11:22:08 CDT --- This happens even without setting native msvcp90 now. (The game includes a manifest for their bundled msvcp80, but not for their bundled msvcp90?)
My patch still fixes it. I'll send a rediffed msvcp90 fix shortly.
http://bugs.winehq.org/show_bug.cgi?id=31085
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #7 from Piotr Caban piotr.caban@gmail.com 2012-09-12 05:50:00 CDT --- Is this bug fixed?
http://bugs.winehq.org/show_bug.cgi?id=31085
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |8e9e82f41eb0470de154d6b6a58 | |3fa15ea4ed176 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #8 from Dan Kegel dank@kegel.com 2012-09-12 08:53:05 CDT --- Yes. The game even starts with alldlls=builtin.
http://bugs.winehq.org/show_bug.cgi?id=31085
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2012-09-14 13:35:03 CDT --- Closing bugs fixed in 1.5.13.