View Issue Details

IDProjectCategoryView StatusLast Update
0002192Ham Radio DeluxeBugpublic2017-09-18 00:08
ReporterK7ZCZAssigned ToK7ZCZ 
Status closedResolutionfixed 
PlatformIntel i7-5960XOSWindows 10 Professional x64OS Version1703
Product Version6.4.0.670 
Target VersionFixed in Version6.4.0.787 
Summary0002192: Logbook: adding a new database causes NULL HDBC to be passed to ODBC
Editing the list of Logbook databases to create a new one ends up closing all the databases. That code tries to manipulate a closed database, and ends up passing a NULL HDBC to ODBC. In debug builds, this trips a defensive assertion in MFC.

Steps To Reproduce
1) Start a debug build of logbook. Need to have multiple database
2) Right-click on the databases list
3) In the resulting "Logbook Databases" pop-up window, press the "Add" button in the toolbar
4) In the resulting "Create Database Definition" dialog, enter a title; whatever you'd like
5) Click OK to add the new database.
6) Observe this assertion, once for each database configured

Microsoft Visual C++ Runtime Library
Debug Assertion Failed!

Program: C:\Ham Radio\Debug\HRDLogbook.exe
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp
Line: 484

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)

Abort Retry Ignore

7) After clearing all the assertions, press OK to close the "Logbook databases" window.
8) The assertions from step 6 repeat.

9) After clearing all the assertions, you'll see that the "Logfile" view shows this string repeatedly:

08:18:20 Thread Closed database ""
Additional Information> HRDLogbook.exe!CDatabase::GetDatabaseName() Line 484 C++
     HRDLogbook.exe!CBackgroundProcessingThread::DatabaseList(HWND__ * const hWnd=0x00000000, CLogbookDatabases * pList=0x1eec64c0) Line 794 C++
     HRDLogbook.exe!CBackgroundProcessingThread::ProcessData(CBkgPacket * pPkt=0x1efd43a0, const int nCount=0) Line 563 C++
     HRDLogbook.exe!CBackgroundProcessingThread::DoWork() Line 306 C++
     HRDLogbook.exe!CThinThread::Run() Line 178 C++
     HRDLogbook.exe!CThinThread::Start(void * pv=0x03950d00) Line 217 C++
     [External Code]
TagsNo tags attached.
TestingNot Started



2017-08-18 19:02

administrator   ~0004055

fixed with this changeset:


2017-09-18 00:08

administrator   ~0004217

Closed as part of the release.

Issue History

Date Modified Username Field Change
2017-08-07 10:22 K7ZCZ New Issue
2017-08-18 19:02 K7ZCZ Assigned To => K7ZCZ
2017-08-18 19:02 K7ZCZ Status new => resolved
2017-08-18 19:02 K7ZCZ Resolution open => fixed
2017-08-18 19:02 K7ZCZ Testing Not Started => Not Started
2017-08-18 19:02 K7ZCZ Note Added: 0004055
2017-09-01 16:41 K7ZCZ Fixed in Version =>
2017-09-07 18:18 K7ZCZ Fixed in Version =>
2017-09-11 21:32 K7ZCZ Fixed in Version =>
2017-09-14 19:23 K7ZCZ Fixed in Version =>
2017-09-18 00:06 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe
2017-09-18 00:08 WA9PIE Note Added: 0004217
2017-09-18 00:08 WA9PIE Status resolved => closed