Bug report #8236
SIGABRT when removes an favourites item from browser
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | - | ||
Category: | Browser | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 17048 |
Description
Adding and removing a folder to favorites makes QGIS to crash.
Stacktrace:
Program received signal SIGABRT, Aborted. 0x00007ffff046a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt #0 0x00007ffff046a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff046d6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6 #2 0x00000000005616ea in myMessageOutput (type=QtFatalMsg, msg= 0x15395d8 "ASSERT: \\"i >= 0\\" in file /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsdataitem.cpp, line 260") at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:285 #3 0x00007ffff33e8630 in qt_message_output(QtMsgType, char const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007ffff33e8a98 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007ffff33e8c24 in qFatal(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007ffff4913912 in QgsDataItem::deleteChildItem (this=0x1c1b0f0, child=0x4ef7f50) at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsdataitem.cpp:260 #7 0x00007ffff4918217 in QgsFavouritesItem::removeDirectory (this=0x1c1b0f0, item=0x4ef7f50) at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsdataitem.cpp:734 #8 0x00007ffff48ff572 in QgsBrowserModel::removeFavourite (this=0x4d47b30, index=...) at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsbrowsermodel.cpp:462 #9 0x000000000060881d in QgsBrowserDockWidget::removeFavourite (this=0x1396f80) at /home/sam/pacchetti_gis/Quantum-GIS/src/app/qgsbrowserdockwidget.cpp:386 #10 0x00000000008ce79c in QgsBrowserDockWidget::qt_static_metacall (_o=0x1396f80, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffffc0b0) at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/app/moc_qgsbrowserdockwidget.cxx:72 #11 0x00007ffff350354f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #12 0x00007ffff2891502 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 ---Type <return> to continue, or q <return> to quit--- #13 0x00007ffff28916f0 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #14 0x00007ffff2ccb413 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #15 0x00007ffff2cd1729 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #16 0x00007ffff28e6e10 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #17 0x00007ffff2cd29db in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #18 0x00007ffff289770c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #19 0x00007ffff289c3eb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #20 0x00007ffff48f2b58 in QgsApplication::notify (this=0x7fffffffd890, receiver=0x4eeab50, event= 0x7fffffffcb50) at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsapplication.cpp:242 #21 0x00007ffff34edb5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #22 0x00007ffff289854b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #23 0x00007ffff2912e8c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #24 0x00007ffff2911d51 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #25 0x00007ffff2938bc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #26 0x00007fffeed77355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007fffeed77688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007fffeed77744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #29 0x00007ffff351c276 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #30 0x00007ffff293883e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #31 0x00007ffff34ec8af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #32 0x00007ffff34ecb38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #33 0x00007ffff34f1cf8 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #34 0x0000000000564349 in main (argc=1, argv=0x7fffffffe388) at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:1020
Associated revisions
browser: fix crash when removing favourite items from the directory tree (fixes #8236)
History
#1 Updated by Daniel Vaz over 11 years ago
I can't replicate in qgis master.
#3 Updated by Salvatore Larosa over 11 years ago
I am able to reproduce it using the right click and
selecting "Add as favourites" and then "Remove favourites" on the same directory.
I also tried it with 1.8 on the same machine and has worked fine.
#4 Updated by Salvatore Larosa over 11 years ago
...and I can confirm the crash even on Windows XP !
#5 Updated by Daniel Vaz over 11 years ago
Sorry, I was not able to reproduce it with these steps (right click -> add as favorite -> remove favorite)
I am using QGis (github) master compiled version.
#6 Updated by Salvatore Larosa over 11 years ago
Very strange, maybe a Qt issue ?
I don't think it is a local problem as I tried on different machine and I always got the crash.
We need other feedbacks !
Linux:
QGIS version 1.9.0-Master QGIS code revision bf1d1b0 Compiled against Qt 4.8.2 Running against Qt 4.8.2 Compiled against GDAL/OGR 1.10.0 Running against GDAL/OGR 1.10.0 GEOS Version 3.3.8 PostgreSQL Client Version 9.1.9 SpatiaLite Version 4.0.0 QWT Version 5.2.2 PROJ.4 Version 470 QScintilla2 Version 2.7.2
Windows XP (OSGeo4W):
QGIS version 1.9.0-Master QGIS code revision d37e03b Compiled against Qt 4.7.1 Running against Qt 4.7.1 Compiled against GDAL/OGR 1.9.2 Running against GDAL/OGR 1.9.2 GEOS Version 3.3.8 PostgreSQL Client Version 8.3.10 SpatiaLite Version 3.0.1 QWT Version 5.2.1 PROJ.4 Version 480 QScintilla2 Version 2.6.2
#7 Updated by Matthias Kuhn over 11 years ago
It runs into a Q_ASSERT in qgsdataitem.cpp:260
If you could adjust the debug output to include messages of level 2, there would be some output just before ("mName = ....") which could help indicating which item is subject to being removed although not present in the tree.
#8 Updated by Salvatore Larosa over 11 years ago
Hi Matthias,
I did set QGIS_BEBUG=2 and I can see the mName
var,
but I don't understand as it might helps !
I noticed the crash just occurs when I use the
'Remove favourites' by right clicking on the folder to remove.
#9 Updated by Giovanni Manghi over 11 years ago
We need other feedbacks !
O also get the crash, you must click on "remove favorite" on the actual folder you added as favorite, not in the folder in the "favorites" category.
#10 Updated by Jürgen Fischer over 11 years ago
- Status changed from Feedback to Closed
Fixed in changeset 83cf4be9f68203c18949e4d548e0b3014ac99839.