Bug 263753 - Marble crash everytime
Summary: Marble crash everytime
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 1.0 (KDE 4.6)
Assignee: marble-bugs
URL:
Keywords:
: 269541 270590 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-01-20 14:51 UTC by EuGene Wolfe
Modified: 2011-04-14 13:39 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.0.1 (KDE 4.6.1)


Attachments
Last open route (1.07 KB, application/octet-stream)
2011-01-21 00:26 UTC, EuGene Wolfe
Details
New crash information added by DrKonqi (13.73 KB, text/plain)
2011-02-18 23:22 UTC, ultrajej
Details

Note You need to log in before you can comment on or make changes to this bug.
Description EuGene Wolfe 2011-01-20 14:51:07 UTC
Application: marble (0.92 (1.0 Release Candidate 2))
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.0
Operating System: Linux 2.6.37-candela x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
Fresh installed Marble isn't being started. With every case an information appears: "Segmentation fault". Managed to launch it once, right after the first installation. 
Now every launching is ending with the crash. Also uninstalling and the reinstallation aren't helping.

The crash can be reproduced every time.

-- Backtrace:
Application: Marble Virtual Globe (marble), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f6af51eb760 (LWP 3425))]

Thread 5 (Thread 0x7f6ae0059700 (LWP 3426)):
#0  0x00007f6af1bac203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f6aecd57009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f6aecd5745c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f6af33071e6 in QEventDispatcherGlib::processEvents (this=0x17fa940, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f6af32d9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f6af32d9dec in QEventLoop::exec (this=0x7f6ae0058db0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f6af31e42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f6af32b95f8 in QInotifyFileSystemWatcherEngine::run (this=0x17fa240) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f6af31e727e in QThreadPrivate::start (arg=0x17fa240) at thread/qthread_unix.cpp:266
#9  0x00007f6aed60d971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f6af1bb892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f6adbfb5700 (LWP 3432)):
#0  0x00007f6af1bac203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f6aecd57009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f6aecd5745c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f6af33071e6 in QEventDispatcherGlib::processEvents (this=0x19c1900, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f6af32d9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f6af32d9dec in QEventLoop::exec (this=0x7f6adbfb4db0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f6af31e42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f6af32b95f8 in QInotifyFileSystemWatcherEngine::run (this=0x16c81d0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f6af31e727e in QThreadPrivate::start (arg=0x16c81d0) at thread/qthread_unix.cpp:266
#9  0x00007f6aed60d971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f6af1bb892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f6adb7b4700 (LWP 3433)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f6adb7b3a90 in ?? ()
#2  0x00007fff50dff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (Thread 0x7f6ad87ae700 (LWP 3440)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f6ad87ada80 in ?? ()
#2  0x00007fff50dff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x7f6af51eb760 (LWP 3425)):
[KCrash Handler]
#6  Marble::GeoPainter::drawPolyline (this=0x7fff50de5520, lineString=..., labelText=..., labelPositionFlags=) at ../../../../marble/src/lib/GeoPainter.cpp:558
#7  0x00007f6af487f51c in renderAlternativeRoutes (this=<value optimized out>, painter=0x7fff50de5520, viewport=<value optimized out>, renderPos=<value optimized out>, layer=<value optimized out>) at ../../../../marble/src/lib/routing/RoutingLayer.cpp:246
#8  Marble::RoutingLayer::render (this=<value optimized out>, painter=0x7fff50de5520, viewport=<value optimized out>, renderPos=<value optimized out>, layer=<value optimized out>) at ../../../../marble/src/lib/routing/RoutingLayer.cpp:677
#9  0x00007f6af47ec124 in Marble::LayerManager::renderLayer (this=<value optimized out>, painter=0x7fff50de5520, viewParams=<value optimized out>, renderPosition=...) at ../../../../marble/src/lib/LayerManager.cpp:181
#10 0x00007f6af47ec5dd in Marble::LayerManager::renderLayers (this=0x1807828, painter=0x7fff50de5520, viewParams=0x1807818, renderPositions=<value optimized out>) at ../../../../marble/src/lib/LayerManager.cpp:144
#11 0x00007f6af4798de4 in Marble::MarbleMapPrivate::paintGround (this=0x1807800, painter=<value optimized out>, dirtyRect=<value optimized out>) at ../../../../marble/src/lib/MarbleMap.cpp:227
#12 0x00007f6af478bea8 in Marble::MarbleWidget::paintEvent (this=0x17a3a90, evt=0x7fff50de5de0) at ../../../../marble/src/lib/MarbleWidget.cpp:805
#13 0x00007f6af2697c2e in QWidget::event (this=0x17a3a90, event=0x7fff50de5de0) at kernel/qwidget.cpp:8333
#14 0x00007f6af2641fdc in QApplicationPrivate::notify_helper (this=0x151b160, receiver=0x17a3a90, e=0x7fff50de5de0) at kernel/qapplication.cpp:4396
#15 0x00007f6af2647aed in QApplication::notify (this=0x7fff50de8390, receiver=0x17a3a90, e=0x7fff50de5de0) at kernel/qapplication.cpp:4277
#16 0x00007f6af3d64a36 in KApplication::notify (this=0x7fff50de8390, receiver=0x17a3a90, event=0x7fff50de5de0) at ../../kdeui/kernel/kapplication.cpp:311
#17 0x00007f6af32dacdc in QCoreApplication::notifyInternal (this=0x7fff50de8390, receiver=0x17a3a90, event=0x7fff50de5de0) at kernel/qcoreapplication.cpp:732
#18 0x00007f6af269e67d in sendSpontaneousEvent (this=0x17a3f60, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x15ee350) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#19 QWidgetPrivate::drawWidget (this=0x17a3f60, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5420
#20 0x00007f6af269f328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=0, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5627
#21 0x00007f6af269f159 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=1, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5614
#22 0x00007f6af269f159 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=3, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5614
#23 0x00007f6af269e3da in QWidgetPrivate::drawWidget (this=0x16d75b0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5473
#24 0x00007f6af269f328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=1, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5627
#25 0x00007f6af269e3da in QWidgetPrivate::drawWidget (this=0x16d1e60, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5473
#26 0x00007f6af269f328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=6, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5627
#27 0x00007f6af269f159 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=7, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5614
#28 0x00007f6af269f159 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=10, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5614
#29 0x00007f6af269e3da in QWidgetPrivate::drawWidget (this=0x16d72b0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x15ee350) at kernel/qwidget.cpp:5473
#30 0x00007f6af2872408 in QWidgetBackingStore::sync (this=0x15ee350) at painting/qbackingstore.cpp:1328
#31 0x00007f6af2872769 in QWidgetBackingStore::sync (this=0x15ee350, exposedWidget=0x16b1e10, exposedRegion=...) at painting/qbackingstore.cpp:1130
#32 0x00007f6af26bc4da in QETWidget::translatePaintEvent (this=0x16b1e10, event=<value optimized out>) at kernel/qapplication_x11.cpp:5117
#33 0x00007f6af26c904b in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff50de7fb0) at kernel/qapplication_x11.cpp:3436
#34 0x00007f6af26f50e2 in x11EventSourceDispatch (s=0x15362a0, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x00007f6aecd53342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0x00007f6aecd572a8 in ?? () from /lib/libglib-2.0.so.0
#37 0x00007f6aecd5745c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#38 0x00007f6af3307193 in QEventDispatcherGlib::processEvents (this=0x150cd20, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#39 0x00007f6af26f4a4e in QGuiEventDispatcherGlib::processEvents (this=0x7fff50de5520, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007f6af32d9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#41 0x00007f6af32d9dec in QEventLoop::exec (this=0x7fff50de82e0, flags=) at kernel/qeventloop.cpp:201
#42 0x00007f6af32ddebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#43 0x00000000004210a5 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../../marble/src/kdemain.cpp:351

