Segfault in OstcFirmwareCheck::checkLatest

Anton Lundin glance at
Thu Jan 9 11:47:59 PST 2020

On 09 January, 2020 - Dirk Hohndel wrote:

> > On Jan 8, 2020, at 6:13 PM, Gaetan Bisson <bisson at> wrote:
> > 
> > [2020-01-08 15:55:34 -1000] Gaetan Bisson:
> >> I just rebuilt subsurface from current git master and am getting a
> >> segfault when downloading dives from my OSTC3. The problem appears to be
> >> in OstcFirmwareCheck::checkLatest. I'm attaching the full backtrace of
> >> the crash. I'll investigate more later unless someone beats me to it.
> > 
> > So the problem seems to be that I've got an OSTC3 yet the following
> > assertion holds:
> > 
> > 	strcmp(data->product, "OSTC 4") == 0)
> > 
> > Since apparently it's libdivecomputer that populates the device_data
> > struct, I'd like to report this to them but I don't see any recent
> > change that might have broken this, and this issue certainly did not
> > exist in mid-december. I'll dig more but for now I'm a bit confused.
> > 
> So in commit c36513a9f3e77 we changed how we recognize and try to identify 
> OSTC dive computers via BLE (as that is not always reliably possible), but that
> shouldn't have the result that you describe above.
> Typically Anton is a great resource for all things OSTC and especially the parts
> of our code that configure the OSTC. Maybe he has any ideas?

Hmm... We fetched the update info for a OSTC 3 but we got a firmware
version for a OSTC 4, and then trying to convert the update info
firmware number into something we can compare with the device firmware
version we accessed outside a array.

First, we should require that we have the right info for the device
we're trying to check if we should update, So we compare apples with
apples, and not trying to adress elements outside our QStringList.

If we get a DC_EVENT_DEVINFO event from libdivecomputer with another
product than we provided, we change to that.

So, can you re-run this and provide a libdivecomptuer logfile? I'd like
to see what the device actually says.


Anton Lundin	+46702-161604

More information about the subsurface mailing list