Bug report #16643

Core dump when zooming

Added by Saber Razmjooei about 3 years ago. Updated over 2 years ago.

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

Description

I think there were reports before with zooming closely in QGIS master results in crashing.

I have managed to consistently reproduce the crash in this project. If you open the project and keep zooming in, it will result in crash.

If you change the layer style to single symbol, the crash does not happen.

Also, note there are missing SVGs for the layer.

bt_16643.txt Magnifier (8.95 KB) Saber Razmjooei, 2017-05-31 02:02 PM

Associated revisions

Revision 942f431f
Added by Nyall Dawson over 2 years ago

Fix crash when rendering with SVG based symbols and SVG cache is filled

When the svg cache was full, any attempt to render an svg from the
cache would crash QGIS.

Fixes #16643

History

#1 Updated by Giovanni Manghi about 3 years ago

  • Status changed from Open to Feedback

only master?

#2 Updated by Saber Razmjooei about 3 years ago

Here is the link to the example project:
https://www.dropbox.com/s/ivcz957i5oe154x/crash_16643.zip?dl=0

@Gio, yes... It works fine in 2.18

#3 Updated by Giovanni Manghi about 3 years ago

  • Status changed from Feedback to Open

#4 Updated by Saber Razmjooei about 3 years ago

Here is the debug info:

src/gui/qgsmapcanvas.cpp: 1380: (wheelEvent) [4580ms] Wheel event delta 120
src/core/qgsmapsettings.cpp: 220: (updateDerived) [1ms] Map units per pixel (x,y) : 0.06904668923386814, 0.0603955543154952
src/core/qgsmapsettings.cpp: 221: (updateDerived) [0ms] Pixmap dimensions (x,y) : 757, 882
src/core/qgsmapsettings.cpp: 222: (updateDerived) [0ms] Extent dimensions (x,y) : 52.26834375003818423, 53.26887890626676381
src/core/qgsmapsettings.cpp: 223: (updateDerived) [0ms] 292919.9010904474998824,91304.0750523731403518 : 292972.1694341975380667,91357.3439312794071157
src/core/qgsmapsettings.cpp: 224: (updateDerived) [0ms] Adjusted map units per pixel (x,y) : 0.06904668923386814, 0.06904668923388335
src/core/qgsmapsettings.cpp: 225: (updateDerived) [0ms] Recalced pixmap dimensions (x,y) : 757, 882.00000000019429081
src/core/qgsmapsettings.cpp: 226: (updateDerived) [0ms] Scale (assuming meters as map units) = 1:260.9638645547358351
src/core/qgsmapsettings.cpp: 227: (updateDerived) [0ms] Rotation: 0 degrees
src/gui/qgsmapcanvas.cpp: 485: (refresh) [1ms] CANVAS refresh scheduling
src/gui/qgsmapcanvasmap.cpp: 48: (paint) [3ms] map paint DIFFERENT SIZE: img 757,882 item 1514,1764
src/core/qgsmaprendererjob.cpp: 224: (prepareJobs) [5ms] CACHE VALID: 0
src/core/qgsmaprendererparalleljob.cpp: 63: (start) [111ms] QThreadPool max thread count is 4
src/gui/qgsmapcanvas.cpp: 1380: (wheelEvent) [3ms] Wheel event delta 120
src/core/qgsmapsettings.cpp: 220: (updateDerived) [0ms] Map units per pixel (x,y) : 0.03452334461685718, 0.0301977771577476
src/core/qgsmapsettings.cpp: 221: (updateDerived) [0ms] Pixmap dimensions (x,y) : 757, 882
src/core/qgsmapsettings.cpp: 222: (updateDerived) [0ms] Extent dimensions (x,y) : 26.13417187496088445, 26.6344394531333819
src/core/qgsmapsettings.cpp: 223: (updateDerived) [1ms] 292932.2259244758170098,91314.2161243949376512 : 292958.3600963507778943,91340.8505638480710331
src/core/qgsmapsettings.cpp: 224: (updateDerived) [0ms] Adjusted map units per pixel (x,y) : 0.03452334461685718, 0.03452334461685919
src/core/qgsmapsettings.cpp: 225: (updateDerived) [0ms] Recalced pixmap dimensions (x,y) : 757, 882.00000000005115908
src/core/qgsmapsettings.cpp: 226: (updateDerived) [0ms] Scale (assuming meters as map units) = 1:130.48193227707727715
src/core/qgsmapsettings.cpp: 227: (updateDerived) [0ms] Rotation: 0 degrees
src/gui/qgsmapcanvas.cpp: 485: (refresh) [0ms] CANVAS refresh scheduling
src/gui/qgsmapcanvasmap.cpp: 48: (paint) [1ms] map paint DIFFERENT SIZE: img 757,882 item 3028,3528
src/gui/qgsmapcanvas.cpp: 653: (stopRendering) [1ms] CANVAS stop rendering!
src/core/qgsmaprendererparalleljob.cpp: 114: (cancelWithoutBlocking) [0ms] PARALLEL cancel at status 1
src/core/qgsmaprendererjob.cpp: 224: (prepareJobs) [0ms] CACHE VALID: 0
QGIS died on signal 11src/core/qgsmaprendererparalleljob.cpp: 63: (start) [63ms] QThreadPool max thread count is 4
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No thread selected
No stack.
gdb returned 0
Aborted (core dumped)

#5 Updated by Jürgen Fischer about 3 years ago

Saber Razmjooei wrote:

ptrace: Operation not permitted.

See creating a backtrace

#6 Updated by Saber Razmjooei about 3 years ago

Thanks @jef...I didn't read the message myself :)

Here is the end of the debug info just before it crashes.

#7 Updated by Nyall Dawson over 2 years ago

  • Assignee set to Nyall Dawson

#9 Updated by Nyall Dawson over 2 years ago

  • % Done changed from 0 to 100
  • Status changed from Open to Closed

Also available in: Atom PDF