SIGSEGV after dive computer download

Thiago Macieira thiago at macieira.org
Tue Sep 17 07:41:41 UTC 2013


On terça-feira, 17 de setembro de 2013 09:51:28, Linus Torvalds wrote:
>         -> 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).

There's only one call to QString's constructor in WeightModel::data that 
passes a non-constant string:

                switch(index.column()) {
                case TYPE:
=>                      ret = QString(ws->description);
                        break;
                case WEIGHT:
                        ret = get_weight_string(ws->weight, TRUE);
                        break;
                }
                break;

ws was initialised as:
        weightsystem_t *ws = &current->weightsystem[index.row()];

So we either have a very silly index.row() or current is a bad pointer. I 
guess we started to destroy stuff on ^Q while the UI is still updating from the 
new download.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.hohndel.org/pipermail/subsurface/attachments/20130917/571280c1/attachment.sig>


More information about the subsurface mailing list