Segfault with lastest master

Rick Walsh rickmwalsh at gmail.com
Fri Jul 10 23:44:39 PDT 2015


Hi Dirk,

On 11 July 2015 at 15:05, Dirk Hohndel <dirk at hohndel.org> wrote:

> On Sat, Jul 11, 2015 at 02:59:17PM +1000, Rick Walsh wrote:
> > On 11 July 2015 at 12:48, Dirk Hohndel <dirk at hohndel.org> wrote:
> >
> > >
> > >
> > > Nope. MarbleDirs.cpp
> > >
> > > And actually why don't you use this patch...
> > >
> > > diff --git a/src/lib/marble/MarbleDirs.cpp
> b/src/lib/marble/MarbleDirs.cpp
> > > index 014ab0582d0b..734107f6536e 100644
> > > --- a/src/lib/marble/MarbleDirs.cpp
> > > +++ b/src/lib/marble/MarbleDirs.cpp
> > > @@ -68,6 +68,7 @@ QString MarbleDirs::path( const QString&
> relativePath )
> > >      }
> > >      QString result = QDir( fullpath ).canonicalPath();
> > >      if (result.isEmpty()) {
> > > +           qDebug() << fullpath << "result" << result;
> > >             if (relativePath.contains("bitmaps") && relativePath !=
> > > "bitmaps/empty.png")
> > >                     return path("bitmaps/empty.png");
> > >  #if defined(DEBUG)
> > >
> >
> > I've just tried that but I'm not sure it's doing much.
> >
> >  (gdb) run
> > Starting program: /home/rick/build/subsurface/build/subsurface
> > [Thread debugging using libthread_db enabled]
> > Using host libthread_db library "/lib64/libthread_db.so.1".
> > Map theme file does not exist: ""
> > QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No
> > such file or directory
> > [New Thread 0x7fff81bf9700 (LWP 20213)]
> > [Thread 0x7fff81bf9700 (LWP 20213) exited]
> >
>
> Umm. Err. What? If the startup used to get you into the infinite recursion
> (that's what happens in the "return path("bimaps/empty.png");"...)
>
> Oh, never mind. I bet your libssrfmarble isn't compiled with debugging
> enabled, so the qDebug never gets printed for you.
>
> Can you replace the qDebug with
>
> fprintf(stderr, "fullpath %s results in %s\n", qPrintable(fullpath),
> qPrintable(result));
>
> (completely untested, typos and thinkos included free of charge... but
> something along those lines should work...)
>

Now I need a beer and/or coffee.

So after I actually built Subsurface against the Marble libs modified with
the fprintf(stderr... line., this does do something.

(gdb) run
Starting program: /home/rick/build/subsurface/build/subsurface
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
fullpath /bitmaps/empty.png results in
tried to open nonexistent file bitmaps/empty.png
fullpath /maps/earth/srtm2/srtm2.dgml results in
tried to open nonexistent file maps/earth/srtm2/srtm2.dgml
Map theme file does not exist: ""
fullpath
/home/rick/build/subsurface/build/marbledata/placemarks/cityplacemarks.kml
results in
tried to open nonexistent file placemarks/cityplacemarks.kml
fullpath
/home/rick/build/subsurface/build/marbledata/placemarks/cityplacemarks.cache
results in
tried to open nonexistent file placemarks/cityplacemarks.cache

etc.

It is looking for the files in the wrong place.  marbledata is a symbolic
link to:
/home/rick/build/subsurface/marbledata, when it needs to point to
/home/rick/build/marble-source/data.

I recreated the link to point where it should, and the error messages go
away.

Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150711/ea420b58/attachment.html>


More information about the subsurface mailing list