On Fri, 25 Oct 2013 07:55:19 -0400 Ajtim <lum...@gmail.com> wrote: > On Fri, 25 Oct 2013 12:53:49 +0000 > Schaich Alonso <alonsoscha...@fastmail.fm> wrote: > > > On Thu, 24 Oct 2013 19:19:21 -0400 > > Ajtim <lum...@gmail.com> wrote: > > > > > Hi! > > > > > > I built "marble" with clang on FreeBSD 10.0-BETA1 and when I start > > > it it crashed: > > > > > > Application: Marble Virtual Globe (marble), signal: Segmentation > > > fault [...] > > > > > > Do I need to use gcc instead, please? > > > > > > Thank you. > > > > > > > > > Mitja > > > > If it's built with gcc it segfaults nevertheless. Over here I get > > > > > Null pointer in call to GeoDataTreeModel::addFeature (parent > > > 0x810288d38 - feature 0x0 ) > > > KCrash: Application 'marble' crashing... > > > > printed on the terminal before the application crashes though. It's > > probably the lack of some "optional" dependencies which aren't in > > ports yet. I'll try to investigate this. > > > > Alonso > > I did disable option for GPS and rebuilt but it crashed again: > > Do you thing that is related because I cannot build telepathy-qt4, > please? >
No, it's unrelated. This crash is caused by insufficient runtime validation. I strongly suspect it's the Bookmark Manager (from src/lib/BookmarkManager.h) that gets corrupted at some point, or is corrupt to begin with. This: > Thread 5 (Thread 810006400 (LWP 101622/marble)): > [...] > 10 0x000000080105dc4c in Marble::BookmarkManager::updateBookmarkFile () > from /usr/local/kde4/lib/libmarblewidget.so.16 > 11 0x000000080105d7a7 in Marble::BookmarkManager::loadFile () > from /usr/local/kde4/lib/libmarblewidget.so.16 > 12 0x0000000000427203 in ?? () > [...] With more symbols (WITH_DEBUG) on the broken frame: #0 Marble::GeoWriter::writeElement (this=0x7fffffffc508, object=0x0) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/lib/geodata/writer/GeoWriter.cpp:62 #1 0x0000000800e801d5 in Marble::GeoWriter::write (this=0x7fffffffc508, device=<value optimized out>, feature=0x0) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/lib/geodata/writer/GeoWriter.cpp:49 #2 0x00000008010793ec in Marble::BookmarkManager::updateBookmarkFile (this=0x8100902f8) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/lib/BookmarkManager.cpp:235 #3 0x0000000801078f47 in Marble::BookmarkManager::loadFile (this=0x8100902f8, relativeFilePath=<value optimized out>) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/lib/BookmarkManager.cpp:117 #4 0x00000000004276fe in MarblePart (this=0x81008ffc0, parentWidget=<value optimized out>, parent=<value optimized out>, arguments=<value optimized out>) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/marble_part.cpp:171 #5 0x0000000000425894 in MainWindow (this=0x810268980, marbleDataPath=<value optimized out>, parent=<value optimized out>) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/KdeMainWindow.cpp:41 #6 0x0000000000424a20 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/obj/usr/ports/astro/marble/work/marble-4.11.2/src/kdemain.cpp:352 The attached patch fixes that segfault, but it just keeps crashing elsewhere then. After applying the patch and rebuilding it will crash having BookmarkManager's helper struct's address within an invalid memory range. Alonso
--- src/lib/geodata/writer/GeoWriter.cpp.orig 2013-08-28 17:03:55.000000000 +0000 +++ src/lib/geodata/writer/GeoWriter.cpp 2013-10-25 13:17:55.766813347 +0000 @@ -8,6 +8,8 @@ // Copyright 2009 Andrew Manson <g.real....@gmail.com> // +#include <stddef.h> + #include "GeoWriter.h" #include "GeoTagWriter.h" @@ -59,6 +61,11 @@ { // Add checks to see that everything is ok here + if (object == NULL) { + mDebug() << "Null Pointer access prevented at GeoWriter::writeElement."; + return false; + } + GeoTagWriter::QualifiedName name( object->nodeType(), m_documentType ); const GeoTagWriter* writer = GeoTagWriter::recognizes( name );
_______________________________________________ kde-freebsd mailing list kde-freebsd@kde.org https://mail.kde.org/mailman/listinfo/kde-freebsd See also http://freebsd.kde.org/ for latest information