View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002752||3 - Current Dev List||Bug||public||2018-05-29 20:38||2019-02-10 22:18|
|Priority||normal||Severity||crash||Reproducibility||have not tried|
|Target Version||Fixed in Version|
|Summary||0002752: Logbook: crash reported when adding second MySQL database to configuration|
|Description||A 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.
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 odbc32!EnterStmtCS+0x4b: 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
|Tags||No tags attached.|
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: 126.96.36.199 Product version: 188.8.131.52 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
||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.|
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.
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
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
|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|