Bug report #20981

WMTS/WCS + 3D mapcanvas crash

Added by Richard Duivenvoorde 11 months ago. Updated 9 months ago.

Status:Open
Priority:High
Assignee:-
Category:3D
Affected QGIS version:3.5(master) Regression?:Yes
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:28800

Description

In current master QGIS crashes when you open the 3D mapcanvas.
This worked earlier, as stated here:
(via Google Translation)
https://translate.google.com/translate?hl=nl&sl=auto&tl=en&u=http%3A%2F%2Fwww.qgis.nl%2F2018%2F03%2F18%2Fje-eerste-3-d-kaart-in-qgis-3-0%2F

To reproduce:
- open attached 3dproject.qgz (it is a epsg:28992 project, zoomed in to the south of Zuid Limburg)
- after some time (till the dem ahn2_5m actually is showing) open the 3D mapcanvas
- QGIS Crashes
- Both in Linux and in Window.

I fail to get a gdb stacktrace, trying to run QGIS via gdb (even with an fresh profile) ends with:

src/core/qgsproviderregistry.cpp: 539: (createProviderLibrary) [0ms] Library name is /home/richard/bin/qgis/master/debug/lib/qgis/plugins/libwmsprovider.so
src/core/qgsdataitemproviderregistry.cpp: 103: (QgsDataItemProviderRegistry) [0ms] /home/richard/bin/qgis/master/debug/lib/qgis/plugins/libwmsprovider.so does not have dataCapabilities
src/core/auth/qgsauthmanager.cpp: 177: (init) [0ms] Initializing QCA...

