View Issue Details

IDProjectCategoryView StatusLast Update
00027522 - Next Dev List (Holding Area)Bugpublic2020-07-02 02:11
ReporterK7ZCZAssigned To 
PrioritynormalSeveritycrashReproducibilityhave not tried
Status newResolutionopen 
Summary0002752: Logbook: crash reported when adding second MySQL database to configuration
DescriptionA customer has reported that adding a second MySQL database to the Logbook configuration causes a crash.

This issue was discovered during testing of changes to the logbook to defend against bogus database configuration. There's little reason to believe this crash is related to or caused by the enhanced error handling; see Issue 2720 for more details there.

The call stack from the crash is attached below. We can see that a configured data source is being used to access the database in a background thread. There are several concurrency management issues in the Logbook, and I believe this is just another instance of that problem.
Additional Information
0:023> .ecxr
eax=00000000 ebx=20f7cf88 ecx=02000000 edx=fffffffd esi=061594e0 edi=09d7f9f8
eip=586803b7 esp=20f7ceac ebp=20f7ced8 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
586803b7 ff481c          dec     dword ptr [eax+1Ch]  ds:002b:0000001c=????????
0:023> kb
  *** Stack trace for last set context - .thread/.cxr resets it
 # ChildEBP RetAddr  Args to Child              
00 20f7ceb0 58685d37 00000000 20f7cf58 20f7cf88 odbc32!EnterStmtCS+0x4b
01 20f7ced8 0106e669 09d7f9f8 20f7cf88 00000000 odbc32!SQLNumResultCols+0x97
02 20f7cf00 01070f73 a48db71f 00000001 194d0a30 HRDLogbook!CRecordset::AllocAndCacheFieldInfo+0x17 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp @ 2651] 
03 20f7cf34 0151e6d3 00000002 00000000 00002006 HRDLogbook!CRecordset::Open+0xdd [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp @ 1181] 
04 20f7fab8 0156f1f4 20f7fae0 194d0a30 0156f120 HRDLogbook!CBackgroundProcessingThread::CountryLookup+0x4b53 [c:\ham radio\logbook\hrdlogbook\backgroundprocessingthreadlookups.cpp @ 3967] 
05 20f7fb00 760c8484 194d0a30 760c8460 d30cc234 HRDLogbook!CDXCObject::LookupThreadProc+0xd4 [c:\ham radio\logbook\hrdlogbook\dxclusterobject.cpp @ 1352] 
06 20f7fb14 778d2ec0 194d0a30 d2820967 00000000 kernel32!BaseThreadInitThunk+0x24
07 20f7fb5c 778d2e90 ffffffff 778ededb 00000000 ntdll!__RtlUserThreadStart+0x2f
08 20f7fb6c 00000000 0156f120 194d0a30 00000000 ntdll!_RtlUserThreadStart+0x1b

TagsNo tags attached.
TestingNot Started


related to 0002098 closedK7ZCZ Ham Radio Deluxe Logbook UI stalls for a while after connecting DX Cluster 



2018-05-29 21:05

developer   ~0005148

From the dump, I also quickly notice that the user has a pretty old version of the MyODBC driver. 3.51 is a long time ago; current versions are 5.x.something. The user should be encouraged to upgrade, though I figure the problem is really caused by our bad concurrency management.

0:023> lmDvmmyodbc3
Browse full module list
start    end        module name
11150000 112cf000   myodbc3    (deferred)             
    Image path: C:\Windows\System32\myodbc3.dll
    Image name: myodbc3.dll
    Browse all global symbols  functions  data
    Timestamp:        Sat Oct 15 14:25:21 2005 (435173C1)
    CheckSum:         00000000
    ImageSize:        0017F000
    File version:
    Product version:
    File flags:       0 (Mask 3)
    File OS:          40004 NT Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4


2018-05-30 03:18

updater   ~0005150

The crash did not occur when adding a new configuration to the logbook - rather the logbook crashed on opening an additional already configured log. This has not occurred in previous releases. I have a total of 4 MySQL logs configured and can usually open and close them without issue. This crashing on opening started with .839 Beta.


2018-05-30 08:00

developer   ~0005151

I see, sorry for the confusion. All I had was the sentence you provided in the other issue.

Can you please provide a clear description of the problem with repro steps? While the minidump makes the location of the crash clear, it doesn't provide information about the preconditions and actions you took to realize the symptom.


2018-05-30 08:23

updater   ~0005152

With HRD Logbook open and one log database open from startup
Go to Manager
Select another logbook in the list to open by clicking/highlighting it
Click on Open

Log book appears to open

Click OK on Manager

Logbook crashes with minidump


2018-05-30 09:04

developer   ~0005154

Thanks for the description; with that information, I'm enabled to dig into the issue.

I've related this to 2098, which tracks the Logbook concurrency problems in general

Issue History

Date Modified Username Field Change
2018-05-29 20:38 K7ZCZ New Issue
2018-05-29 21:05 K7ZCZ Note Added: 0005148
2018-05-30 03:18 g3ypp Note Added: 0005150
2018-05-30 08:00 K7ZCZ Note Added: 0005151
2018-05-30 08:23 g3ypp Note Added: 0005152
2018-05-30 08:53 K7ZCZ Relationship added related to 0002098
2018-05-30 09:04 K7ZCZ Note Added: 0005154
2019-02-10 22:18 WA9PIE Severity minor => crash
2020-07-02 02:11 WA9PIE Project 3 - Current Dev List => 2 - Next Dev List (Holding Area)