SIGSEGV after dive computer download

Tomaz Canabrava tcanabrava at kde.org
Tue Sep 17 07:09:11 UTC 2013


Most probably when doing the dive download I'm not updating the cache
values of the WeigthModel::data() , I'll check here and test && debug


On Tue, Sep 17, 2013 at 10:51 AM, Linus Torvalds <
torvalds at linux-foundation.org> wrote:

> Ok, I'm using current -git, and this *seems* to be a new bug (but
> maybe I just haven't triggered it before).
>
> If you do a dive computer download to download new dives, and then
> immediately save-and-exit (^S ^Q), you get a SIGSEGV. It _seems_ to be
> repeatable.
>
> This does *not* happen if you do the download, then expand the dive
> table and look at the dives, and only *then* do the ^S ^Q. So it seems
> to be some issue of the Qt table information being stale.
>
> The call chain is deep into Qt internals:
>
> QTableView::paintEvent
>   -> QTableViewPrivate::drawCell
>     -> QStyledItemDelegate::paint
>       -> QStyledItemDelegate::initStyleOption
>         -> WeightModel::data
>           -> QString::QString
>             -> QString::fromAscii_helper
>
> and it seems to be following a bogus pointer (the pointer value is
> "0x150000000f" which doesn't look much like a normal pointer, but I
> don't know what it is).
>
> This *seems* to happen only when there are multiple dive computers,
> and things get merged. I cannot reproduce it if I start with an empty
> xml file, and I cannot reproduce it when I download actual new dives.
> But when I download dives that then get merged with old dives (because
> I dived with three dive computers), it seems to be reliable.
>
> I'll see if I can bisect this, or narrow it down some other way.
>
>                          Linus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hohndel.org/pipermail/subsurface/attachments/20130917/2ea5f66f/attachment.html>


More information about the subsurface mailing list