Bug report #14008

Crash zooming to wide extent

Added by Sandro Santilli over 8 years ago. Updated over 8 years ago.

Status:Closed
Priority:High
Assignee:-
Category:Map Canvas
Affected QGIS version:2.8.4 Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:duplicate
Crashes QGIS or corrupts data:Yes Copied to github as #:22021

Description

Easy to reproduce with QuickWKT plugin (but it was spotted while trying to load a wide extent layer from PostGIS so this is not QuickWKT related):
LINESTRING

Enter the above WKT and load in canvas. QGIS 2.8.4 aborts with:

src/core/qgsmaprendererparalleljob.cpp: 211: (renderLayerStatic) [4ms] [thread:0x7fff5800a720] job 3dcd630 start
qgis: /usr/src/qgis/qgis-2.8/src/core/qgsmaptopixel.cpp:125: QgsPoint QgsMapToPixel::toMapPoint(double, double) const: Assertion `invertible' failed.
src/core/qgsmaprendererparalleljob.cpp: 231: (renderLayerStatic) [0ms] [thread:0x7fff5800a720] job 3dcd630 end [1 ms]

Program received signal SIGABRT, Aborted.
0x00007fffef476cc9 in GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007fffef476cc9 in _GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007fffef47a0d8 in __GI_abort () at abort.c:89
#2 0x00007fffef46fb86 in __assert_fail_base (fmt=0x7fffef5c0830 "%s%s%s:%u: %s%sAssertion `%s' failed.\
%n",
assertion=assertion@entry=0x7ffff43d25af "invertible", file=file@entry=0x7ffff43d2568 "/usr/src/qgis/qgis-2.8/src/core/qgsmaptopixel.cpp",
line=line@entry=125,
function=function@entry=0x7ffff43d2640 <QgsMapToPixel::toMapPoint(double, double) const::
_PRETTY_FUNCTION
> "QgsPoint QgsMapToPixel::toMapPoint(double, double) const") at assert.c:92
#3 0x00007fffef46fc32 in GIassert_fail (assertion=0x7ffff43d25af "invertible",
file=0x7ffff43d2568 "/usr/src/qgis/qgis-2.8/src/core/qgsmaptopixel.cpp", line=125,
function=0x7ffff43d2640 <QgsMapToPixel::toMapPoint(double, double) const::
_PRETTY_FUNCTION__> "QgsPoint QgsMapToPixel::toMapPoint(double, double) const") at assert.c:101
#4 0x00007ffff411b4e8 in QgsMapToPixel::toMapPoint (this=0x13e7ef8, x=741, y=467) at /usr/src/qgis/qgis-2.8/src/core/qgsmaptopixel.cpp:125
#5 0x00007ffff411b5b6 in QgsMapToPixel::toMapCoordinates (this=0x13e7ef8, p=...) at /usr/src/qgis/qgis-2.8/src/core/qgsmaptopixel.cpp:137
#6 0x00007ffff37d0c4f in QgsMapCanvas::mouseMoveEvent (this=0x13e7d30, e=0x7fffffffc630) at /usr/src/qgis/qgis-2.8/src/gui/qgsmapcanvas.cpp:1473
#7 0x00007ffff1f3d645 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8 0x00007ffff22df04e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9 0x00007ffff24ea859 in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

I had the impression we fixed this already by refusing to set a non-invertible matrix ? Is this a regression or was it done in a later version ?
PS: 2.8.4 is missing an entry in "Affected version"

History

#1 Updated by Sandro Santilli over 8 years ago

Re-writing the input WKT as the redmine formatting eat part of it:

LINESTRING(1.64840917084758e+24 4.87237127e+24,1.64868022e+24 4.87287960745181e+24)

#2 Updated by Sandro Santilli over 8 years ago

Master branch (efaae1f, to become 2.14) is not affected.

#3 Updated by Giovanni Manghi over 8 years ago

  • Affected QGIS version changed from 2.8.3 to 2.8.4

#4 Updated by Bas Couwenberg over 8 years ago

Isn't this the same issue as #12757?

Backporting the fix to release-2_8 should resolve this issue then.

#5 Updated by Sandro Santilli over 8 years ago

  • Resolution set to duplicate
  • Status changed from Open to Closed

Confirmed, duplicate of #12757

Also available in: Atom PDF