View Issue Details

IDProjectCategoryView StatusLast Update
0002819Ham Radio DeluxeBugpublic2018-08-09 21:05
ReporterK7ZCZAssigned ToK7ZCZ 
Status closedResolutionfixed 
PlatformIntel i7-5960XOSWindows 10 Professional x64OS Version16299
Product Version6.4.0.873 
Target VersionFixed in Version6.4.0.876 
Summary0002819: Logbook: DXCluster will try to use databases other than those configured for WSI lookups
As far as the DXCluster is concerned, databases configured in the Logbook have two interesting attributes: are they connected at the moment, and are they configured for WSI lookups.

A database may be disconnected if a connection couldn't be established at startup. If the user has configured a database in the Database Manager, for example, but the server that hosts that database isn't actually running or unreachable.

The user may configure any database to be (or not be) used for WSI lookups. A bit of confusing UI, since "WSI Lookups" in the configuration is different nomenclature than "DX Cluster". But the setting is intended to enable (or disable) a particular data source from being used for WSI lookups.

Remarkably, these states aren't correctly considered. The country lookup code, which processes WSI hits, will skip a database for a query only if that database is not connected AND not configured for WSI. If the database isn't connected but is configured for WSI, the query is still attempted. If the database is connected but not configured for WSI, the query is still attempted.

Steps To ReproduceCode throughout the WSI lookup code looks like this:

            if (!pLookup->bIsOpen && !pLookup->log.Lookup() )

It should look more like this:

            if (!pLookup->bIsOpen || !pLookup->log.Lookup() )

A given the databse should be skipped if it's not connected OR if it's not configured for lookup.
TagsNo tags attached.
Sub-ModuleDX Cluster
TestingNot Started



2018-07-28 11:36

administrator   ~0005873

An easy way to reproduce this is to create a bogus ODBC source:

1) Open the ODBC manager
2) Add an Access source
3) Enter a title for the data source
4) Do NOT enter any other information
5) Sav the data source

Then, add that data source to the Logbook, and set it up for WSI use:

1) Use the "Manage" button in the logbook toolbar
2) Add a data source
3) Select the data source created above
4) Enable it for WSI lookups
5) Close the "Add" window
6) Close the "Manager" window

at this point, turning on the DX Cluster will make the application quite sick. Spots will load, but will never look up. On my machine, popu-up windows from ODBC appear asking the user to select the actual data source.

Since the data source couldn't be opened, the code could recognize this condition and fail to use the data source. The application instead persists, resulting in unexpected UI and a pretty obnoxious situation for the user. At this point in the repro, the application is essentially hung. It could be recovered, but only by tedious and knowledgable effort from the user.


2018-07-30 20:31

administrator   ~0005890

Shelf with a fix is available here:


2018-08-04 09:06

administrator   ~0005918

checked in at this change set:


2018-08-09 21:05

administrator   ~0005959

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

Issue History

Date Modified Username Field Change
2018-07-28 00:43 K7ZCZ New Issue
2018-07-28 11:36 K7ZCZ Note Added: 0005873
2018-07-30 20:31 K7ZCZ Note Added: 0005890
2018-08-04 09:06 K7ZCZ Assigned To => K7ZCZ
2018-08-04 09:06 K7ZCZ Status new => resolved
2018-08-04 09:06 K7ZCZ Resolution open => fixed
2018-08-04 09:06 K7ZCZ Note Added: 0005918
2018-08-08 18:20 K7ZCZ Fixed in Version =>
2018-08-09 21:02 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe
2018-08-09 21:03 WA9PIE Fixed in Version =>
2018-08-09 21:05 WA9PIE Note Added: 0005959
2018-08-09 21:05 WA9PIE Status resolved => closed