Bug report #8221
QGIS Crashes when saving the project and corrupt project file
| Status: | Closed | ||
|---|---|---|---|
| Priority: | Severe/Regression | ||
| Assignee: | |||
| Category: | Project Loading/Saving | ||
| 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 #: | 17035 |
Description
Version QGIS master version b7d7076
Issue : With an existing opened project, when you load a layer from the browser, then click on the Save button, QGIS crashes and corrupts the project file (project file size then : 0 ko). If the layer is loaded with the Add Vector layer menu, everything is ok
How to reproduce
- open the attached project debug.qgs
- open the attached shapefile with the classical "add vector layer" menu, the save --> Ok
- open the attached shapefile with the browser panel Then save --> QGIS crashes
Associated revisions
browser: emit layoutAboutToBeChanged() before destroying home item (fixes #8221)
History
#1
Updated by Michael Douchin over 12 years ago
- Category changed from Browser to Project Loading/Saving
#2
Updated by Daniel Vaz over 12 years ago
sorry, I can't reproduce with these steps. master 7d273b1eed
#3
Updated by Salvatore Larosa over 12 years ago
I can reproduce here and I guess it is a Browser issue.
Stacktrace on the crash:
Program received signal SIGSEGV, Segmentation fault.
0x0000000001224a40 in ?? ()
(gdb) bt
#0 0x0000000001224a40 in ?? ()
#1 0x00007ffff48fdfad in QgsBrowserModel::flags (this=0x4d756a0, index=...)
at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsbrowsermodel.cpp:170
#2 0x00007ffff2e1e4eb in QSortFilterProxyModel::flags(QModelIndex const&) const ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3 0x00007ffff2df2572 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#4 0x00007ffff2df2603 in QItemSelection::indexes() const ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#5 0x00007ffff2df7cfb in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6 0x00007ffff2df8a89 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7 0x00007ffff350354f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8 0x00007ffff2e20a51 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9 0x00007ffff350354f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007ffff48fd063 in QgsBrowserModel::updateProjectHome (this=0x4d756a0)
at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsbrowsermodel.cpp:53
#11 0x00007ffff4b9abc1 in QgsBrowserModel::qt_static_metacall (_o=0x4d756a0,
_c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffffffb6e0)
at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/core/moc_qgsbrowsermodel.cxx:70
#12 0x00007ffff350354f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff4b9f6f9 in QgsProject::writeProject (this=0x118fd40, _t1=...)
---Type <return> to continue, or q <return> to quit---
at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/core/moc_qgsproject.cxx:129
#14 0x00007ffff4a1d9dd in QgsProject::write (this=0x118fd40)
at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsproject.cpp:985
#15 0x0000000000586a1f in QgisApp::fileSave (this=0x1033910)
at /home/sam/pacchetti_gis/Quantum-GIS/src/app/qgisapp.cpp:3656
#16 0x00000000008cb67b in QgisApp::qt_static_metacall (_o=0x1033910,
_c=QMetaObject::InvokeMetaMethod, _id=136, _a=0x7fffffffc1f0)
at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/app/moc_qgisapp.cxx:669
#17 0x00007ffff350354f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#18 0x00007ffff2891502 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007ffff28916f0 in QAction::activate(QAction::ActionEvent) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ffff2c5185f in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007ffff2c51b0c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ffff2d0ba8a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007ffff28e6e10 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007ffff289770c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007ffff289c3eb in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#26 0x00007ffff48f2b58 in QgsApplication::notify (this=0x7fffffffd890, receiver=0x1087010, event=
0x7fffffffcb50) at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsapplication.cpp:242
#27 0x00007ffff34edb5e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007ffff289854b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007ffff2912fc4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007ffff2911d51 in QApplication::x11ProcessEvent(_XEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007ffff2938bc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007fffeed77355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffeed77688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffeed77744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff351c276 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007ffff293883e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007ffff34ec8af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#38 0x00007ffff34ecb38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#39 0x00007ffff34f1cf8 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x0000000000564349 in main (argc=1, argv=0x7fffffffe388)
at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:1020
#4
Updated by Jürgen Fischer over 12 years ago
- Status changed from Open to Closed
Fixed in changeset 36bf49de19e91896d72e0a692a06c1377f53e898.
#5
Updated by Michael Douchin over 12 years ago
Thanks a lot