[Merkaartor] Crash when closing a layer

Robert Joop 6765407352758mkt at rainbow.in-berlin.de
Fri Mar 6 20:57:52 GMT 2009


On 09-03-06 17:06:34 CET, Yves Goergen wrote:
> This is reproducible:
> 
> * Open Merkaartor
> * Download a region from a bookmark of relatively small size
> * Zoom out 2 or 3 steps
> * Download more (this must hit the 50,000 nodes limit and fail)
> * Download a new region like 10 km westwards
> * Select the first download layer
> * Close the that selected layer
> 
> Now Merkaartor crashes hard.
> 
> Can anybody confirm this?

i've simplyfied the recipe:
• download region (shift-ctrl-d)
• move about two map widths to the side
• download second region (ctrl-d, enter)
• close second region
→ segmentation fault


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb60f96c0 (LWP 32385)]
0x080b992f in MapFeature::lastUpdated (this=0xf4dd8e8)
    at Map/MapFeature.cpp:138
138		if (p->theLayer->className() == "DirtyMapLayer")
(gdb) p p
$1 = (class MapFeaturePrivate *) 0xf3b4c80
(gdb) p p->theLayer
$2 = (class MapLayer *) 0x0
(gdb) bt
#0  0x080b992f in MapFeature::lastUpdated (this=0xf4dd8e8)
    at Map/MapFeature.cpp:138
#1  0x080cd1e5 in Road::notEverythingDownloaded (this=0xf4dd8e8)
    at Map/Road.cpp:208
#2  0x080c7f63 in Relation::boundingBox (this=0xf4dd818)
    at Map/Relation.cpp:109
#3  0x080ebf2c in MapView::buildFeatureSet (this=0xa47e530, invalidRegion=
        {d = 0xbfa29c2c, static shared_empty = {ref = {_q_value = 455}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, aProj=@0xa47e54c) at MapView.cpp:372
#4  0x080edf5c in MapView::paintEvent (this=0xa47e530, anEvent=0xbfa2a15c)
    at MapView.cpp:201
#5  0xb6cc95ab in QWidget::event () from /usr/lib/libQtGui.so.4
#6  0x080e7fa1 in MapView::event (this=0xa47e530, event=0xbfa2a15c)
    at MapView.cpp:1177
#7  0xb6c7179c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#8  0xb6c796ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#9  0xb69510d1 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#10 0xb6cd21ee in ?? () from /usr/lib/libQtGui.so.4
#11 0xb6cc7f70 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#12 0xb6cc871c in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#13 0xb6cc8622 in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#14 0xb6cc8622 in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#15 0xb6cc7be8 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#16 0xb6e35aae in ?? () from /usr/lib/libQtGui.so.4
#17 0xb6e35f77 in ?? () from /usr/lib/libQtGui.so.4
#18 0xb6cc93d6 in QWidget::event () from /usr/lib/libQtGui.so.4
#19 0xb70191c7 in QMainWindow::event () from /usr/lib/libQtGui.so.4
#20 0xb6c7179c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#21 0xb6c796ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#22 0xb69510d1 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#23 0xb6951d55 in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#24 0xb6951f4d in QCoreApplication::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#25 0xb697b98f in ?? () from /usr/lib/libQtCore.so.4
#26 0xb63c41b8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb63c7853 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0x0a2e6890 in ?? ()
#29 0x00000000 in ?? ()
(gdb) 

btw, the debug build i built for this test did not exhibit the "yahoo
only in upper left corner" bug...

rj




More information about the Merkaartor mailing list