[Marble-bugs] [marble] [Bug 318512] New: Marble-Qt crashes when trying to delete a restored track from previous run

Bernhard Beschow bbeschow at cs.tu-berlin.de
Wed Apr 17 16:58:13 UTC 2013


https://bugs.kde.org/show_bug.cgi?id=318512

            Bug ID: 318512
           Summary: Marble-Qt crashes when trying to delete a restored
                    track from previous run
    Classification: Unclassified
           Product: marble
           Version: 1.6.0 (KDE 4.11.0)
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: bbeschow at cs.tu-berlin.de

When Marble (Qt-version only) picks up a track from a prevous run, Marble
crashes when trying to delete it. The crash is not reproducable in the KDE
version because the "restore track" feature is broken or not present here.

Backtrace:

Thread 1 (Thread 0x7ffff7fa8780 (LWP 21410)):
#0  0x00007ffff6416a65 in Marble::GeoDataTrack::lineString (this=0x120cea0) at
/home/shentey/Projekte/marble/src/src/lib/geodata/data/GeoDataTrack.cpp:249
No locals.
#1  0x00007ffff641c8fd in Marble::GeoTrackGraphicsItem::update (this=0x118e120)
at
/home/shentey/Projekte/marble/src/src/lib/geodata/graphicsitem/GeoTrackGraphicsItem.cpp:40
No locals.
#2  0x00007ffff641c9a2 in Marble::GeoTrackGraphicsItem::paint (this=0x118e120,
painter=0x7fffffffced0, viewport=0x742600) at
/home/shentey/Projekte/marble/src/src/lib/geodata/graphicsitem/GeoTrackGraphicsItem.cpp:33
No locals.
#3  0x00007ffff645e967 in Marble::GeometryLayer::render (this=0x742700,
painter=0x7fffffffced0, viewport=0x742600, renderPos=..., layer=<optimized
out>) at /home/shentey/Projekte/marble/src/src/lib/layers/GeometryLayer.cpp:258
        item = 0x118e120
        _container_ = {c = {{p = {static shared_null = {ref = {_q_value =
14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d =
0x15d4370}, d = 0x15d4370}}, brk = 0, i = {i = 0x15d4390}, e = {i = 0x15d4450}}
        items = {{p = {static shared_null = {ref = {_q_value = 14177}, alloc =
0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x15d4370}, d =
0x15d4370}}
        painted = 0
#4  0x00007ffff64e2d95 in Marble::LayerManager::renderLayers (this=0x7426d0,
painter=0x7fffffffced0, viewport=0x742600) at
/home/shentey/Projekte/marble/src/src/lib/LayerManager.cpp:171
        layer = 0x742710
        _container_ = {c = {{p = {static shared_null = {ref = {_q_value =
14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d =
0xdc7170}, d = 0xdc7170}}, brk = 0, i = {i = 0xdc7188}, e = {i = 0xdc71a8}}
        layers = {{p = {static shared_null = {ref = {_q_value = 14177}, alloc =
0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xdc7170}, d =
0xdc7170}}
        timer = {mds = 67015576}
        _container_ = {c = {<QList<QString>> = {{p = {static shared_null = {ref
= {_q_value = 14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array =
{0x0}}, d = 0x106f140}, d = 0x106f140}}, <No data fields>}, brk = 0, i = {i =
0x106f170}, e = {i = 0x106f1a0}}
        totalTime = {mds = 67015571}
        renderPositions = {<QList<QString>> = {{p = {static shared_null = {ref
= {_q_value = 14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array =
{0x0}}, d = 0x106f140}, d = 0x106f140}}, <No data fields>}
        traceList = {<QList<QString>> = {{p = {static shared_null = {ref =
{_q_value = 14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array =
{0x0}}, d = 0x15d9d10}, d = 0x15d9d10}}, <No data fields>}
#5  0x00007ffff6480ab1 in Marble::MarbleMap::paint (this=0x7f10b0, painter=...,
dirtyRect=...) at /home/shentey/Projekte/marble/src/src/lib/MarbleMap.cpp:766
        t = {mds = 67015571}
        fps = <optimized out>
#6  0x00007ffff6475adf in Marble::MarbleWidget::paintEvent (this=0x741440,
evt=0x7fffffffd710) at
/home/shentey/Projekte/marble/src/src/lib/MarbleWidget.cpp:814
        doClip = <optimized out>
        geoPainter = {<Marble::ClipPainter> = {<QPainter> = {static
staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff74f4960
"QPainter", data = 0x7ffff74f4a00, extradata = 0x0}}, d_ptr = {d = 0x15daa90}},
d = 0x15c94c0}, d = 0xa96d40}
        t = {mds = 67015571}
        paintDevice = 0x741450
        image = <incomplete type>
#7  0x00007ffff6e7a9fe in QWidget::event(QEvent*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#8  0x00007ffff6e2b18c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQtGui.so.4
No symbol table info available.
#9  0x00007ffff6e2f60a in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#10 0x00007ffff7a7c6ae in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQtCore.so.4
No symbol table info available.
#11 0x00007ffff6e765c4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#12 0x00007ffff7040c4d in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#13 0x00007ffff6e6b8b0 in QWidgetPrivate::syncBackingStore() () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#14 0x00007ffff6e7aea4 in QWidget::event(QEvent*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#15 0x00007ffff723f25b in QMainWindow::event(QEvent*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#16 0x00007ffff6e2b18c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQtGui.so.4
No symbol table info available.
#17 0x00007ffff6e2f60a in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQtGui.so.4
No symbol table info available.
#18 0x00007ffff7a7c6ae in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQtCore.so.4
No symbol table info available.
#19 0x00007ffff7a80011 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQtCore.so.4
No symbol table info available.
#20 0x00007ffff7aaa9d3 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#21 0x00007ffff50a7845 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x00007ffff50a7b78 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#23 0x00007ffff50a7c34 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#24 0x00007ffff7aaab66 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
No symbol table info available.
#25 0x00007ffff6ecb69e in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#26 0x00007ffff7a7b3ff in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
No symbol table info available.
#27 0x00007ffff7a7b688 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
No symbol table info available.
#28 0x00007ffff7a80328 in QCoreApplication::exec() () from
/usr/lib/libQtCore.so.4
No symbol table info available.
#29 0x0000000000414a4c in main (argc=2, argv=<optimized out>) at
/home/shentey/Projekte/marble/src/src/qtmain.cpp:257
        graphicsString = {static null = {<No data fields>}, static shared_null
= {ref = {_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x6cba40, static
codecForCStrings = 0x0}
        app = <incomplete type>
        marbleDataPath = {static null = {<No data fields>}, static shared_null
= {ref = {_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x65c780
<QString::shared_null>, static codecForCStrings = 0x0}
        mapThemeId = {static null = {<No data fields>}, static shared_null =
{ref = {_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x65c780
<QString::shared_null>, static codecForCStrings = 0x0}
        cmdLineSettings = {{d = 0x65c7a0 <QMapData::shared_null>, e = 0x65c7a0
<QMapData::shared_null>}}
        window = 0x747380
        args = {<QList<QString>> = {{p = {static shared_null = {ref = {_q_value
= 14177}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d =
0x74d810}, d = 0x74d810}}, <No data fields>}
        graphicsSettings = <incomplete type>
        lang = {static null = {<No data fields>}, static shared_null = {ref =
{_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7472c0, static
codecForCStrings = 0x0}
        translator = <incomplete type>
        dataPathIndex = <optimized out>
        distanceString = {static null = {<No data fields>}, static shared_null
= {ref = {_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x65c780
<QString::shared_null>, static codecForCStrings = 0x0}
        profiles = {i = 0}
        coordinatesString = {static null = {<No data fields>}, static
shared_null = {ref = {_q_value = 165971}, alloc = 0, size = 0, data = 0x65c79a
<QString::shared_null+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty =
{ref = {_q_value = 750}, alloc = 0, size = 0, data = 0x7ffff7dd98fa
<QString::shared_empty+26>, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x65c780
<QString::shared_null>, static codecForCStrings = 0x0}
        measurement = <optimized out>


Reproducible: Always

Steps to Reproduce:
1. Create a route
2. Let Marble simulate the route by picking Location->Position
Tracking->Current Route
3. Let Marble simulate the route at least twice
4. Restart Marble
5. Clear the route (Location->Position Tracking->Clear Route)
Actual Results:  
Marble crashes and the route is not deleted.

Expected Results:  
The route should be cleared and deleted and Marble should not crash.

The crash was introduced by commit bb92970f93b4463b30dff9a8bdb7f49ccd63fc9b.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list