I just commited a patch that remove feature destructors cleanups (that shouldn't be necessary anymore) that lead to those closing-time crashes.
Could you please test and check for adverse effects. Thanks - Chris - On Tue, Mar 16, 2010 at 16:44, Nick Burrett <[email protected]> wrote: > On 15 March 2010 16:56, Alberto Malagoli <[email protected]> wrote: >> ok thanks.. i'll try use merkaartor with gdb activated in the next days an >> hope (or not!) to have a crash.. > > Here's an example crash: > > **** "2010-03-16T15:38:32" -- Ending "Merkaartor 0.16-svn(20381M)" > pure virtual method called > terminate called without an active exception > > Program received signal SIGABRT, Aborted. > [Switching to Thread 0xb522a6c0 (LWP 6948)] > 0xb7ef2410 in __kernel_vsyscall () > (gdb) bt > #0 0xb7ef2410 in __kernel_vsyscall () > #1 0xb555f085 in raise () from /lib/tls/i686/cmov/libc.so.6 > #2 0xb5560a01 in abort () from /lib/tls/i686/cmov/libc.so.6 > #3 0xb576f480 in __gnu_cxx::__verbose_terminate_handler () from > /usr/lib/libstdc++.so.6 > #4 0xb576cd05 in ?? () from /usr/lib/libstdc++.so.6 > #5 0xb576cd42 in std::terminate () from /usr/lib/libstdc++.so.6 > #6 0xb576d605 in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6 > #7 0x081d1d2b in Relation::boundingBox (this=0xb4156690) at > Features/Relation.cpp:125 > #8 0x081cffed in Relation::remove (this=0xb4156690, Idx=48) at > Features/Relation.cpp:331 > #9 0x081cd080 in Relation::remove (this=0xb4156690, F=0xb4245cf0) at > Features/Relation.cpp:340 > #10 0x081cb6a5 in ~Feature (this=0xb4245cf0) at Features/Feature.cpp:166 > #11 0x081e2106 in ~Way (this=0xb4245cf0) at Features/Way.cpp:111 > #12 0xb594dd2c in QObjectPrivate::deleteChildren (this=0x8bcce00) at > kernel/qobject.cpp:1978 > #13 0xb59536e1 in ~QObject (this=0x86d14f8) at kernel/qobject.cpp:975 > #14 0x08213da2 in ~Layer (this=0x86d14f8) at Layers/Layer.cpp:93 > #15 0x08214171 in ~DrawingLayer (this=0x86d14f8) at Layers/Layer.cpp:524 > #16 0x08075cab in ~MapDocumentPrivate (this=0x882b810) at Document.cpp:41 > #17 0x08070ad1 in ~Document (this=0x86e8900) at Document.cpp:77 > #18 0x08149f12 in ~MainWindow (this=0xbff2c9f4) at MainWindow.cpp:361 > #19 0x0813597e in main (argc=Cannot access memory at address 0x1b24 > ) at Main.cpp:230 > (gdb) > > (gdb) list 123 > 118 if (p->Members.size() == 0) > 119 BBox = CoordBox(Coord(0,0),Coord(0,0)); > 120 else > 121 { > 122 CoordBox Clip; > 123 bool haveFirst = false; > 124 for (int i=0; i<p->Members.size(); ++i) > 125 if (p->Members[i].second && > !p->Members[i].second->notEverythingDownloaded() && > !CAST_RELATION(p->Members[i].second)) { > (gdb) print p->Members[15].second > $3 = (class Feature *) 0xb4245cf0 > (gdb) print *p->Members[15].second > $4 = {<QObject> = {_vptr.QObject = 0x8345848, static staticMetaObject > = {d = {superdata = 0x0, stringdata = 0xb59edec0 "QObject", > data = 0xb59edf60, extradata = 0xb5a633c0}}, d_ptr = {d = > 0xb4245d20}, static staticQtMetaObject = {d = {superdata = 0x0, > stringdata = 0xb59f6c00 "Qt", data = 0xb59fa220, extradata = > 0x0}}}, static staticMetaObject = {d = {superdata = 0x8491950, > stringdata = 0x83457d0 "Feature", data = 0x83457e0, extradata = > 0x0}}, p = 0xb4245d78, BBox = {BottomLeft = {Lat = 0, Lon = 0}, > TopRight = {Lat = 0, Lon = 0}}, MetaUpToDate = true, m_references = 0} > (gdb) print *this > $5 = {<Feature> = {<QObject> = {_vptr.QObject = 0x8345a68, static > staticMetaObject = {d = {superdata = 0x0, > stringdata = 0xb59edec0 "QObject", data = 0xb59edf60, > extradata = 0xb5a633c0}}, d_ptr = {d = 0xb4156708}, > static staticQtMetaObject = {d = {superdata = 0x0, stringdata = > 0xb59f6c00 "Qt", data = 0xb59fa220, extradata = 0x0}}}, > static staticMetaObject = {d = {superdata = 0x8491950, stringdata > = 0x83457d0 "Feature", data = 0x83457e0, extradata = 0x0}}, > p = 0xb4156760, BBox = {BottomLeft = {Lat = 635195284, Lon = > -74652190}, TopRight = {Lat = 636325205, Lon = -73125199}}, > MetaUpToDate = false, m_references = 0}, static staticMetaObject = > {d = {superdata = 0x83457c0, stringdata = 0x83459dc "Relation", > data = 0x8345a00, extradata = 0x0}}, p = 0xb41567e0} > (gdb) > > > I haven't been able to exactly reproduce what causes this though. > > > > >> Alberto >> >> On Mon, Mar 15, 2010 at 5:40 PM, Nick Burrett <[email protected]> wrote: >>> >>> On 15 March 2010 16:29, Alberto Malagoli <[email protected]> wrote: >>> > hi, >>> > i'm using Merkaartor 0.15.2-svn(20388) on Linux Mint 8, and sometimes it >>> > exits with a segmentation fault (catched from terminal). >>> > quite always this happens after an upload, but also on other situations, >>> > and >>> > i don't know how to reproduce it. >>> > is there a way to have a debug mode or the debug log? so i can post it >>> > here.. >>> >>> Yes. Just build from source and then type: >>> >>> gdb ./binaries/bin/merkaartor >>> (gdb) run >>> >>> When it crashes, you can type: >>> >>> (gdb) thread apply all backtrace >>> >>> Regards, >>> >>> Nick >>> >>> _______________________________________________ >>> Merkaartor mailing list >>> [email protected] >>> http://lists.openstreetmap.org/listinfo/merkaartor >> >> >> _______________________________________________ >> Merkaartor mailing list >> [email protected] >> http://lists.openstreetmap.org/listinfo/merkaartor >> >> > > _______________________________________________ > Merkaartor mailing list > [email protected] > http://lists.openstreetmap.org/listinfo/merkaartor > _______________________________________________ Merkaartor mailing list [email protected] http://lists.openstreetmap.org/listinfo/merkaartor
