Bug report #16966

QGIS 2.99 (3.0) crashes WMTS-Map Zoom-In

Added by Flo Ju over 7 years ago. Updated about 7 years ago.

Status:Closed
Priority:High
Assignee:Even Rouault
Category:Web Services clients/WMS
Affected QGIS version:master Regression?:Yes
Operating System:Linux/xubuntu 16.04.2 Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:24865

Description

QGIS 2.99 (c373c8b) crashes while zooming into a WMTS-Map (in my case basemap.at).

crashing.qgs - crashing QGIS project with 2 wmts layers (11.8 KB) Richard Duivenvoorde, 2017-11-15 12:01 PM

Associated revisions

Revision 4ce17521
Added by Even Rouault about 7 years ago

[QgsAuthManager] Protect all methods that do SQL queries with mutex (fixes #16966)

Revision 31299b0c
Added by Even Rouault about 7 years ago

Merge pull request #5646 from rouault/fix_16966

[QgsAuthManager] Protect all methods that do SQL queries with mutex (fixes #16966)

Revision a6e2ff98
Added by Even Rouault about 7 years ago

[QgsAuthManager] Protect all methods that do SQL queries with mutex (fixes #16966)

History

#1 Updated by Flo Ju over 7 years ago

Error: QGIS died on signal 11qgis.bin: malloc.c:2868: mremap_chunk: Assertion `((size + offset) & (GLRO (dl_pagesize) - 1)) == 0' failed.

#2 Updated by Giovanni Manghi over 7 years ago

  • Status changed from Open to Feedback
  • Regression? changed from No to Yes

Can post the service URL? Thanks.

#4 Updated by Giovanni Manghi over 7 years ago

  • Status changed from Feedback to Open
  • Category changed from Data Provider to Web Services clients/WMS

#5 Updated by Richard Duivenvoorde about 7 years ago

Confirmed here! Just wanted to create a ticket for it when I found this one.

(EDIT): note that this is on Debian Testing here with me. I tested the project file on current nightly in Windows10 in a Virtual Machine, and Windows was doing fine :-(
So could it be that recent reported stability problems are Linux/glib related?
It would be interesting to know if this crashes on Mac's too?

(EDIT2)): also crashing on Windows, altough it takes a little more effort: some more zooming/panning etc. I added also the stacktraces from Windows now.
It looks like a certain moment the network requests are stalling/handles to tiles are sufficated or so???

Easily reproducable with attached project file:
- a project in epsg:28992
- 2 wmts layers (from our national services)

With me loading this project, and do some zooming in and out with the mouse button guarantees to crash QGIS.

Stacktrace from Debian terminal:

/home/richard/bin/qgis_all/master/debug/bin/qgis(_start+0x2a)[0x555afc3ad1da]
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
QGIS died on signal 11QGIS died on signal 11QGIS died on signal 11QGIS died on signal 11[New LWP 17212]
[New LWP 17213]
[New LWP 17214]
[New LWP 17215]
[New LWP 17216]
[New LWP 17220]
[New LWP 17221]
[New LWP 17222]
[New LWP 17223]
[New LWP 17224]
[New LWP 17225]
[New LWP 17227]
[New LWP 17320]
[New LWP 17361]
[New LWP 17362]
[New LWP 17363]
[New LWP 17364]
[New LWP 17365]
[New LWP 17366]
[New LWP 17367]
[New LWP 17368]
[New LWP 17369]

[2]+  Stopped                 qgis
richard@west~$ fg
qgis
warning: process 17211 is already traced by process 17372
ptrace: Operation not permitted.
No thread selected
No stack.

warning: Corrupted shared library list: 0x555afee65db0 != 0x555afef50dc0
warning: process 17211 is already traced by process 17372
ptrace: Operation not permitted.
No thread selected
No stack.
warning: process 17211 is already traced by process 17372
ptrace: Operation not permitted.
No thread selected
No stack.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fe52879266d in poll () at ../sysdeps/unix/syscall-template.S:84
84    ../sysdeps/unix/syscall-template.S: No such file or directory.
[Current thread is 1 (Thread 0x7fe536421340 (LWP 17211))]
#0  0x00007fe52879266d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fe526477119 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fe52647722c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fe52981541b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#4  0x00007fe5297badba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#5  0x00007fe5297c3d24 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#6  0x0000555afc3b4eec in main (argc=1, argv=0x7fffb391cbc8) at /home/richard/dev/qgis/git/qgis/src/app/main.cpp:1398
        profile = 0x555afe10b3b0
        presetStyle = {static null = {<No data fields>}, d = 0x555afe247170}
        rootProfileFolder = {static null = {<No data fields>}, d = 0x555afe157840}
        myLocaleOverrideFlag = false
        qgistor = <incomplete type>
        w = 600
        mySplashPath = {static null = {<No data fields>}, d = 0x7fe532d03500 <QgsApplication::splashPath()::{lambda()#1}::operator()() const::qstring_literal>}
        h = 300
        mypSplash = 0x555afe44aa40
        qgis = 0x555afe644740
        retval = -1282291120
        manager = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7fe529c6ca00 <QObject::staticMetaObject>, stringdata = 0x7fe532e06760 <qt_meta_stringdata_QgsUserProfileManager>, data = 0x7fe532e067e0 <qt_meta_data_QgsUserProfileManager>, static_metacall = 0x7fe532c9e8e6 <QgsUserProfileManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, mWatchProfiles = false, mWatcher = std::unique_ptr<QFileSystemWatcher> containing 0x0, mRootProfilePath = {static null = {<No data fields>}, d = 0x555afe157840}, mUserProfile = std::unique_ptr<QgsUserProfile> containing 0x0, mSettings = std::unique_ptr<QSettings> containing 0x555afe10b230}
        profileFolder = {static null = {<No data fields>}, d = 0x555afe158c70}
        mySettings = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7fe529c6ca00 <QObject::staticMetaObject>, stringdata = 0x7fe532df5a20 <qt_meta_stringdata_QgsSettings>, data = 0x7fe532df5a60 <qt_meta_data_QgsSettings>, static_metacall = 0x7fe532c8803e <QgsSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static sGlobalSettingsPath = {static null = {<No data fields>}, d = 0x555afe36dc00}, mUserSettings = 0x555afe3635e0, mGlobalSettings = 0x555afe3abf10, mUsingGlobalArray = false}
        systemEnvVars = {d = 0x555afe373f60}
        activeStyleName = {static null = {<No data fields>}, d = 0x555afe471ca0}
        i18nPath = {static null = {<No data fields>}, d = 0x555afe5dc030}
        myUserLocale = {static null = {<No data fields>}, d = 0x555afe3a7070}
        qttor = <incomplete type>
        myApp = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7fe52eaea020 <QApplication::staticMetaObject>, stringdata = 0x7fe532de3700 <qt_meta_stringdata_QgsApplication>, data = 0x7fe532de3860 <qt_meta_data_QgsApplication>, static_metacall = 0x7fe532c6edc8 <QgsApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static QGIS_ORGANIZATION_NAME = 0x7fe532d02b08 "QGIS", static QGIS_ORGANIZATION_DOMAIN = 0x7fe532d02b0d "qgis.org", static QGIS_APPLICATION_NAME = 0x7fe532d02b16 "QGIS3", static mFileOpenEventReceiver29900 = 0x555afe644740, static mFileOpenEventList29900 = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fe5298ac960 <QListData::shared_null>}, d = 0x7fe5298ac960 <QListData::shared_null>}}, <No data fields>}, static mUIThemeName29900 = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}, static mPrefixPath29900 = {static null = <same as static member of an already seen type>, d = 0x555afe369a50}, static mPluginPath29900 = {static null = <same as static member of an already seen type>, d = 0x555afe469520}, static mPkgDataPath29900 = {static null = <same as static member of an already seen type>, d = 0x555afe3698b0}, static mLibraryPath29900 = {static null = <same as static member of an already seen type>, d = 0x555afe369960}, static mLibexecPath29900 = {static null = <same as static member of an already seen type>, d = 0x555afe3ab200}, static mThemeName29900 = {static null = <same as static member of an already seen type>, d = 0x7fe532d030a0 <QgsApplication::setUITheme(QString const&)::{lambda()#2}::operator()() const::qstring_literal>}, static mDefaultSvgPaths29900 = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x555afe36da00}, d = 0x555afe36da00}}, <No data fields>}, static mSystemEnvVars29900 = {d = 0x555afe373f60}, static mConfigPath29900 = {static null = {<No data fields>}, d = 0x555afe352310}, static mRunningFromBuildDir29900 = false, static mBuildSourcePath29900 = {static null = <same as static member of an already seen type>, d = 0x7fe5298aa360 <QArrayData::shared_null>}, static mBuildOutputPath29900 = {static null = <same as static member of an already seen type>, d = 0x7fe5298aa360 <QArrayData::shared_null>}, static mGdalSkipList29900 = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fe5298ac960 <QListData::shared_null>}, d = 0x7fe5298ac960 <QListData::shared_null>}}, <No data fields>}, static mMaxThreads29900 = 4, static mAuthDbDirPath29900 = {static null = {<No data fields>}, d = 0x555afe352310}, static sUserName = {static null = <same as static member of an already seen type>, d = 0x555afe2f94e0}, static sUserFullName = {static null = <same as static member of an already seen type>, d = 0x555afe89aa50}, static sPlatformName = {static null = <same as static member of an already seen type>, d = 0x555afe158c40}, mIconCache = {d = 0x555afe35afc0}, mDataItemProviderRegistry = 0x555afee40120, mAuthManager = 0x555afe708d00, mApplicationMembers = 0x555afe242630, static sApplicationMembers = 0x0}
        customizationsettings = 0x555afe3a6500
        useCustomVars = false
        myPixmap = <incomplete type>
        __FUNCTION__ = "main" 
        mySnapshotFileName = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        configLocalStorageLocation = {static null = {<No data fields>}, d = 0x555afe1576c0}
        profileName = {static null = {<No data fields>}, d = 0x555afe157b00}
        mySnapshotWidth = 800
        mySnapshotHeight = 600
        myHideSplash = false
        mySettingsMigrationForce = false
        mySkipVersionCheck = false
        myRestoreDefaultWindowState = false
        myRestorePlugins = true
        myCustomization = true
        dxfOutputFile = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology
        dxfScale = 50000
        dxfEncoding = {static null = {<No data fields>}, d = 0x555afc3bcec0 <main::{lambda()#1}::operator()() const::qstring_literal>}
        dxfPreset = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        dxfExtent = {mXmin = 0, mYmin = 0, mXmax = 0, mYmax = 0}
        myInitialExtent = {static null = {<No data fields>}, d = 0x555afc3bcf00 <main::{lambda()#2}::operator()() const::qstring_literal>}
        myTranslationCode = {static null = {<No data fields>}, d = 0x555afe3a7040}
        configpath = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        authdbdirectory = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        pythonfile = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        customizationfile = {static null = {<No data fields>}, d = 0x7fe5298aa360 <QArrayData::shared_null>}
        globalsettingsfile = {static null = {<No data fields>}, d = 0x555afe36dc00}
        args = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x555afe10b170}, d = 0x555afe10b170}}, <No data fields>}
        myUseGuiFlag = true
        settings = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7fe529c6ca00 <QObject::staticMetaObject>, stringdata = 0x7fe532df5a20 <qt_meta_stringdata_QgsSettings>, data = 0x7fe532df5a60 <qt_meta_data_QgsSettings>, static_metacall = 0x7fe532c8803e <QgsSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static sGlobalSettingsPath = {static null = {<No data fields>}, d = 0x555afe36dc00}, mUserSettings = 0x555afe10ad50, mGlobalSettings = 0x0, mUsingGlobalArray = false}
gdb returned 0
/home/richard/bin/qgis: line 5: 17211 Aborted                 /home/richard/bin/qgis_all/master/debug/bin/qgis "$@" 

On Windows actually 3, not sure if these are all related or are different threads throwing up:

h2. User Feedback

h2. Report Details

*Crash ID*: 4851ecb0e60e52df090f1391bb90249936b1e578

*Stack Trace*
<pre>
ASN1_item_ex_i2d :
ASN1_item_ex_free :
ASN1_item_ex_i2d :
ASN1_item_i2d :
QSslCertificate::operator== :
QSslCertificate::toDer :
QSslCertificate::digest :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QNetworkAccessManager::get :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QtConcurrent::ThreadEngineBase::run :
QThreadPoolPrivate::reset :
QThread::start :
BaseThreadInitThunk :
RtlUserThreadStart :
</pre>

*QGIS Info*
QGIS Version: 2.99.0-Master
QGIS code revision: commit:82644fb37f
Compiled against Qt: 5.9.2
Running against Qt: 5.9.2
Compiled against GDAL: 2.2.2
Running against GDAL: 2.2.2

*System Info*
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.15063

h2. User Feedback

h2. Report Details

*Crash ID*: 4851ecb0e60e52df090f1391bb90249936b1e578

*Stack Trace*
<pre>
ASN1_item_ex_i2d :
ASN1_item_ex_free :
ASN1_item_ex_i2d :
ASN1_item_i2d :
QSslCertificate::operator== :
QSslCertificate::toDer :
QSslCertificate::digest :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QNetworkAccessManager::get :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_not_of :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QgsProcessingModelParameter::toVariant :
QtConcurrent::ThreadEngineBase::run :
QThreadPoolPrivate::reset :
QThread::start :
BaseThreadInitThunk :
RtlUserThreadStart :
</pre>

*QGIS Info*
QGIS Version: 2.99.0-Master
QGIS code revision: commit:82644fb37f
Compiled against Qt: 5.9.2
Running against Qt: 5.9.2
Compiled against GDAL: 2.2.2
Running against GDAL: 2.2.2

*System Info*
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.15063

h2. User Feedback

h2. Report Details

*Crash ID*: 291957e1ea612b5c099f62b4b59acf1f85a25b25

*Stack Trace*
<pre>
QHeaderView::logicalIndexAt :
QHeaderView::logicalIndexAt :
QComboBox::addItems :
QFrame::paintEvent :
QAbstractScrollArea::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsProcessingModelParameter::toVariant :
QCoreApplication::notifyInternal2 :
QWidgetPrivate::drawWidget :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::drawWidget :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::drawWidget :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::drawWidget :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::drawWidget :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::paintSiblingsRecursive :
QWidgetPrivate::drawWidget :
QApplication::windowIcon :
QWidget::event :
QMainWindow::event :
QgsPluginRegistry::QgsPluginRegistry :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsProcessingModelParameter::toVariant :
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
CallWindowProcW :
DispatchMessageW :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
QgsPluginRegistry::QgsPluginRegistry :
BaseThreadInitThunk :
RtlUserThreadStart :
</pre>

*QGIS Info*
QGIS Version: 2.99.0-Master
QGIS code revision: commit:82644fb37f
Compiled against Qt: 5.9.2
Running against Qt: 5.9.2
Compiled against GDAL: 2.2.2
Running against GDAL: 2.2.2

*System Info*
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.15063

#6 Updated by Even Rouault about 7 years ago

  • Assignee set to Even Rouault

#8 Updated by Even Rouault about 7 years ago

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

Also available in: Atom PDF