openstreetmap / merkaartor

Home of Merkaartor, an openstreetmap mapping program.
http://merkaartor.be/
Other
290 stars 79 forks source link

Crash on rendering #259

Open sikmir opened 2 years ago

sikmir commented 2 years ago

Too often merkaartor crashes at:

$ coredumpctl gdb
...
Using host libthread_db library "/nix/store/ff88p8pnhdmf8bflzbxldys21djw9dp0-glibc-2.33-56/lib/libthread_db.so.1".
Core was generated by `/etc/profiles/per-user/sikmir/bin/merkaartor'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000004a86a4 in ?? ()
[Current thread is 1 (Thread 0x7f4e48c9f640 (LWP 1025779))]
(gdb) bt
#0  0x00000000004a86a4 in ?? ()
#1  0x00000000004a9570 in ?? ()
#2  0x00000000004a98b9 in ?? ()
#3  0x00000000004a623e in ?? ()
#4  0x00000000004a58a2 in ?? ()
#5  0x000000000051447a in ?? ()
#6  0x00000000005146d4 in ?? ()
#7  0x0000000000513b19 in ?? ()
#8  0x00007f4e78907abd in QtConcurrent::ThreadEngineBase::run() () from /nix/store/g9ypjcg5n3h04zyqm06jfb7ylwpviadc-qtbase-5.15.3/lib/libQt5Concurrent.so.5
#9  0x00007f4e7838979a in ?? () from /nix/store/g9ypjcg5n3h04zyqm06jfb7ylwpviadc-qtbase-5.15.3/lib/libQt5Core.so.5
#10 0x00007f4e783863c3 in ?? () from /nix/store/g9ypjcg5n3h04zyqm06jfb7ylwpviadc-qtbase-5.15.3/lib/libQt5Core.so.5
#11 0x00007f4e7820ad3e in start_thread () from /nix/store/ff88p8pnhdmf8bflzbxldys21djw9dp0-glibc-2.33-56/lib/libpthread.so.0
#12 0x00007f4e77e0543f in clone () from /nix/store/ff88p8pnhdmf8bflzbxldys21djw9dp0-glibc-2.33-56/lib/libc.so.6

Merkaartor 0.19.0 Qt 5.15.3

Krakonos commented 2 years ago

Not much info in that stacktrace. Can you:

  1. Narrow that to a specific action sequence/geographic area/rendering style?
  2. Build merkaartor from source (preferably git master) with debug symbols and post a stacktrace for this build?

Meanwhile, i will try to reproduce on my own, but I did not encounter any crash when testing 0.19.0.

elgaard commented 2 years ago

I get:

`(gdb) bt

0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49

1 0x00007ffff46be536 in __GI_abort () at abort.c:79

2 0x00007ffff46be41f in __assert_fail_base (fmt=0x7ffff4824998 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555558512e7 "a_node->m_level >= 0", file=0x555555850f48 "/home/src/merkaartor/include/RTree.h", line=1556, function=) at assert.c:92

3 0x00007ffff46cd212 in __GI___assert_fail (assertion=0x5555558512e7 "a_node->m_level >= 0", file=0x555555850f48 "/home/src/merkaartor/include/RTree.h", line=1556,

function=0x555555851148 "bool RTree<DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES>::Search(RTree<DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES>::Node*, RTree<DATATYPE, ELEMTYPE, NUMDIMS, EL"...) at assert.c:101

4 0x00005555555c998e in RTree<Feature, double, 2, double, 32, 16>::Search (this=0x555555fe8fc0, a_node=0x55555bf928c0, a_rect=0x7fffcb7fbf00, a_foundCount=@0x7fffcb7fbefc: 9, a_resultCallback=0x5555555c4f2c <indexFindCallback(Feature, void*)>, a_context=0x7fffcb7fc000)

at /home/src/merkaartor/include/RTree.h:1556

5 0x00005555555c9a57 in RTree<Feature, double, 2, double, 32, 16>::Search (this=0x555555fe8fc0, a_node=0x55555c4ac060, a_rect=0x7fffcb7fbf00, a_foundCount=@0x7fffcb7fbefc: 9, a_resultCallback=0x5555555c4f2c <indexFindCallback(Feature, void*)>, a_context=0x7fffcb7fc000)

at /home/src/merkaartor/include/RTree.h:1565

6 0x00005555555c9a57 in RTree<Feature, double, 2, double, 32, 16>::Search (this=0x555555fe8fc0, a_node=0x555558009250, a_rect=0x7fffcb7fbf00, a_foundCount=@0x7fffcb7fbefc: 9, a_resultCallback=0x5555555c4f2c <indexFindCallback(Feature, void*)>, a_context=0x7fffcb7fc000)

at /home/src/merkaartor/include/RTree.h:1565

7 0x00005555555c8548 in RTree<Feature, double, 2, double, 32, 16>::Search (this=0x555555fe8fc0, a_min=0x7fffcb7fbf70, a_max=0x7fffcb7fbf60, a_resultCallback=0x5555555c4f2c <indexFindCallback(Feature, void*)>, a_context=0x7fffcb7fc000) at /home/src/merkaartor/include/RTree.h:548

8 0x00005555555c5c5a in MemoryBackend::indexFind (this=0x555555a46420 , l=0x555555c62ea0, bb=..., ctxt=...) at /home/src/merkaartor/src/Backend/MemoryBackend.cpp:121

9 0x00005555555c5f0d in MemoryBackend::getFeatureSet (this=0x555555a46420 , l=0x555555c62ea0, theFeatures=..., invalidRect=..., theProjection=...) at /home/src/merkaartor/src/Backend/MemoryBackend.cpp:155

10 0x00005555557590cc in RenderTile::operator() (this=0x7fffb203c408, theTile=...) at /home/src/merkaartor/src/Layers/OsmRenderLayer.cpp:107

11 0x000055555575b15b in QtConcurrent::MapKernel<QList::iterator, RenderTile>::runIteration (this=0x7fffb203c3d0, it=...) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentmapkernel.h:68

12 0x000055555575b1e3 in QtConcurrent::MapKernel<QList::iterator, RenderTile>::runIterations (this=0x7fffb203c3d0, sequenceBeginIterator=..., beginIndex=52, endIndex=53) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentmapkernel.h:77

13 0x000055555575b5ff in QtConcurrent::IterateKernel<QList::iterator, void>::forThreadFunction (this=0x7fffb203c3d0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentiteratekernel.h:255

14 0x000055555575b362 in QtConcurrent::IterateKernel<QList::iterator, void>::threadFunction (this=0x7fffb203c3d0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentiteratekernel.h:217

15 0x00007ffff7d48abd in QtConcurrent::ThreadEngineBase::run() () from /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5

16 0x00007ffff4c9ab32 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

17 0x00007ffff4c97961 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

18 0x00007ffff4662d80 in start_thread (arg=0x7fffcb7fe640) at pthread_create.c:481

19 0x00007ffff4794b6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

`