Crash on open very big system log

Bug #1318811 reported by infector
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
AirDC++
Confirmed
Undecided
Unassigned

Bug Description

i try open system.log with 1.05 Gb size

Code: e06d7363 ( Unknown )
Version: AirDC++ 2.80a-118-g445d7 x64
Build: 2092
Major: 6
Minor: 1
Build: 7601
SP: 1
Type: 1
Time: 2014-05-12 23:57:40
TTH: RU6YRV3TWUVBOKLUHMWPH3FPGHZARDVXLH4ECHA

KERNELBASE!0xFD2F940D: RaiseException
f:\dd\vctools\crt\crtw32\eh\frame.cpp(1296): __CxxCallCatchBlock
ntdll!0x774D0C51: RtlRestoreContext
c:\program files (x86)\microsoft visual studio 12.0\vc\include\xstring(2219): `std::basic_string<wchar_t=0x3F87E690,std::char_traits<wchar_t>=0x00000001,std::allocator<wchar_t> >::_Copy'::`1'::catch$1
f:\dd\vctools\crt\crtw32\eh\amd64\handlers.asm(51): _CallSettingFrame
f:\dd\vctools\crt\crtw32\eh\frame.cpp(1281): __CxxCallCatchBlock
ntdll!0x774D0C51: RtlRestoreContext
c:\program files (x86)\microsoft visual studio 12.0\vc\include\xstring(2215): std::basic_string<wchar_t=0x3F4C0C12,std::char_traits<wchar_t>=0x00000001,std::allocator<wchar_t> >::_Copy
c:\program files (x86)\microsoft visual studio 12.0\vc\include\xstring(1096): std::basic_string<wchar_t=0x3F6B953D,std::char_traits<wchar_t>=0x00000001,std::allocator<wchar_t> >::append
c:\projects\airdc-git\client\text.cpp(281): dcpp::Text::utf8ToWide
c:\projects\airdc-git\client\text.h(62): dcpp::Text::toT
c:\projects\airdc-git\windows\textframe.cpp(90): TextFrame::OnCreate
c:\projects\airdc-git\windows\textframe.h(55): TextFrame::ProcessWindowMessage
c:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\atlwin.h(3531): ATL::CWindowImplBaseT<WTL::CMDIWindow=0x77399BD1,ATL::CWinTraits<1456406528=0x00000000,64> >::WindowProc
USER32!0x77399BD1: TranslateMessageEx
USER32!0x773972CB: SetWindowTextW
USER32!0x77390795: SendMessageTimeoutW
ntdll!0x774D11F5: KiUserCallbackDispatcher
USER32!0x7739041A: SendMessageTimeoutW
USER32!0x77390397: SendMessageTimeoutW
USER32!0x773905D8: SendMessageTimeoutW
USER32!0x77390880: CreateWindowExW
c:\projects\airdc-git\windows\wtl\atlframe.h(433): WTL::CFrameWindowImplBase<WTL::CMDIWindow=0x3F65295D,ATL::CWinTraits<1456406528=0x00000001,64> >::Create
c:\projects\airdc-git\windows\flattabctrl.h(849): MDITabChildWindowImpl<TextFrame=0x3F6524E5,WTL::CMDIWindow=0x00000001,ATL::CWinTraits<1456406528=0x00010362,64> >::Create
c:\projects\airdc-git\windows\wtl\atlframe.h(1742): WTL::CMDIChildWindowImpl<TextFrame=0x3F650F31,WTL::CMDIWindow=0x00000001,ATL::CWinTraits<1456406528=0x00000001,64> >::CreateEx
c:\projects\airdc-git\windows\textframe.cpp(35): TextFrame::openWindow
c:\projects\airdc-git\windows\winutil.cpp(1832): WinUtil::viewLog
c:\projects\airdc-git\windows\systemframe.cpp(289): SystemFrame::onSystemLog
c:\projects\airdc-git\windows\systemframe.h(60): SystemFrame::ProcessWindowMessage
c:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\atlwin.h(3531): ATL::CWindowImplBaseT<WTL::CMDIWindow=0x77399BD1,ATL::CWinTraits<1456406528=0x00000000,64> >::WindowProc
USER32!0x77399BD1: TranslateMessageEx
USER32!0x773998DA: TranslateMessage
c:\projects\airdc-git\windows\wtl\atlapp.h(1272): WTL::CMessageLoop::Run
c:\projects\airdc-git\windows\main.cpp(381): Run
c:\projects\airdc-git\windows\main.cpp(565): wWinMain
f:\dd\vctools\crt\crtw32\startup\crt0.c(251): __tmainCRTStartup
kernel32!0x772759ED: BaseThreadInitThunk
ntdll!0x774AC541: RtlUserThreadStart

Revision history for this message
maksis (maksis) wrote :

Do you have any opinion on how this should be fixed? This is an issue with memory usage (again).

Revision history for this message
Sopor (sopor) wrote :

Other programs can popup a message when the memory is full. Why can't AirDC do that instead of crashing? Or truncate the log that you specify in an option, Open only XX% of the log files?

maksis (maksis)
Changed in airdcpp:
status: New → Confirmed
Revision history for this message
maksis (maksis) wrote :

The client handles cases when it runs out of memory in places *where that can be excepted* (refreshing the share, opening file lists). Opening a log of 1 GB shouldn't even be tried. Displaying a popup instead of crashing in places where it's not excepted to happen is also possible, but that would require keeping track of memory-intensive actions (threads) in a centralized way.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.