View Issue Details

IDProjectCategoryView StatusLast Update
0002779Ham Radio DeluxeBugpublic2018-07-25 20:47
ReporterK7ZCZ 
Assigned ToK7ZCZ 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionFixed in Version6.4.0.873 
Summary0002779: All: applications won't produce visible minidumps when CRTL handlers are called
DescriptionThe C Runtimes have security-aware features that throw an exception rather than execute undefined behaviour in error conditions. We use these functions almost everywhere in the code. If they get a bad parameter (a NULL pointer, a string that's too long to fit into the buffer provided, ...) they throw an exception that's handled by the C Runtimes rather than the Windows exception hanlder.

Inspired by Mantis 2774, I started investigating how the HRD code handles exceptions thrown by the C Runtime security-aware functions. It turns out the HRD minidumper only traps Windows exceptions, and doesn't consider the exception handler that's used by the CRTL.

If we have a regular Win32 crash, our minidumper will catch it and write a minidump. If the security traps catch a problem, they won't cause a minidump to be written with our code.

The symptom the users will see is that the app appears to hang -- not responsive to the keyboard, not painting -- for several seconds while the Windows Error Reporting dumper steps in and handles the crash. The user might find a Windows Event Log message in the Event Viewer describing th eproblem and showing the location of the dump that Winodws takes, but users are very (!) unlikely to find that or sort it out.

It's not hard to get our minidumper code to pay attention to CRTL exceptions (at least for most cases), so we should add that and collect more/better information about crasshes in our suite.
TagsNo tags attached.
ModuleAll
Sub-ModuleGeneral
Testing N/A

Relationships

Activities

K7ZCZ

2018-06-25 18:32

manager   ~0005488

Fixed with this checkin.
https://hrdsoftware.visualstudio.com/HRD/_versionControl/changeset/4194

K7ZCZ

2018-07-18 10:47

manager   ~0005732

This won't be easily tested by customers, so we'll call it closed.

Issue History

Date Modified Username Field Change
2018-06-22 20:37 K7ZCZ New Issue
2018-06-25 18:32 K7ZCZ Assigned To => K7ZCZ
2018-06-25 18:32 K7ZCZ Status new => resolved
2018-06-25 18:32 K7ZCZ Resolution open => fixed
2018-06-25 18:32 K7ZCZ Note Added: 0005488
2018-06-28 10:06 K7ZCZ Fixed in Version => 6.4.0.858
2018-07-18 10:47 K7ZCZ Status resolved => closed
2018-07-18 10:47 K7ZCZ Note Added: 0005732
2018-07-23 22:54 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe
2018-07-24 15:35 WA9PIE Project Ham Radio Deluxe => 3 - Current Dev List
2018-07-24 15:45 WA9PIE Testing Not Started => N/A
2018-07-25 08:00 WA9PIE Fixed in Version 6.4.0.858 => 6.4.0.873
2018-07-25 20:47 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe