View Issue Details

IDProjectCategoryView StatusLast Update
0002817Ham Radio DeluxeBugpublic2018-08-09 21:05
ReporterK7ZCZ 
Assigned ToK7ZCZ 
PrioritynormalSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product Version6.4.0.873 
Target VersionFixed in Version6.4.0.876 
Summary0002817: Logbook: crashes when loading world map resource in main frame at startup
DescriptionA customer reported the logbook crashed at startup. The associated minidump is HRDLogbook_20180726_230547.mdmp and is avaialble in the dumps folder. The minidump contains this stack for the crash:

0:000> .ecxr
eax=000000d8 ebx=00317000 ecx=0ea40020 edx=00000000 esi=00316230 edi=06f5ef28
eip=00f65261 esp=0014ed18 ebp=0014ed84 iopl=0         nv up ei ng nz ac po cy
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010293
HRDLogbook!CBackgroundImage::GetDIB+0x3e1:
00f65261 0fb708          movzx   ecx,word ptr [eax]       ds:0023:000000d8=????
0:000> kb
  *** Stack trace for last set context - .thread/.cxr resets it
 # ChildEBP RetAddr  Args to Child              
00 0014ed84 00f65582 06a1e2d4 069d6fe8 00000000 HRDLogbook!CBackgroundImage::GetDIB+0x3e1 [c:\ham radio\hrdcommon\backgroundimage.cpp @ 1449] 
01 0014edb0 0158c1d2 06f5eea8 00000144 06cd0020 HRDLogbook!CBackgroundImage::LoadResourceMap+0x192 [c:\ham radio\hrdcommon\backgroundimage.cpp @ 1614] 
02 0014ee10 0158dcfe 0000011d 88318a94 7fffffff HRDLogbook!CMainFrame::InitPane+0x562 [c:\ham radio\logbook\hrdlogbook\mainfrm.cpp @ 1779] 
03 0014ee9c 00f725c7 0014f18c 88318be4 06cd0020 HRDLogbook!CMainFrame::OnCreate+0xfee [c:\ham radio\logbook\hrdlogbook\mainfrm.cpp @ 820] 
04 0014ef50 00f55396 017d2348 00000000 0014f18c HRDLogbook!CWnd::OnWndMsg+0x314 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 2276] 
05 0014ef6c 00f73b53 00000001 00000000 0014f18c HRDLogbook!CXTPCommandBarsSiteBase<CMDIFrameWnd>::OnWndMsg+0x46 [c:\ham radio\codejock software\mfc\xtreme toolkitpro v15.0.2\source\commandbars\xtpframewnd.h @ 190] 
06 0014ef8c 00f6f56f 00000001 00000000 0014f18c HRDLogbook!CWnd::WindowProc+0x22 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 2094] 
07 0014effc 00f6fd24 06cd0020 000d0706 00000001 HRDLogbook!AfxCallWndProc+0xb0 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 285] 
08 0014f01c 76d1c4b7 000d0706 00000001 00000000 HRDLogbook!AfxWndProc+0x34 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 434] 
09 0014f048 76d15f6f 00f6fcf0 000d0706 00000001 user32!InternalCallWinProc+0x23
0a 0014f0c0 76d14ede 00000000 00f6fcf0 000d0706 user32!UserCallWinProcCheckWow+0xe0
0b 0014f11c 76d0e952 026a85f8 00000001 00000000 user32!DispatchClientMessage+0xcf
0c 0014f14c 77316aee 0014f164 000000ac 0014f5f4 user32!__fnINLPCREATESTRUCT+0x8b
0d 0014f20c 76d0eb5c 76d0eaf0 00000000 0014f538 ntdll!KiUserCallbackDispatcher+0x2e
0e 0014f210 76d0eaf0 00000000 0014f538 0014f260 user32!NtUserCreateWindowEx+0xc
0f 0014f4b4 76d0ec1c 00000000 0014f538 0014f54c user32!VerNtUserCreateWindowEx+0x1a3
10 0014f560 76d0ec77 00000000 017aab7c 0014f54c user32!_CreateWindowEx+0x201
11 0014f59c 00f75121 00000000 017aab7c 069d8f30 user32!CreateWindowExW+0x33
12 0014f604 00f70a70 00000000 017aab7c 069d8f30 HRDLogbook!IsolationAwareCreateWindowExW+0x58 [f:\dd\externalapis\windows\winblue\sdk\inc\winuser.inl @ 454] 
13 0014f674 00f8abd4 00000000 00000000 069d8f30 HRDLogbook!CWnd::CreateEx+0xb7 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 743] 
14 0014f6b4 00f8b269 00000000 069d8f30 00cf8000 HRDLogbook!CFrameWnd::Create+0x7c [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winfrm.cpp @ 624] 
15 0014f708 00f89a32 00000080 00cf8000 00000000 HRDLogbook!CFrameWnd::LoadFrame+0xbc [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winfrm.cpp @ 756] 
16 0014f724 00f551e7 00000080 00cf8000 00000000 HRDLogbook!CMDIFrameWnd::LoadFrame+0x17 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winmdi.cpp @ 270] 
17 0014f740 014d1390 00000080 00cf8000 00000000 HRDLogbook!CXTPFrameWndBase<CMDIFrameWnd>::LoadFrame+0x17 [c:\ham radio\codejock software\mfc\xtreme toolkitpro v15.0.2\source\commandbars\xtpframewnd.h @ 231] 
18 0014fc98 013b777d 00000000 00000001 00000000 HRDLogbook!CHRDLogbookApp::InitInstance+0xde0 [c:\ham radio\logbook\hrdlogbook\hrdlogbook.cpp @ 888] 
19 0014fcac 010ad771 00f30000 00000000 002916f0 HRDLogbook!AfxWinMain+0x46 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winmain.cpp @ 37] 
1a 0014fcf8 7677efac 7ffd5000 0014fd44 77333628 HRDLogbook!__tmainCRTStartup+0xfd [f:\dd\vctools\crt\crtw32\startup\crt0.c @ 251] 
1b 0014fd04 77333628 7ffd5000 7739d8b7 00000000 kernel32!BaseThreadInitThunk+0xe
1c 0014fd44 773335fb 010ad7eb 7ffd5000 00000000 ntdll!__RtlUserThreadStart+0x70
1d 0014fd5c 00000000 010ad7eb 7ffd5000 00000000 ntdll!_RtlUserThreadStart+0x1b
Steps To ReproduceThis issue came from a customer ticket (https://support.hamradiodeluxe.com/scp/tickets.php?id=20139). No repro steps are offered in that ticket -- there's not much diagnostic information to go on.

TagsNo tags attached.
ModuleLogbook
Sub-ModuleMaps
TestingNot Started

Relationships

Activities

K7ZCZ

2018-07-27 16:12

manager   ~0005864

The ticket says that the customer is running 64-bit Windows 10.

The dump is curious because it shows the application is running at a 16-bit color depth. That's odd, because Windows 10 doesn't support 16-bit color. (An app can be made to run at 16-bit color, I'm told, but I've never been able to get it to work.)

Turns out the ticket is incorrect:

0:000> vertarget
Windows 7 Version 7601 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
6.1.7601.18015 (win7sp1_gdr.121129-1432)
Machine Name:
Debug session time: Thu Jul 26 16:05:48.000 2018 (UTC - 7:00)
System Uptime: not available
Process Uptime: 0 days 0:00:05.000
  Kernel time: 0 days 0:00:01.000
  User time: 0 days 0:00:02.000


The dump makes it clear that the user is running a 32-bit version of Windows 7. Windows 7, being so old, certainly does still support 16-bit color in desktop apps. I think it's important for us to collect correct information because bad clues never make a good diagnosis easy.

K7ZCZ

2018-07-27 16:14

manager   ~0005865

The Logbook draws a map for the grey line. The code that does the drawing uses the CBackgroundImage class to manage the bitmap of the map where the grey line is drawn. Turns out the cBackgroundImage class has a bug in it when handling bitmaps with 16-bit color depth; the address of pixels is not (never!) correctly calculated, and the code ends up falling over with a memory error.

K7ZCZ

2018-07-27 16:14

manager   ~0005866

fixed with this checkin:
https://hrdsoftware.visualstudio.com/HRD/_versionControl/changeset/4258

g3ucq

2018-08-09 03:44

viewer   ~0005952

Does not crash for me. Never has. Fixed.

WA9PIE

2018-08-09 21:05

administrator   ~0005960

Closed as part of the 875 beta... 876 release.

Issue History

Date Modified Username Field Change
2018-07-27 12:36 K7ZCZ New Issue
2018-07-27 12:40 K7ZCZ Product Version => 6.4.0.873
2018-07-27 12:40 K7ZCZ Summary Logbook: crashesh when loading world map resource in main frame at startup => Logbook: crashes when loading world map resource in main frame at startup
2018-07-27 12:40 K7ZCZ Description Updated View Revisions
2018-07-27 16:12 K7ZCZ Note Added: 0005864
2018-07-27 16:14 K7ZCZ Note Added: 0005865
2018-07-27 16:14 K7ZCZ Assigned To => K7ZCZ
2018-07-27 16:14 K7ZCZ Status new => resolved
2018-07-27 16:14 K7ZCZ Resolution open => fixed
2018-07-27 16:14 K7ZCZ Note Added: 0005866
2018-08-08 18:20 K7ZCZ Fixed in Version => 6.4.0.875
2018-08-09 03:44 g3ucq Note Added: 0005952
2018-08-09 21:01 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe
2018-08-09 21:03 WA9PIE Fixed in Version 6.4.0.875 => 6.4.0.876
2018-08-09 21:05 WA9PIE Note Added: 0005960
2018-08-09 21:05 WA9PIE Status resolved => closed