[Bug 37954] Test application using old MSVC++ iostream library crashes on startup ('msvcirt.??0ostrstream@@QAE at XZ' takes one argument)
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jan 23 13:52:33 CST 2015
https://bugs.winehq.org/show_bug.cgi?id=37954
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |download
Status|UNCONFIRMED |NEW
CC| |focht at gmx.net
Component|-unknown |msvcirt
Summary|Unhandled exception: page |Test application using old
|fault on write access to |MSVC++ iostream library
|0x0cf00052 in 32-bit code |crashes on startup
|(0x00520d30) |('msvcirt.??0ostrstream@@QA
| |E at XZ' takes one argument)
Ever confirmed|0 |1
--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
Next time please put up a more meaningful summary.
Relevant part of trace log:
--- snip ---
...
0023:Call msvcirt.??0ostrstream@@QAE at XZ(0033fd8c) ret=0040100f
0023:fixme:msvcirt:MSVCIRT_ostrstream_sl_void (0x33fd8c) stub
0023:Ret msvcirt.??0ostrstream@@QAE at XZ() retval=0033fd8c ret=0040100f
0023:Call msvcirt.??1ostrstream@@UAE at XZ(0033fd90) ret=00401019
0023:fixme:msvcirt:MSVCIRT_ostrstream_sl_void (0x33fd90) stub
0023:Ret msvcirt.??1ostrstream@@UAE at XZ() retval=0033fd90 ret=00401019
0023:Call msvcirt.??1ios@@UAE at XZ(0033fd90) ret=00401023
0023:fixme:msvcirt:MSVCIRT_ios_sl_void (0x33fd90) stub
0023:Ret msvcirt.??1ios@@UAE at XZ() retval=0033fd90 ret=00401023
0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x405000 ip=00405000
tid=0023
0023:trace:seh:raise_exception info[0]=00000001
0023:trace:seh:raise_exception info[1]=00000000
0023:trace:seh:raise_exception eax=00000000 ebx=7b8bf000 ecx=0033fd90
edx=7bceec48 esi=0033feb0 edi=00000000
0023:trace:seh:raise_exception ebp=0033fe20 esp=0033fde4 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010212
...
Backtrace:
=>0 0x00405000 in test1 (+0x5000) (0x0033fe20)
1 0x7b864ff8 call_process_entry+0xb() in kernel32 (0x0033fe38)
...
--- snip ---
The stack gets imbalanced by the first ctor stub, resulting in later crash when
leaving 'main'.
Code of test app:
--- snip ---
Wine-dbg>disas
0x00401000: subl $88,%esp
0x00401003: leal 0x0(%esp),%ecx ; this
0x00401007: pushl $0x1 ; unknown arg to ctor?
0x00401009: call *0x404090 -> 0x7eff37d4
__thiscall_MSVCIRT_ostrstream_sl_void in msvcirt
0x0040100f: leal 0x8(%esp),%ecx
0x00401013: call *0x404094 -> 0x7eff37d4
__thiscall_MSVCIRT_ostrstream_sl_void in msvcirt
0x00401019: leal 0x8(%esp),%ecx
0x0040101d: call *0x404098 -> 0x7eff3758 __thiscall_MSVCIRT_ios_sl_void in
msvcirt
0x00401023: xorl %eax,%eax
0x00401025: addl $88,%esp
0x00401028: ret
--- snip --
It seems the MSVC++ 6 compiler generated code which passes an additional
argument to 'ostrstream::ostrstream()' ctor.
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list