Two crashed
Dirk Hohndel
dirk at hohndel.org
Wed Jun 5 17:59:52 PDT 2013
On Wed, 2013-06-05 at 14:31 -0700, Thiago Macieira wrote:
> On quarta-feira, 5 de junho de 2013 14.56.57, Robert Helling wrote:
> > Hi,
> >
> > with the latest update from git, on my Mac, subsurfaces crashes reliably,
> > when I either select "Open" from the Menue, on the command line it writes:
> >
> > th-ws-tmpim01:subsurface helling$ ./subsurface
> > ../Dropbox/TalkingToMyself/Robert.HellingSubsurface.xml
> > QSqlDatabase: QSQLITE driver not loaded
> > QSqlDatabase: available drivers:
>
> Hello Robert
>
> There are a couple of installation problems with your Qt there. First of all,
> the Sqlite driver seems to be missing. We don't use it in Subsurface (AFAIK),
I think we do for the import of some 3rd party format...
> > Dynamic session lookup supported but failed: launchd did not provide a
> > socket path, verify that org.freedesktop.dbus-session.plist is loaded!
>
> You have D-Bus installed and configured for dynamic session support, but the
> support was not loaded into launchd on your Mac. Another installation problem.
That's one of the things that bug me about the current marble package
for MacPorts. It requires DBUS even though there is nothing that we (or
Qt) do that should require DBUS. For an installable app that's a
show-stopper...
> > Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> > 0 subsurface 0x000000010cbad57b QListData::size()
> > const + 15 (qlist.h:98)
> > 1 subsurface 0x000000010cbadc10
> > QList<TreeItemDT*>::count() const + 24 (qlist.h:280)
> > 2 subsurface 0x000000010cb9e9d6
> > DiveTripModel::rowCount(QModelIndex const&) const + 108 (models.cpp:1049)
> [cut]
>
> Looks like a null-pointer dereference.
>
> The code in question is:
> if (!parent.isValid())
> parentItem = rootItem;
> else
> parentItem = static_cast<TreeItemDT*>(parent.internalPointer());
>
> int amount = parentItem->children.count();
> (the last line is 1049)
I wonder how this can turn into a NULL dereference... rootItem should
always be set, and if parent is valid, wouldn't the internalPointer be
valid, too?
/D
More information about the subsurface
mailing list