http://bugs.winehq.org/show_bug.cgi?id=29352
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Ever Confirmed|0 |1
--- Comment #6 from Anastasius Focht focht@gmx.net 2012-04-01 06:47:56 CDT --- Hello,
confirming.
--- snip --- 003d:Call msvcp90.??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ(0032fb68) ret=00403289 003d:trace:msvcp90:basic_ios_char_dtor (0x32fb68) 003d:trace:msvcp90:ios_base_Ios_base_dtor (0x32fb68) 003d:trace:msvcp90:ios_base_Tidy (0x32fb68) 003d:trace:msvcp90:ios_base_Callfns (0x32fb68 0) 003d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7bc723a9 ip=7bc723a9 tid=003d 003d:trace:seh:raise_exception info[0]=00000000 003d:trace:seh:raise_exception info[1]=48657461 003d:trace:seh:raise_exception eax=0032f4f0 ebx=7bca5ff4 ecx=596683e9 edx=48657461 esi=0032f8d4 edi=0032f608 003d:trace:seh:raise_exception ebp=0032f5a8 esp=0032f4c0 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210246 003d:trace:seh:call_stack_handlers calling handler at 0x7bc89250 code=c0000005 flags=0 --- snip ---
Debugging session:
--- snip --- Wine-dbg>bt Backtrace: =>0 0x7de1e498 ios_base_Callfns+0x74(this=0x33fb28, event=EVENT_erase_event) [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:1803] in msvcp90 (0x0033f9c0) 1 0x7de1e542 ios_base_Tidy+0x74(this=0x33fb28) [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:1815] in msvcp90 (0x0033fa10) 2 0x7de1e657 ios_base_Ios_base_dtor+0x9a(obj=0x33fb28) [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:1839] in msvcp90 (0x0033fa50) 3 0x7de1e681 ios_base_dtor+0x1c(this=0x33fb28) [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:1847] in msvcp90 (0x0033fa70) 4 0x7de201fd basic_ios_char_dtor+0x6c(this=0x33fb28) [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:2390] in msvcp90 (0x0033fab0) 5 0x00403289 in nightskyhd (+0x3288) (0x0033fcac) 6 0x00402ed9 in nightskyhd (+0x2ed8) (0x0033fcc0) 7 0x004017eb in nightskyhd (+0x17ea) (0x0033fcf4) 8 0x004093cc in nightskyhd (+0x93cb) (0x0033fda8) 9 0x00408775 in nightskyhd (+0x8774) (0x0033fe40)
Wine-dbg>l 1793 1793 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */ 1794 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */ 1795 DEFINE_THISCALL_WRAPPER(ios_base_Callfns, 8) 1796 void __thiscall ios_base_Callfns(ios_base *this, IOS_BASE_event event) 1797 { 1798 IOS_BASE_fnarray *cur; 1799 1800 TRACE("(%p %x)\n", this, event); 1801 1802 for(cur=this->calls; cur; cur=cur->next) 1803 cur->event_handler(event, this, cur->index); 1804 }
Wine-dbg>p *this {vtable=0x7dec8968, stdstr=0x7e48b240, state=3406672, except=2118310154, fmtfl=31, prec=0x7bc46749, wide=0x7c, arr=(nil), calls=0x7bc45ae5, loc=0x30000}
Wine-dbg>p *cur {next=0x9a5fc181, index=0x6d830007, event_handler=0x45c71008}
Wine-dbg>si 0x7de1e4b5 ios_base_Callfns+0x91 [/home/focht/projects/wine/wine-git/dlls/msvcp90/ios.c:1803] in msvcp90: call *%edx 1803 cur->event_handler(event, this, cur->index); Wine-dbg>si 0x45c71008: -- no code accessible --
Wine-dbg>x/10x 0x7bc45ae5 0x7bc45ae5 get_freelist_index+0xb: 9a5fc181 6d830007 45c71008 000000fc 0x7bc45af5 get_freelist_index+0x1b: 8b13eb00 848bfc45 fdaa7c81 08453bff 0x7bc45b05 get_freelist_index+0x2b: 45830c73 7d8301fc --- snip ---
It seems that in the stream destruction sequence the event handler(s) are called but have not been setup (init sequence).
The app makes to the following calls to msvcp90 in order to create a file stream and destroy it (names demangeled for better reading):
--- snip --- __thiscall std::basic_ios<char,struct std::char_traits<char>
::basic_ios<char,struct std::char_traits<char> >(void)
(??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ) ... __thiscall std::basic_ostream<char,struct std::char_traits<char>
::basic_ostream<char,struct std::char_traits<char> >(class
std::basic_streambuf<char,struct std::char_traits<char> > *,bool) (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) ... __thiscall std::basic_streambuf<char,struct std::char_traits<char>
::basic_streambuf<char,struct std::char_traits<char> >(void)
(??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ) --- snip ---
--- snip --- void __thiscall std::basic_streambuf<char,struct std::char_traits<char>
::setg(char *,char *,char *)
(?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z) ... __thiscall std::basic_streambuf<char,struct std::char_traits<char>
::~basic_streambuf<char,struct std::char_traits<char> >(void)
(??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ) ... __thiscall std::basic_ios<char,struct std::char_traits<char>
::~basic_ios<char,struct std::char_traits<char> >(void)
(??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ) *boom* --- snip ---
$ du -sh NightSkyHD_Win_1217.zip 125M NightSkyHD_Win_1217.zip
$ sha1sum NightSkyHD_Win_1217.zip 01bf4a8f6a0a1fb5c497ee0f229081d21dc9cf5e NightSkyHD_Win_1217.zip
$ wine --version wine-1.5.1
Regards