Reported using DrKonqi
Comment 1 Dennis Nienhüser 2011-01-20 23:07:50 UTC
SVN commit 1216036 by nienhueser:

Guard against faulty routes.
CCBUG: 263753

 M  +2 -0      RoutingLayer.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1216036
Comment 2 Dennis Nienhüser 2011-01-20 23:16:00 UTC
SVN commit 1216040 by nienhueser:

Guard against faulty routes.
CCBUG: 263753
Backport of commit 1216036.

 M  +2 -0      RoutingLayer.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1216040
Comment 3 Dennis Nienhüser 2011-01-20 23:19:08 UTC
SVN commit 1216041 by nienhueser:

Guard against faulty routes.
CCBUG: 263753
Backport of commit 1216036.

 M  +2 -0      RoutingLayer.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1216041
Comment 4 Dennis Nienhüser 2011-01-20 23:34:46 UTC
Hi, thanks for the bug report.

I tried to reproduce it, but haven't succeeded yet. I see where it crashes (the fix above should prevent it), but I'm not able to trigger that crash actually even when I manipulate the stored route state to be broken.

Can you attach the last opened route, if there is any on your system? It is saved at ~/.local/share/marble/routing/route.kml

Please attach it to this bug report or send it to me via email. Marble should start fine if you delete that file as a workaround.
Comment 5 EuGene Wolfe 2011-01-21 00:26:27 UTC
Created attachment 56262 [details]
Last open route

