Bug report #8438
WMT-S Crashes when loading layer
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | Jürgen Fischer | ||
Category: | Web Services clients/WMS | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | worksforme |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 17207 |
Description
Crashes on both Ubuntu 12.04 and windows 7 running master build (2087de1). I tried giving the app a quick debug but it looked to be memory corruption from a deep and dark place in the apps internals.
I have attached both the ubuntu and windows dumps from the crash.
You will find the URL to the WMT-S within the ubuntu log.
Related issues
History
#1 Updated by Giovanni Manghi over 11 years ago
- Status changed from Open to Feedback
tested this
http://data.linz.govt.nz/services;key=b39ccd76408f48d9bcbbcc4817432518/wmts/1.0.0/layer/772/WMTSCapabilities.xml
and no crashes on both ubuntu 12.04 and Windows
#2 Updated by Jeremy Palmer over 11 years ago
I'm definitely still getting a crash. I'm using qgis ubuntugis nightly builds for precise as well as a built from source.
I've noticed the crash doesn't occur if the map canvas size is small. Try ensuring that your map canvas is at least 850x750. I tried 750x640 and it didn't crash, so maybe that's why it didn't crash for you.? Because it is memory corruption and related to the allocation of QImage this makes sense.
I'm running QT 4.8.1 as well if that helps.
#3 Updated by Jeremy Palmer over 11 years ago
- File ubuntu_1204_crash.txt.7z added
#4 Updated by Jeremy Palmer over 11 years ago
- File deleted (
ubuntu_1204_crash.txt.7z)
#5 Updated by Giovanni Manghi over 11 years ago
With the new url in #8438-1 I also get the crash.
#6 Updated by Jeremy Palmer over 11 years ago
ANy chance to get this looked at before 2.0 is released. Would be a pity that QGIS is released with WMT-S that crashes.
#7 Updated by Salvatore Larosa over 11 years ago
I don't see any crash here (debian with latest master), should I follow any particular procedure to get the crash or simply loading a layer is enough ?
#8 Updated by Jeremy Palmer over 11 years ago
Try ensuring that your map canvas size is at least 850x750
#9 Updated by Salvatore Larosa over 11 years ago
- Operating System deleted (
windows ubuntu)
ok, I hadn't read your note-2 above, so crash confirmed here!
#10 Updated by Jeremy Palmer over 11 years ago
I can confirm this crash only seems to happen on layers that span the anti-meridian line. Could it be that the render process can't handle multiple wraps?
#11 Updated by Salvatore Larosa over 11 years ago
More info:
The crash here occurs by using any WMS/WMS-T on my laptop following the below steps:- add WMS and close the add WMS dialog
- CTRL+F (Full screen)
and disabling the back buffer option the crash disappears on my linux machine!
#12 Updated by Jeremy Palmer over 11 years ago
I managed to get it to crash with the back buffer disabled.
#13 Updated by Salvatore Larosa over 11 years ago
Jeremy Palmer wrote:
I managed to get it to crash with the back buffer disabled.
strange, enabling back buffer I get:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff2a2beb0 in QRegion::operator=(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (gdb) bt #0 0x00007ffff2a2beb0 in QRegion::operator=(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #1 0x00007ffff28e6b7f in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #2 0x00007ffff28e75cf in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #3 0x00007ffff28e6665 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #4 0x00007ffff28e75cf in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #5 0x00007ffff28e6665 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #6 0x00007ffff28e75cf in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #7 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #8 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #9 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #10 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #11 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 ---Type <return> to continue, or q <return> to quit--- #12 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #13 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #14 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #15 0x00007ffff28e7414 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #16 0x00007ffff28e6665 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
it looks like a Qt problem.
Works fine with back buffer disabled!
#14 Updated by Giovanni Manghi over 11 years ago
see also #8634
#15 Updated by Giovanni Manghi almost 11 years ago
- Target version changed from Version 2.0.0 to Future Release - High Priority
- Status changed from Feedback to Open
#16 Updated by Jürgen Fischer over 10 years ago
- Status changed from Open to Feedback
Is this still an issue?
#17 Updated by Jeremy Palmer over 10 years ago
No it does not seem to be. Did lots of testing today and I can't get QGIS crash anymore. However I will do more testing tomorrow on a larger screen size just to be sure.
#18 Updated by Jeremy Palmer over 10 years ago
Hi Jürgen this can be closed now. It's no longer a problem in master.
#19 Updated by Jürgen Fischer over 10 years ago
- Status changed from Feedback to Closed
- Resolution set to worksforme