http://bugs.winehq.org/show_bug.cgi?id=27698
Summary: EA Origin wants msvcp100.dll.?_Orphan_all@_Container_base0@std@@QAEXXZ (purist) Product: Wine Version: 1.3.23 Platform: x86 URL: http://store.origin.com/ OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: msvcp AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Only occurs if set to builtin.
http://bugs.winehq.org/show_bug.cgi?id=27698
Luke Bratch l_bratch@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |l_bratch@yahoo.co.uk
http://bugs.winehq.org/show_bug.cgi?id=27698
David Korth gerbilsoft@verizon.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gerbilsoft@verizon.net
--- Comment #1 from David Korth gerbilsoft@verizon.net 2011-11-09 20:19:45 CST --- I hit this bug when attempting to run cl.exe from the current version of the Windows Platform SDK. (SDK v7.1; cl.exe version 16.00.0319.01)
Switching to the native msvcp100.dll fixes this, but it would be nice to see the functions implemented in the built-in msvcp100.
http://bugs.winehq.org/show_bug.cgi?id=27698
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lucak3@gmail.com
--- Comment #2 from Vijay Kamuju infyquest@gmail.com 2012-06-30 10:19:26 CDT --- *** Bug 29418 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27698
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #3 from GyB gyebro69@gmail.com 2012-07-01 00:14:13 CDT --- Affects Harvest: Massive Encounter (an indie strategy game, developed by Oxeye Game Studio). http://www.oxeyegames.com/files/HarvestDemoInstaller.exe
HarvestDemoInstaller.exe md5sum: eb5a2d384e5744532f19a40e9b1158de
wine-1.5.7-252-g1f01355
http://bugs.winehq.org/show_bug.cgi?id=27698
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase CC| |dank@kegel.com
--- Comment #4 from Dan Kegel dank@kegel.com 2012-07-19 13:22:25 CDT --- I gather that Orphan_all is called from the destructor of Container_base, and is a no-op unless doing iterator debugging. I thought iterator debugging was only enabled for debug builds, but I guess you can turn it on in VS2010 with /D_ITERATOR_DEBUG_LEVEL=1
Compiling the program z.cc,
#include <stdio.h> #include <list> using namespace std; int main() { list<int> foo; foo.push_back(1); printf("top of foo is %d\n", foo.back()); return 0; }
with Visual C++ 2010 with the command cl /MD /D_ITERATOR_DEBUG_LEVEL=1 /EHsc z.cc produces an executable which crashes on current wine with
wine: Call from 0x7ecac7e2 to unimplemented function msvcp100.dll.??0_Container_base12@std@@QAE@XZ, aborting
and winedump shows it imports the msvcp100 stubs ??0_Container_base12@std@@QAE@XZ ??1_Container_base12@std@@QAE@XZ ?_Orphan_all@_Container_base12@std@@QAEXXZ ?_Xlength_error@std@@YAXPBD@Z
I'll attach the .exe and source.
http://bugs.winehq.org/show_bug.cgi?id=27698
--- Comment #5 from Dan Kegel dank@kegel.com 2012-07-19 13:23:09 CDT --- Created attachment 41052 --> http://bugs.winehq.org/attachment.cgi?id=41052 Source and binary compiled with Visual C++ 2010
http://bugs.winehq.org/show_bug.cgi?id=27698
--- Comment #6 from Dan Kegel dank@kegel.com 2012-07-19 23:59:04 CDT --- See further discussion at http://stackoverflow.com/questions/11572845/why-is-visual-c-2010-still-calli...
I now suspect that that entry point in msvcp100.dll is a no-op, and is only there for when the optimizer fails to remove a known do-nothing call.
http://bugs.winehq.org/show_bug.cgi?id=27698
--- Comment #7 from Dan Kegel dank@kegel.com 2012-07-20 11:04:04 CDT --- Created attachment 41069 --> http://bugs.winehq.org/attachment.cgi?id=41069 Draft patch
Here's a first try at a do-nothing implementation. It gets two apps to their next problem.
We'll probably want to remove or once the FIXME since this routine has to be fast, and it gets called a lot by Harvest: Massive Encounter.
http://bugs.winehq.org/show_bug.cgi?id=27698
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|testcase |patch
http://bugs.winehq.org/show_bug.cgi?id=27698
--- Comment #8 from Dan Kegel dank@kegel.com 2012-07-24 07:29:00 CDT --- Created attachment 41133 --> http://bugs.winehq.org/attachment.cgi?id=41133 Better test case
Here's a more useful testcase. The attached archive contains z.cc,
#include <stdio.h> #include <vector> using namespace std; int main() { vector<int> foo; vector<int> bar; vector<int> baz; foo.push_back(1); swap(foo, bar); baz = bar; printf("top of baz is %d\n", baz.back()); return 0; }
and z.exe produced by visual c++ 2010's cl /MD /Od /EHsc z.cc. This executable imports the two symbols ?_Swap_all@_Container_base0@std@@QAEXAAU12@@Z ?_Orphan_all@_Container_base0@std@@QAEXXZ from msvcp100. Container_base0 is visual c++'s no-op version of iterator checking (see the stack overflow answer and http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C... ), and compiling the test app with /E shows that those functions are available inline and are empty. Because of /Od (or, in real apps, optimizer failure), the inline versions aren't used, and msvcp100 has to provide empty versions.
http://bugs.winehq.org/show_bug.cgi?id=27698
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #41052|0 |1 is obsolete| |
http://bugs.winehq.org/show_bug.cgi?id=27698
--- Comment #9 from Dan Kegel dank@kegel.com 2012-07-24 08:17:12 CDT --- Patch sent, http://www.winehq.org/pipermail/wine-patches/2012-July/116524.html
http://bugs.winehq.org/show_bug.cgi?id=27698
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #41133|0 |1 is obsolete| |
--- Comment #10 from Dan Kegel dank@kegel.com 2012-07-24 15:49:39 CDT --- Created attachment 41138 --> http://bugs.winehq.org/attachment.cgi?id=41138 Same source, this time with both 32 and 64 bit compiled .exe's
Updated patch at http://source.winehq.org/patches/data/88600
Works with both 32 and 64 bit builds of the test app (attached)
http://bugs.winehq.org/show_bug.cgi?id=27698
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |47b9dd1b55979bd810517f2bf4e | |0f5947c73ab60 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #11 from Dan Kegel dank@kegel.com 2012-07-25 23:25:22 CDT --- Committed. Fixes demo app, Tanner wedit, and Harvest. (I can't reproduce the cl.exe problem or the Origin problem, though I did file bug 31325 while testing Origin.)
http://bugs.winehq.org/show_bug.cgi?id=27698
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2012-07-31 14:19:46 CDT --- Closing bugs fixed in 1.5.10.
http://bugs.winehq.org/show_bug.cgi?id=27698
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeronut@fastmail.fm
--- Comment #13 from Bruno Jesus 00cpxxx@gmail.com 2013-05-12 16:22:57 CDT --- *** Bug 33575 has been marked as a duplicate of this bug. ***