Please. It is only route I appointed which for the example (I am a Polish Marble translator and I wanted to check the translation)
Comment 6 ultrajej 2011-02-18 23:22:45 UTC
Created attachment 57364 [details]
New crash information added by DrKonqi

marble (1.0.0 (Stable Release)) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.0

- What I was doing when the application crashed:
Started once only. I cannot open it since.
I downloaded all map layouts. I also downloaded maps for the UK, the republic of Irland and France.
I tried to calculate the shortest way from Northern Ireland to the republic. It was hanging for more than 10 min. I closed Marble.
I cannot open it since.
My last route is the following kml:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
    <Document>
        <Folder>
            <name>Route Request</name>
            <Placemark>
                <name>Ardenvohr Street, Ballymacarret, Belfast, Wigtownshire, Ulster, Northern Ireland, BT6 8HL, Royaume-Uni</name>
                <Point>
                    <coordinates>-5.9031975754,54.5885891356</coordinates>
                </Point>
            </Placemark>
            <Placemark>
                <name>Rosslare Harbour, County Wexford, Leinster, Irlande</name>
                <Point>
                    <coordinates>-6.3346258341,52.2507970963</coordinates>
                </Point>
            </Placemark>
        </Folder>
        <Document>
            <name>0.0 m (Yours)</name>
            <Folder>
                <name>Paths</name>
                <Placemark>
                    <name>Tessellated</name>
                    <description>If the &lt;tessellate&gt; tag has a value of 1, the line will contour to the underlying terrain</description>
                </Placemark>
            </Folder>
        </Document>
    </Document>
</kml>

-- Backtrace (Reduced):
#6  Marble::GeoPainter::drawPolyline (this=0x7fff474783a0, lineString=..., labelText=..., labelPositionFlags=) at ../../../../marble/src/lib/GeoPainter.cpp:558
#7  0x00007f0a6b0ca51c in renderAlternativeRoutes (this=<value optimized out>, painter=0x7fff474783a0, viewport=<value optimized out>, renderPos=<value optimized out>, layer=<value optimized out>) at ../../../../marble/src/lib/routing/RoutingLayer.cpp:246
#8  Marble::RoutingLayer::render (this=<value optimized out>, painter=0x7fff474783a0, viewport=<value optimized out>, renderPos=<value optimized out>, layer=<value optimized out>) at ../../../../marble/src/lib/routing/RoutingLayer.cpp:677
#9  0x00007f0a6b0371b4 in Marble::LayerManager::renderLayer (this=<value optimized out>, painter=0x7fff474783a0, viewParams=<value optimized out>, renderPosition=...) at ../../../../marble/src/lib/LayerManager.cpp:181
#10 0x00007f0a6b03766d in Marble::LayerManager::renderLayers (this=0x19ec1d8, painter=0x7fff474783a0, viewParams=0x19ec1c8, renderPositions=<value optimized out>) at ../../../../marble/src/lib/LayerManager.cpp:144
Comment 7 Dennis Nienhüser 2011-02-19 19:33:55 UTC
Thanks for the feedback. I just checked with both routes and could reproduce the crash after reverting the commit above. Marble 1.0.1 will handle such routes fine.

@ultrajej@yahoo.fr: You can work around the problem by deleting ~/.local/share/marble/routing/route.kml
Comment 8 Dennis Nienhüser 2011-03-27 15:15:53 UTC
*** Bug 269541 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2011-04-14 13:39:08 UTC
*** Bug 270590 has been marked as a duplicate of this bug. ***