qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.31k stars 2.96k forks source link

Crash writing 3D animation images #52091

Open funkenbeachin opened 1 year ago

funkenbeachin commented 1 year ago

What is the bug or the crash?

QGIS versions 3.22.15 through 3.28.10 LTR crash suddenly while animating or writing animation image files in the 3D view. Windows 10 home on 3 years old PC, 64G memory, plenty of disk space, clean profile, no other programs running. Camera angle was ~45 degrees. Project files are DEM raster tif (clips uploaded to comment below). I got a stack trace from the Uh-oh! window when 3.28.3 crashed while building a pan path (see comment below). 3.32.1-1.msi wrote the animation images but the sequence of images was crazily disrupted by discontinuities in location.

I created a pan path with v3.28.5 LTR, saved it, attempted to write jpg files, crashed. I opened the same project with v3.22.14 and successfully wrote the jpg animation files.

QGIS v3.22.14 3D works fine, robust in many projects. I would point to the new features in the 3D panel in 3.22.15 LTR and 3.28.3 and larger files (>1x1 km DEM) as the cause.

Steps to reproduce the issue

Project files are raster tif, slope map from DEM, draped on the DEM in 3D view. Created a pan path which ran nicely in the 3D view play function. Save 3840X2160 image files for animation of the path created in the 3D view.
Click save animation, choose subdirectory, click OK. Files are saved to the subdirectory until about 500 files are written, then QGIS crashes. No Uh-oh! screen, no machine crash, QGIS just completely disappears.

I have been using LTR versions, regularly updated. The issue first occurred in 3.22.15, with the upgraded 3D functions, persisted in 3.22.16 LTR. Then I tried 3.28.3, same behavior. 3.22.14 is still on the machine and works fine after the newer versions crash. The crash has occurred after writing ~500 files. Also crashed while building pan paths.

Versions

QGIS version 3.28.3-Firenze QGIS code revision c12bcb2f76c Qt version 5.15.3 Python version 3.9.5 GDAL/OGR version 3.6.2 PROJ version 9.1.1 EPSG Registry database version v10.076 (2022-08-31) GEOS version 3.11.1-CAPI-1.17.1 SQLite version 3.39.4 PDAL version 2.4.3 PostgreSQL client version unknown SpatiaLite version 5.0.1 QWT version 6.1.6 QScintilla2 version 2.13.1 OS version Windows 10 Version 2009

Active Python plugins LAStools 1.4 latlontools 3.6.8 profiletool 4.2.2 quick_map_services 0.19.33 valuetool 3.0.15 db_manager 0.1.20 grassprovider 2.12.99 MetaSearch 0.3.6 otbprovider 2.12.99 processing 2.12.99 sagaprovider 2.12.99

Supported QGIS version

New profile

Additional context

No response

funkenbeachin commented 1 year ago

Here are clips of DEM and slope overlay as tif. I made a 100 second path of pan and tilt. When I tried to save animation files from these QGIS 3.28.3-Firenze crashed immediately. Test-clip.zip

funkenbeachin commented 1 year ago

I just successfully wrote animation files from the small clip that I uploaded. The first time QGIS 3.28.3 worked making animation files. That clip that was small enough to upload was cut from a larger raster. I tried writing animation files from the ~100x larger, source raster, which resulted in QGIS crashing suddenly, no Uh-oh!, after writing some (~1,700) of the files. The issue occurs with larger rasters, too big to upload. Rasters of ~7MB worked fine, ~160MB and larger fail.

funkenbeachin commented 1 year ago

Here is the stack trace I got from the Uh-oh! screen when v3.28.3 crashed while building a pan path of a small slope raster draped on it's DEM (also submitted by the crash window?). v3.28.4-2 LTR, with a clean profile, also crashed while building a pan path of the same file, without presenting the Uh-oh! screen:

Python Stack Trace Windows fatal exception: code 0x8001010d

Current thread 0x00001428 (most recent call first):

Windows fatal exception: access violation

Current thread 0x00001428 (most recent call first):

Stack Trace

QgsCoordinateTransform::transformBoundingBox : QgsTerrainGenerator::typeToString : QgsDemTerrainGenerator::writeXml : QgsDemTerrainGenerator::createChunkLoader : QgsPointCloudLayer3DRenderer::writeXml : QgsPointCloudLayer3DRenderer::writeXml : Qgs3DMapScene::updateScene : Qgs3DMapScene::onCameraChanged : QObject::qt_static_metacall : QObject::qt_static_metacall : QwtAbstractSlider::valueChanged : QWidget::event : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QApplicationPrivate::sendMouseEvent : QSizePolicy::QSizePolicy : QSizePolicy::QSizePolicy : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QGuiApplicationPrivate::processMouseEvent : QWindowSystemInterface::sendWindowSystemEvents : QEventDispatcherWin32::processEvents : qt_plugin_query_metadata : QEventLoop::exec : QCoreApplication::exec : main : BaseThreadInitThunk : RtlUserThreadStart :

QGIS Info QGIS Version: 3.28.3-Firenze QGIS code revision: c12bcb2f76c Compiled against Qt: 5.15.3 Running against Qt: 5.15.3 Compiled against GDAL: 3.6.2 Running against GDAL: 3.6.2

System Info CPU Type: x86_64 Kernel Type: winnt Kernel Version: 10.0.19045

funkenbeachin commented 1 month ago

I made an animation with 3.34.8-Prizren and Windows 11 Home. This issue might be resolved.