Version: (using Devel) Installed from: Compiled sources The KMLTest ( marble_build_dir/tests/KMLTest ) is currently failing because of a segfault in the GeoDataGeometry::detach method. I'm including the backtrace inline: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb583d9e0 (LWP 15073)] Marble::GeoDataGeometry::detach (this=0x89401a0) at /usr/include/qt4/QtCore/qbasicatomic.h:64 64 return _q_value == value; (gdb) bt #0 Marble::GeoDataGeometry::detach (this=0x89401a0) at /usr/include/qt4/QtCore/qbasicatomic.h:64 #1 0xb7224cc2 in Marble::GeoDataLineString::begin (this=0x89401a0) at /media/stuff/dev/marble/src/lib/geodata/data/GeoDataLineString.cpp:192 #2 0x0804bf3d in Marble::KMLTest::loadKMLFromCache (this=0xbff6dac4) at /media/stuff/dev/marble/tests/KMLTest.cpp:152 #3 0x0804cee8 in Marble::KMLTest::qt_metacall (this=0xbff6dac4, _c=QMetaObject::InvokeMetaMethod, _id=143917472, _a=0xbff6cfd8) at /media/stuff/dev/marble_qtcreator-build/tests/KMLTest.moc:76 #4 0xb7f4a7a9 in QMetaMethod::invoke () from /usr/lib/libQtCore.so.4 #5 0xb7f4af2f in QMetaObject::invokeMethod () from /usr/lib/libQtCore.so.4 #6 0xb73f1477 in ?? () from /usr/lib/libQtTest.so.4 #7 0xb73f22dc in ?? () from /usr/lib/libQtTest.so.4 #8 0xb73f2673 in QTest::qExec () from /usr/lib/libQtTest.so.4 #9 0x0804a8e9 in main (argc=1, argv=0xbff6db84) at /media/stuff/dev/marble/tests/KMLTest.cpp:212
detach fails because the static_cast done above is invalid: It expects a Polygon, but it gets a Point (or rather garbage). This in turn happens because pack() of the Placemark is not called correctly during save: Only pack() of GeoDataFeature is called, not pack() of GeodataPlacemark() for some reason. Therefore too little data is written to the stream, which results in garbage being read later. Needs to be tracked down further.