Bug report #9049

adding/editing layer feature crashes qgis master when OTF reprojection is enabled

Added by Mathieu Pellerin - nIRV about 6 years ago. Updated about 6 years ago.

Status:Closed
Priority:Severe/Regression
Assignee:Marco Hugentobler
Category:Projection Support
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:fixed/implemented
Crashes QGIS or corrupts data:Yes Copied to github as #:17701

Description

Steps to reproduce:
1. Create a new project
2. Activate OTF reprojection, make sure the CRS is WGS 84 (EPSG:4326)
3. Add a new vector polygon layer (memory layer will do just fine)
4. Activate editing toggle for that layer
5. Try to add a feature
6. Instant boom crash

The same is true if you try to edit features (i.e. move feature and/or one node). That can't be more than a two weeks old crasher as I remember doing feature edits / additions under qgis master not so long ago. Setting priority to blocker.

History

#1 Updated by Giovanni Manghi about 6 years ago

  • Crashes QGIS or corrupts data changed from No to Yes

confirmed here

[email protected] ~ $ qgis
Warning: loading of qt translation failed [/usr/share/qt4/translations/qt_en_US]
Warning: Could not parse stylesheet of widget 0x1cd1ba0
QGIS died on signal 11[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fca4d59e700 (LWP 7273)]
[New Thread 0x7fca4e697700 (LWP 7272)]
[New Thread 0x7fca59a8f700 (LWP 7264)]
0x00007fca818faccd in waitpid () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7fca88b597c0 (LWP 7262))]
#0  0x00007fca818faccd in waitpid () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00000000004efcb0 in qgisCrash(int) ()
No symbol table info available.
#2  <signal handler called>
No symbol table info available.
#3  0x00007fca8545778b in QgsCoordinateTransform::transform(QgsPoint, QgsCoordinateTransform::TransformDirection) const () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#4  0x00007fca854eeb1e in QgsMapRenderer::mapToLayerCoordinates(QgsMapLayer*, QgsPoint) () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#5  0x00007fca84f06a72 in QgsMapTool::toLayerCoordinates(QgsMapLayer*, QgsPoint const&) () from /usr/lib/libqgis_gui.so.2.1.0
No symbol table info available.
#6  0x00007fca84f06ac8 in QgsMapTool::toLayerCoordinates(QgsMapLayer*, QPoint const&) () from /usr/lib/libqgis_gui.so.2.1.0
No symbol table info available.
#7  0x000000000062f5c8 in QgsMapToolCapture::nextPoint(QPoint const&, QgsPoint&, QgsPoint&) ()
No symbol table info available.
#8  0x0000000000630568 in QgsMapToolCapture::addVertex(QPoint const&) ()
No symbol table info available.
#9  0x000000000062aa2c in QgsMapToolAddFeature::canvasReleaseEvent(QMouseEvent*) ()
No symbol table info available.
#10 0x00007fca84f00983 in QgsMapCanvas::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libqgis_gui.so.2.1.0
No symbol table info available.
#11 0x00007fca838b4144 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#12 0x00007fca83c743b6 in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#13 0x00007fca83e9eb2b in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#14 0x00007fca844e1028 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#15 0x00007fca8386385f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#16 0x00007fca838690bf in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#17 0x00007fca85441aa6 in QgsApplication::notify(QObject*, QEvent*) () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#18 0x00007fca844e0e9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#19 0x00007fca83864862 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#20 0x00007fca838e3bf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#21 0x00007fca838e2bae in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#22 0x00007fca8390c0d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#23 0x00007fca8039dd13 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#24 0x00007fca8039e060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#25 0x00007fca8039e124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#26 0x00007fca845103bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#27 0x00007fca8390bd5e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#28 0x00007fca844dfc82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#29 0x00007fca844dfed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#30 0x00007fca844e4f67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#31 0x00000000004ea9a6 in main ()
No symbol table info available.
gdb returned 0
Aborted (core dumped)

#2 Updated by Marco Hugentobler about 6 years ago

  • Assignee set to Marco Hugentobler

#3 Updated by Marco Hugentobler about 6 years ago

  • Status changed from Open to Feedback

Hm, does not crash here. What CRS (and what datum transform) do you assign to the newly created layer?

#4 Updated by Mathieu Pellerin - nIRV about 6 years ago

Marco, here are my settings:
1. Project CRS: WGS84, OTF reprojection on
2. Newly created layer CRS: WGS84

I'm on a Linux machine, running latest master package (891fa7c) offered by the qgis.org ppa.

#5 Updated by Giovanni Manghi about 6 years ago

Marco Hugentobler wrote:

Hm, does not crash here. What CRS (and what datum transform) do you assign to the newly created layer?

In the same environment as Mathieu I can replicate it all the time with the described steps (adding/editing a memory layer)

#6 Updated by Marco Hugentobler about 6 years ago

I tried exactly those steps and cannot replicate here (todays master). Any special options that need to be set?

#7 Updated by Mathieu Pellerin - nIRV about 6 years ago

Marco, are you running QGIS on windows or linux?

#8 Updated by Giovanni Manghi about 6 years ago

Hi Mathieu,
this can be a plugin issue after all. I disabled all plugin but the "new memory layer" one and the crash is gone.

Please test.

#9 Updated by Mathieu Pellerin - nIRV about 6 years ago

Giovanni, disabling all plugins doesn't bring me much luck over here, still crashing.

#10 Updated by Giovanni Manghi about 6 years ago

this is weird, now I cannot replicate the issue anymore.

#11 Updated by Mathieu Pellerin - nIRV about 6 years ago

  • Resolution set to fixed/implemented
  • Status changed from Feedback to Closed

The debian-nightly ppa had an update to its qgis master build with which I can't reproduce crash anymore. Looking into recent commits, I think Jurgen fixed this issue in commit 86b6c5bbdfe75c293e2b0b86c9d1ce2f484b7a9e (https://issues.qgis.org/projects/quantum-gis/repository/revisions/86b6c5bbdfe75c293e2b0b86c9d1ce2f484b7a9e).

Closing.

Also available in: Atom PDF