Thread 3 "QXcbEventReader" received signal SIG33, Real-time event 33.
[Switching to Thread 0x7fffe04e0700 (LWP 3422)]
0x00007fffec78cbd9 in __GI___poll (fds=0x7fffe04deef8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29    ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.

WINDOWS STACKTRACE is:

Crash ID: d220c048a99a358a432a786e0a8c66b7a6dbb108
Stack Trace
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
Qgs3DMapScene::onFrameTriggered :
QgsPhongMaterialSettings::ambient :
Qgs3DMapScene::updateCameraNearFarPlanes :
QgsCameraPose::headingAngle :
QMetaObject::activate :
Qt3DLogic::QFrameAction::triggered :
Qt3DLogic::QFrameAction::onTriggered :
Qt3DLogic::QFrameAction::onTriggered :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
DispatchMessageW :
DispatchMessageW :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
dataItem :
dataItem :
dataItem :
dataItem :
dataItem :
dataItem :
dataItem :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QgsDemTerrainGenerator::updateGenerator :
QgsFlatTerrainGenerator::createChunkLoader :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QgsWindow3DEngine::trUtf8 :
QMetaObject::activate :
QgsWindow3DEngine::qt_static_metacall :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QMetaObject::activate :
Qgs3DAlgorithms::qt_static_metacall :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QgsTerrainGenerator::typeToString :
QMetaObject::activate :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QMetaObject::activate :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QMetaObject::activate :
QFutureWatcherBase::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsLayerTreeGroup::updateChildVisibilityMutuallyExclusive :
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
DispatchMessageW :
DispatchMessageW :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
QgisApp::actionLayerSaveAs :
BaseThreadInitThunk :
RtlUserThreadStart :

3dproject.qgz - Project with WMTS + WCS layer (3.89 KB) Richard Duivenvoorde, 2019-01-12 02:29 PM

3dproject.qgz - debug output from windows dbgview (3.89 KB) Roberto Uhlig, 2019-03-05 02:22 PM

3dproject_dbgview.LOG Magnifier - debug output from windows dbgview (previous I took the wrong file) (739 KB) Roberto Uhlig, 2019-03-05 02:42 PM

History

#1 Updated by Roberto Uhlig 9 months ago

User Feedback

Here a hopefully "better" stack trace from windows with current master.
Hope it gives you a clue.

Report Details

Crash ID: 00cc099c5a349c9d50a4c17af5fc127297a51255

Stack Trace

QgsChunkList::takeEntry qgschunklist_p.cpp:90
QgsChunkedEntity::requestResidency qgschunkedentity_p.cpp:296
QgsChunkedEntity::update qgschunkedentity_p.cpp:273
QgsChunkedEntity::update qgschunkedentity_p.cpp:130
Qgs3DMapScene::onFrameTriggered qgs3dmapscene.cpp:348
QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,QtPrivate::List<float>,void,void (__cdecl Qgs3DMapScene::*)(float) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl Qgs3DMapScene::*)(float) __ptr64>::call<QtPrivate::List<float>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl Qgs3DMapScene::*)(float) __ptr64,QtPrivate::List<float>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
Qt3DLogic::QFrameAction::triggered :
Qt3DLogic::QFrameAction::onTriggered :
Qt3DLogic::QFrameAction::onTriggered :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:366
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
TranslateMessageEx :
TranslateMessage :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QgsWcsCapabilities::sendRequest qgswcscapabilities.cpp:162
QgsWcsCapabilities::retrieveServerCapabilities qgswcscapabilities.cpp:252
QgsWcsCapabilities::retrieveServerCapabilities qgswcscapabilities.cpp:237
QgsWcsCapabilities::setUri qgswcscapabilities.cpp:86
QgsWcsProvider::QgsWcsProvider qgswcsprovider.cpp:94
QgsWcsProvider::clone qgswcsprovider.cpp:434
QgsWcsProvider::clone :
QgsRasterPipe::QgsRasterPipe qgsrasterpipe.cpp:37
QgsRasterLayerRenderer::QgsRasterLayerRenderer qgsrasterlayerrenderer.cpp:230
QgsRasterLayer::createMapRenderer qgsrasterlayer.cpp:246
QgsMapRendererJob::prepareJobs qgsmaprendererjob.cpp:348
QgsMapRendererCustomPainterJob::start qgsmaprenderercustompainterjob.cpp:85
QgsMapRendererSequentialJob::start qgsmaprenderersequentialjob.cpp:72
QgsTerrainTextureGenerator::render qgsterraintexturegenerator_p.cpp:43
QgsTerrainTileLoader::loadTexture qgsterraintileloader_p.cpp:64
FlatTerrainChunkLoader::FlatTerrainChunkLoader qgsflatterraingenerator.cpp:34
QgsFlatTerrainGenerator::createChunkLoader qgsflatterraingenerator.cpp:83
QgsChunkedEntity::startJob qgschunkedentity_p.cpp:382
QgsChunkedEntity::onActiveJobFinished qgschunkedentity_p.cpp:365
QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QgsChunkedEntity::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl QgsChunkedEntity::*)(void) __ptr64>::call<QtPrivate::List<>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl QgsChunkedEntity::*)(void) __ptr64,QtPrivate::List<>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
QgsChunkQueueJob::finished moc_qgschunkqueuejob_p.cpp:127
QgsTerrainTileLoader::onImageReady qgsterraintileloader_p.cpp:105
QtPrivate::FunctorCall<QtPrivate::IndexesList<0,1>,QtPrivate::List<int,QImage const & __ptr64>,void,void (__cdecl QgsTerrainTileLoader::*)(int,QImage const & __ptr64) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl QgsTerrainTileLoader::*)(int,QImage const & __ptr64) __ptr64>::call<QtPrivate::List<int,QImage const & __ptr64>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl QgsTerrainTileLoader::*)(int,QImage const & __ptr64) __ptr64,QtPrivate::List<int,QImage const & __ptr64>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
QgsTerrainTextureGenerator::tileReady moc_qgsterraintexturegenerator_p.cpp:138
QgsTerrainTextureGenerator::onRenderingFinished qgsterraintexturegenerator_p.cpp:125
QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QgsTerrainTextureGenerator::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl QgsTerrainTextureGenerator::*)(void) __ptr64>::call<QtPrivate::List<>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl QgsTerrainTextureGenerator::*)(void) __ptr64,QtPrivate::List<>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
QgsMapRendererJob::finished moc_qgsmaprendererjob.cpp:145
QgsMapRendererSequentialJob::internalFinished qgsmaprenderersequentialjob.cpp:150
QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QgsMapRendererSequentialJob::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl QgsMapRendererSequentialJob::*)(void) __ptr64>::call<QtPrivate::List<>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl QgsMapRendererSequentialJob::*)(void) __ptr64,QtPrivate::List<>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
QgsMapRendererJob::finished moc_qgsmaprendererjob.cpp:145
QgsMapRendererCustomPainterJob::futureFinished qgsmaprenderercustompainterjob.cpp:212
QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QgsMapRendererCustomPainterJob::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer<void (__cdecl QgsMapRendererCustomPainterJob::*)(void) __ptr64>::call<QtPrivate::List<>,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject<void (__cdecl QgsMapRendererCustomPainterJob::*)(void) __ptr64,QtPrivate::List<>,void>::impl qobjectdefs_impl.h:397
QMetaObject::activate :
QFutureWatcherBase::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:366
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
TranslateMessageEx :
TranslateMessage :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
main main.cpp:1524
WinMain mainwin.cpp:170
__scrt_common_main_seh exe_common.inl:253
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.7.0-Master
QGIS code revision: 34a0650177
Compiled against Qt: 5.11.2
Running against Qt: 5.11.2
Compiled against GDAL: 2.4.0
Running against GDAL: 2.4.0

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

#2 Updated by Roberto Uhlig 9 months ago

#3 Updated by Roberto Uhlig 9 months ago

Also available in: Atom PDF