View Issue Details

IDProjectCategoryView StatusLast Update
00022223 - Current Dev ListBugpublic2018-04-13 10:23
ReporterK7ZCZ 
Assigned To 
PrioritynormalSeveritycrashReproducibilitysometimes
Status newResolutionopen 
PlatformIntel i7-5960XOSWindows 10 Professional x64OS Version1703
Product Version6.4.0.780 
Target VersionFixed in Version 
Summary0002222: Logbook: restoring large XML backup causes out of memory crash
Description
Restoring a very large XML backup uses memory (because of the use of an all-at-once DOM approach for loading the XML). The logbook has a pretty inefficient in-memory structure for its data, and as a result consumes a large amount of memory.

A logbook backup fo about 120,000 records regularly crashes a debug build of the Logbook application.
Steps To Reproduce1) Open logbook
2) Create a new database, fresh
3) Restore large (120,000 records) QSO XML backup
4) It's pretty slow. It finishes, and press "Finish" in the dialog box
5) After a pause, the logbook will crash with an out of memory exception. It may simply crash, it may render the "out of memory" box, or something else. Low-memory handling in the application is very poor.

Note that I happen to be using a debug build. It's not as efficient as a retail build for sure, but all that means is that the limit of rows/data imported is lower.
Additional Information     TextInputFramework.dll!`Microsoft::WRL::Module<1,class Microsoft::WRL::Details::DefaultModule<1> >::Create(void)'::`2'::`dynamic atexit destructor for 'moduleSingleton''(void) Unknown
     TextInputFramework.dll!CTextInputClientFreeThread::PutHasFocus(bool) Unknown
     msctf.dll!CTextInputClientWrapper::PutHasFocus(bool) Unknown
     TextInputFramework.dll!TextInputHost::PutHasFocusInternal(bool,unsigned long) Unknown
     TextInputFramework.dll!TextInputHost::PutHasFocus(bool) Unknown
     msctf.dll!CThreadInputMgr::OnInputFocusEvent(unsigned long,struct HWND__ *,long,long,unsigned long,unsigned long) Unknown
     msctf.dll!WinEventProc(struct HWINEVENTHOOK__ *,unsigned long,struct HWND__ *,long,long,unsigned long,unsigned long) Unknown
     user32.dll!___ClientCallWinEventProc@4() Unknown
     ntdll.dll!_KiUserCallbackDispatcher@12() Unknown
     win32u.dll!_NtUserSetFocus@4() Unknown
     user32.dll!_MB_DlgProc@16() Unknown
     user32.dll!__InternalCallWinProc@20() Unknown
     user32.dll!_UserCallDlgProcCheckWow@32() Unknown
     user32.dll!_DefDlgProcWorker@24() Unknown
     user32.dll!_DefDlgProcW@16() Unknown
     user32.dll!__InternalCallWinProc@20() Unknown
     user32.dll!_UserCallWinProcCheckWow@36() Unknown
     user32.dll!_CallWindowProcW@20() Unknown
     HRDLogbook.exe!_AfxActivationWndProc(HWND__ * hWnd=0x00141ce4, unsigned int nMsg=272, unsigned int wParam=1190408, long lParam=63941120) Line 471 C++
     [External Code]
> HRDLogbook.exe!CWinApp::ShowAppMessageBox(CWinApp * pApp=0x029c2670, const wchar_t * lpszPrompt=0x03cfad6c, unsigned int nType=4144, unsigned int nIDPrompt=0) Line 122 C++
     HRDLogbook.exe!CWinApp::DoMessageBox(const wchar_t * lpszPrompt=0x03cfad6c, unsigned int nType=4144, unsigned int nIDPrompt=0) Line 39 C++
     HRDLogbook.exe!AfxMessageBox(const wchar_t * lpszText=0x03cfad6c, unsigned int nType=4144, unsigned int nIDHelp=0) Line 141 C++
     HRDLogbook.exe!CException::ReportError(unsigned int nType=4144, unsigned int nError=61705) Line 109 C++
     HRDLogbook.exe!CWinApp::ProcessWndProcException(CException * e=0x029e1590, const tagMSG * pMsg=0x03fddd74) Line 1030 C++
     HRDLogbook.exe!AfxProcessWndProcException(CException * e=0x029e1590, const tagMSG * pMsg=0x03fddd74) Line 214 C++
     HRDLogbook.exe!AfxCallWndProc(CWnd * pWnd=0x0d0619e0, HWND__ * hWnd=0x005a1862, unsigned int nMsg=273, unsigned int wParam=32983, long lParam=0) Line 290 C++
     HRDLogbook.exe!AfxWndProc(HWND__ * hWnd=0x005a1862, unsigned int nMsg=273, unsigned int wParam=32983, long lParam=0) Line 435 C++
     [External Code]
     HRDLogbook.exe!AfxInternalPumpMessage() Line 181 C++
     HRDLogbook.exe!CWinThread::PumpMessage() Line 900 C++
     HRDLogbook.exe!CWinThread::Run() Line 629 C++
     HRDLogbook.exe!CWinApp::Run() Line 787 C++
     HRDLogbook.exe!AfxWinMain(HINSTANCE__ * hInstance=0x000c0000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpCmdLine=0x03fd3210, int nCmdShow=10) Line 47 C++
     HRDLogbook.exe!wWinMain(HINSTANCE__ * hInstance=0x000c0000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpCmdLine=0x03fd3210, int nCmdShow=10) Line 26 C++
     [External Code]
TagsNo tags attached.
ModuleLogbook
Sub-ModuleData
TestingNot Started

Relationships

related to 0002219 new 2 - Next Dev List (Holding Area) Logbook: Loading an XML backup is very slow due to the use of a DOM parser 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2017-08-19 15:30 K7ZCZ New Issue
2017-08-19 16:29 K7ZCZ Relationship added related to 0002219
2017-09-18 00:14 WA9PIE Project 3 - Current Dev List => 2 - Next Dev List (Holding Area)
2018-04-13 10:23 WA9PIE Project 2 - Next Dev List (Holding Area) => 3 - Current Dev List