Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyQGIS: WMS-T layer uri without timeDimensionExtent in it crashes QGIS #43158

Closed
rduivenvoorde opened this issue May 10, 2021 · 1 comment · Fixed by #43310
Closed

PyQGIS: WMS-T layer uri without timeDimensionExtent in it crashes QGIS #43158

rduivenvoorde opened this issue May 10, 2021 · 1 comment · Fixed by #43310
Assignees
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Temporal Temporal filtering or animation

Comments

@rduivenvoorde
Copy link
Contributor

rduivenvoorde commented May 10, 2021

Trying to register a WMS-Time layer via PyQGIS and trying to find the minimal needed uri I crashed QGIS severely.

To Reproduce:

# THIS uri just works (copied from layer properties of a wmst layer loaded via gui)
uri = 'type=wmst&allowTemporalUpdates=true&temporalSource=provider&timeDimensionExtent=2021-03-31T09:25:00Z/2021-05-03T12:20:00Z/PT5M&type=wmst&layers=RAD_NL25_PCP_CM&styles=precip-blue-transparent/nearest&crs=EPSG:3857&format=image/png&url=https://geoservices.knmi.nl/adagucserver?dataset%3DRADAR%26VERSION%3D1.1.1%26request%3Dgetcapabilities'

# BUT this uri crashes (I thought to add the timeDimension later, OR take it from the provider or controller)
uri = 'allowTemporalUpdates=true&temporalSource=provider&type=wmst&layers=RAD_NL25_PCP_CM&styles=precip-blue-transparent/nearest&crs=EPSG:3857&format=image/png&url=https://geoservices.knmi.nl/adagucserver?dataset%3DRADAR%26VERSION%3D1.1.1%26request%3Dgetcapabilities'

layer = QgsRasterLayer(uri, 'knmi', "wms")

QgsProject.instance().addMapLayer(layer, True)

My local stacktrace:

../src/core/raster/qgsrasterlayer.cpp:126 : (QgsRasterLayer) [5ms] Entered
../src/core/raster/qgsrasterpipe.cpp:225 : (interface) [0ms] role = 2
../src/core/raster/qgsrasterlayer.cpp:1743 : (setRenderer) [0ms] Entered
../src/core/raster/qgsrasterlayer.cpp:630 : (setDataProvider) [0ms] Entered
../src/providers/wms/qgswmsprovider.cpp:109 : (QgsWmsProvider) [0ms] constructing with uri 'allowTemporalUpdates=true&temporalSource=provider&type=wmst&layers=RAD_NL25_PCP_CM&styles=precip-blue-transparent/nearest&crs=EPSG:3857&format=image/png&url=https://geoservices.knmi.nl/adagucserver?dataset%3DRADAR%26VERSION%3D1.1.1%26request%3Dgetcapabilities'.
../src/providers/wms/qgswmscapabilities.cpp:42 : (parseUri) [0ms] uriString = allowTemporalUpdates=true&temporalSource=provider&type=wmst&layers=RAD_NL25_PCP_CM&styles=precip-blue-transparent/nearest&crs=EPSG:3857&format=image/png&url=https://geoservices.knmi.nl/adagucserver?dataset%3DRADAR%26VERSION%3D1.1.1%26request%3Dgetcapabilities
Fatal: ASSERT: "!isEmpty()" in file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 363
QGIS died on signal -1[New LWP 255311]
[New LWP 255312]
[New LWP 255314]
[New LWP 255315]
[New LWP 255316]
[New LWP 255326]
[New LWP 255327]
[New LWP 255328]
[New LWP 255329]
[New LWP 255330]
[New LWP 255332]
[New LWP 255336]
[New LWP 255338]
[New LWP 255341]
[New LWP 255354]
[New LWP 255356]
[New LWP 255357]
[New LWP 255358]
[New LWP 255359]
[New LWP 255360]
[New LWP 255361]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fafeb95c207 in __GI___wait4 (pid=255379, stat_loc=0x7ffc5e90c204, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
27	../sysdeps/unix/sysv/linux/wait4.c: No such file or directory.
[Current thread is 1 (Thread 0x7fafd8a34180 (LWP 255303))]
#0  0x00007fafeb95c207 in __GI___wait4 (pid=255379, stat_loc=0x7ffc5e90c204, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
#1  0x000055bfa79103f8 in qgisCrash(int) (signal=-1) at ../src/app/main.cpp:350
        status = 32764
        pidstr = "--pid=255303\000\000\000\000\001\000\000\000\000\000\000\000\000\031o\252\277U\000"
        gdbpid = 255379
        exename = "/home/richard/bin/qgis_/master/debug/bin/qgis\000\000\000l\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\377\377\377\377\000\000\000\000\200\373\244\353\257\177\000\000\340\251-\356\257\177\000\000\340\324\a\362\257\177\000\000\320$\025\254\277U\000\000\231\262\221\353\257\177\000\000\000\000\000\000\000\000\000\000\364\003\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\026D\226\336\344\317z\363\003\000\000\000\000\000\000`\022Y;\257\177\000\000\020Ő^\374\177\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "#"...
        len = 45
#2  0x000055bfa7910a0c in myMessageOutput(QtMsgType, QMessageLogContext const&, QString const&) (type=QtFatalMsg, msg=...) at ../src/app/main.cpp:446
#3  0x00007fafee38b7c8 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fafee38b8e9 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fafee358bd8 in QMessageLogger::fatal(char const*, ...) const () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fafee358040 in qt_assert_x(char const*, char const*, char const*, int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007faf3b468647 in QList<QgsWmstExtentPair>::first() const (this=0x55bfbe683340) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:363
#8  0x00007faf3b4635cc in QList<QgsWmstExtentPair>::constFirst() const (this=0x55bfbe683340) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:362
#9  0x00007faf3b440f15 in QgsWmsSettings::parseUri(QString const&) (this=0x55bfbe6832d8, uriString=...) at ../src/providers/wms/qgswmscapabilities.cpp:93
        __FUNCTION__ = "parseUri"
        uri = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fafed4af760 <qt_meta_stringdata_QgsDataSourceUri>, data = 0x7fafed4af880 <qt_meta_data_QgsDataSourceUri>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, mHost = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mPort = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mDriver = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mService = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mDatabase = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mSchema = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mTable = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mGeometryColumn = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mSql = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mAuthConfigId = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mUsername = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mPassword = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mSSLmode = QgsDataSourceUri::SslPrefer, mKeyColumn = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mUseEstimatedMetadata = false, mSelectAtIdDisabled = false, mWkbType = QgsWkbTypes::Unknown, mSrid = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}, mParams = {<QMap<QString, QString>> = {d = 0x55bfab4888d0}, <No data fields>}}
#10 0x00007faf3b476ce5 in QgsWmsProvider::QgsWmsProvider(QString const&, QgsDataProvider::ProviderOptions const&, QgsWmsCapabilities const*) (this=0x55bfbe682ea0, uri=..., options=..., capabilities=0x0) at ../src/providers/wms/qgswmsprovider.cpp:119
        profile = std::unique_ptr<class QgsScopedRuntimeProfile> = {get() = 0x7ffc5e90d120}
#11 0x00007faf3b4a878f in QgsWmsProviderMetadata::createProvider(QString const&, QgsDataProvider::ProviderOptions const&, QFlags<QgsDataProvider::ReadFlag>) (this=0x55bfaa4f4f20, uri=..., options=..., flags=...) at ../src/providers/wms/qgswmsprovider.cpp:4012
#12 0x00007fafeccbd6b7 in QgsProviderRegistry::createProvider(QString const&, QString const&, QgsDataProvider::ProviderOptions const&, QFlags<QgsDataProvider::ReadFlag>) (this=0x55bfaa67b000, providerKey=..., dataSource=..., options=..., flags=...) at ../src/core/qgsproviderregistry.cpp:505
        metadata = 0x55bfaa4f4f20
#13 0x00007fafed022f54 in QgsRasterLayer::setDataProvider(QString const&, QgsDataProvider::ProviderOptions const&, QFlags<QgsDataProvider::ReadFlag>) (this=0x55bfb41ed7f0, provider=..., options=..., flags=...) at ../src/core/raster/qgsrasterlayer.cpp:652
        __FUNCTION__ = "setDataProvider"
        profile = std::unique_ptr<class QgsScopedRuntimeProfile> = {get() = 0x0}
        mbr = {mXmin = 3.9525251667299724e-323, mYmin = 3.7052303994245029e+283, mXmax = 1.0671817950170925e-321, mYmax = 0}
        brightnessFilter = 0x7ffc5e90d740
        hueSaturationFilter = 0x55bfb41ed7f0
        resampleFilter = 0x55bfb41ed7f0
        projector = 0x7fafed7ce560 <QgsRasterLayer::setRenderer(QgsRasterRenderer*)::{lambda()#1}::operator()() const::qstring_literal>
        capabilities = 21951
        identifyFormat = (unknown: 0xb41edae0)
#14 0x00007fafed025984 in QgsRasterLayer::setDataSourcePrivate(QString const&, QString const&, QString const&, QgsDataProvider::ProviderOptions const&, QFlags<QgsDataProvider::ReadFlag>) (this=0x55bfb41ed7f0, dataSource=..., baseName=..., provider=..., options=..., flags=...) at ../src/core/raster/qgsrasterlayer.cpp:939
        hadRenderer = false
        domImplementation = {impl = 0x0}
        documentType = {<QDomNode> = {impl = 0x0}, <No data fields>}
        errorMsg = {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}
        loadDefaultStyleFlag = true
        __FUNCTION__ = "setDataSourcePrivate"
#15 0x00007fafed01ba3b in QgsRasterLayer::QgsRasterLayer(QString const&, QString const&, QString const&, QgsRasterLayer::LayerOptions const&) (this=0x55bfb41ed7f0, uri=..., baseName=..., providerKey=..., options=...) at ../src/core/raster/qgsrasterlayer.cpp:135
        providerOptions = {transformContext = {d = {d = 0x55bfb2653a50}}}
        providerFlags = {i = 4}
#16 0x00007faee64fe38d in sipQgsRasterLayer::sipQgsRasterLayer(QString const&, QString const&, QString const&, QgsRasterLayer::LayerOptions const&) (this=0x55bfb41ed7f0, a0=..., a1=..., a2=..., a3=...) at python/core/sip_corepart3.cpp:180488
#17 0x00007faee650a406 in init_type_QgsRasterLayer(sipSimpleWrapper*, PyObject*, PyObject*, PyObject**, PyObject**, PyObject**) (sipSelf=0x7fafbe859af0, sipArgs=0x7fafd72dddc0, sipKwds=0x0, sipUnused=0x7ffc5e90dae8, sipParseErr=0x7ffc5e90db00) at python/core/sip_corepart3.cpp:185327
        _save = 0x55bfa9af2e80
        a1State = 1
        a2def = @0x7ffc5e90da28: {static null = {<No data fields>}, d = 0x55bfb48b1a00}
        a2 = 0x55bfb46c5b80
        a2State = 1
        a0 = 0x55bfb3d1c370
        a3def = @0x7ffc5e90da00: {loadDefaultStyle = true, transformContext = {d = {d = 0x55bfb2653a50}}, skipCrsValidation = false}
        a3 = 0x7ffc5e90da00
        a0State = 1
        a1def = @0x7ffc5e90da40: {static null = {<No data fields>}, d = 0x7fafee65a960 <QArrayData::shared_null>}
        a1 = 0x55bfb3eaad10
        sipKwdList = {0x7faee6f7d6af <sipStrings__core+225071> "uri", 0x7faee6f7b5b3 <sipStrings__core+216627> "baseName", 0x7faee6f73c5a <sipStrings__core+185562> "providerType", 0x7faee6f7c447 <sipStrings__core+220359> "options"}
        sipCpp = 0x0
#18 0x00007faf38734960 in  () at /usr/lib/python3/dist-packages/PyQt5/sip.cpython-39-x86_64-linux-gnu.so
#19 0x00007faeea79993a in type_call (type=<optimized out>, args=0x7fafd72dddc0, kwds=0x0) at ../Objects/typeobject.c:1026
        res = <optimized out>
        obj = 0x7fafbe859af0
        tstate = <optimized out>
#20 0x00007faeea73ba50 in _PyObject_MakeTpCall (tstate=0x55bfa9af2e80, callable=0x55bfac1524d0, args=<optimized out>, nargs=<optimized out>, keywords=0x0) at ../Objects/call.c:191
        call = <optimized out>
        argstuple = 0x7fafd72dddc0
        kwdict = 0x0
        result = 0x0
#21 0x00007faeea6ebf08 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775811, args=0x55bfb4964a00, callable=0x55bfac1524d0, tstate=<optimized out>) at ../Include/cpython/abstract.h:116
        nargs = 3
        func = <optimized out>
        res = <optimized out>
        tstate = <optimized out>
        func = 0x55bfac1524d0
        w = <optimized out>
        nkwargs = 0
        nargs = <optimized out>
        pfunc = 0x55bfb49649f8
        x = <optimized out>
        stack = 0x55bfb4964a00
        sp = <optimized out>
        res = <optimized out>
        stack_pointer = <optimized out>
        next_instr = 0x7fafd77a8b02
        opcode = <optimized out>
        oparg = <optimized out>
        fastlocals = <optimized out>
        freevars = <optimized out>
        retval = <optimized out>
        ceval2 = <optimized out>
        eval_breaker = <optimized out>
        co = <optimized out>
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = <optimized out>
        names = <optimized out>
        consts = <optimized out>
        co_opcache = <optimized out>
        __func__ = "_PyEval_EvalFrameDefault"
        opcode_targets = {0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e6b49 <_PyEval_EvalFrameDefault+7817>, 0x7faeea6e6aed <_PyEval_EvalFrameDefault+7725>, 0x7faeea6e6a87 <_PyEval_EvalFrameDefault+7623>, 0x7faeea6e6a27 <_PyEval_EvalFrameDefault+7527>, 0x7faeea6e8174 <_PyEval_EvalFrameDefault+13492>, 0x7faeea6e8102 <_PyEval_EvalFrameDefault+13378>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e93e5 <_PyEval_EvalFrameDefault+18213>, 0x7faeea6e807e <_PyEval_EvalFrameDefault+13246>, 0x7faeea6e99f1 <_PyEval_EvalFrameDefault+19761>, 0x7faeea6e995b <_PyEval_EvalFrameDefault+19611>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e740f <_PyEval_EvalFrameDefault+10063>, 0x7faeea6e736f <_PyEval_EvalFrameDefault+9903>, 0x7faeea6e8753 <_PyEval_EvalFrameDefault+14995>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e86ac <_PyEval_EvalFrameDefault+14828>, 0x7faeea6e9a7e <_PyEval_EvalFrameDefault+19902>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e85f9 <_PyEval_EvalFrameDefault+14649>, 0x7faeea6e9574 <_PyEval_EvalFrameDefault+18612>, 0x7faeea6e65b8 <_PyEval_EvalFrameDefault+6392>, 0x7faeea6e651a <_PyEval_EvalFrameDefault+6234>, 0x7faeea6e647a <_PyEval_EvalFrameDefault+6074>, 0x7faeea6e8bbc <_PyEval_EvalFrameDefault+16124>, 0x7faeea6e8b1c <_PyEval_EvalFrameDefault+15964>, 0x7faeea6e9436 <_PyEval_EvalFrameDefault+18294>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592> <repeats 18 times>, 0x7faeea6e8afc <_PyEval_EvalFrameDefault+15932>, 0x7faeea6e81e1 <_PyEval_EvalFrameDefault+13601>, 0x7faeea6e7749 <_PyEval_EvalFrameDefault+10889>, 0x7faeea6e7688 <_PyEval_EvalFrameDefault+10696>, 0x7faeea6e7580 <_PyEval_EvalFrameDefault+10432>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e7dfb <_PyEval_EvalFrameDefault+12603>, 0x7faeea6e7d48 <_PyEval_EvalFrameDefault+12424>, 0x7faeea6e87f3 <_PyEval_EvalFrameDefault+15155>, 0x7faeea6e7caa <_PyEval_EvalFrameDefault+12266>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e8393 <_PyEval_EvalFrameDefault+14035>, 0x7faeea6e82dc <_PyEval_EvalFrameDefault+13852>, 0x7faeea6e8433 <_PyEval_EvalFrameDefault+14195>, 0x7faeea6e68b8 <_PyEval_EvalFrameDefault+7160>, 0x7faeea6e8f4a <_PyEval_EvalFrameDefault+17034>, 0x7faeea6e7fde <_PyEval_EvalFrameDefault+13086>, 0x7faeea6e7f3e <_PyEval_EvalFrameDefault+12926>, 0x7faeea6e7e9e <_PyEval_EvalFrameDefault+12766>, 0x7faeea6e8a57 <_PyEval_EvalFrameDefault+15767>, 0x7faeea6e89d3 <_PyEval_EvalFrameDefault+15635>, 0x7faeea6e6d3d <_PyEval_EvalFrameDefault+8317>, 0x7faeea6e6c33 <_PyEval_EvalFrameDefault+8051>, 0x7faeea6e7c04 <_PyEval_EvalFrameDefault+12100>, 0x7faeea6e7ab0 <_PyEval_EvalFrameDefault+11760>, 0x7faeea6e8c5c <_PyEval_EvalFrameDefault+16284>, 0x7faeea6e7a4a <_PyEval_EvalFrameDefault+11658>, 0x7faeea6e627f <_PyEval_EvalFrameDefault+5567>, 0x7faeea6e61e1 <_PyEval_EvalFrameDefault+5409>, 0x7faeea6e855b <_PyEval_EvalFrameDefault+14491>, 0x7faeea6e6141 <_PyEval_EvalFrameDefault+5249>, 0x7faeea6e91f7 <_PyEval_EvalFrameDefault+17719>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e916b <_PyEval_EvalFrameDefault+17579>, 0x7faeea6e9a75 <_PyEval_EvalFrameDefault+19893>, 0x7faeea6e8fea <_PyEval_EvalFrameDefault+17194>, 0x7faeea6e5d66 <_PyEval_EvalFrameDefault+4262>, 0x7faeea6e5ac3 <_PyEval_EvalFrameDefault+3587>, 0x7faeea6e5a5e <_PyEval_EvalFrameDefault+3486>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e5c95 <_PyEval_EvalFrameDefault+4053>, 0x7faeea6e5be9 <_PyEval_EvalFrameDefault+3881>, 0x7faeea6e5b64 <_PyEval_EvalFrameDefault+3748>, 0x7faeea6e580f <_PyEval_EvalFrameDefault+2895>, 0x7faeea6e84cf <_PyEval_EvalFrameDefault+14351>, 0x7faeea6e6958 <_PyEval_EvalFrameDefault+7320>, 0x7faeea6e59b2 <_PyEval_EvalFrameDefault+3314>, 0x7faeea6e591f <_PyEval_EvalFrameDefault+3167>, 0x7faeea6e72da <_PyEval_EvalFrameDefault+9754>, 0x7faeea6e725e <_PyEval_EvalFrameDefault+9630>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e71f7 <_PyEval_EvalFrameDefault+9527>, 0x7faeea6e7156 <_PyEval_EvalFrameDefault+9366>, 0x7faeea6e7020 <_PyEval_EvalFrameDefault+9056>, 0x7faeea6e6ee3 <_PyEval_EvalFrameDefault+8739>, 0x7faeea6e6e5c <_PyEval_EvalFrameDefault+8604>, 0x7faeea6e6ddc <_PyEval_EvalFrameDefault+8476>, 0x7faeea6e8eb9 <_PyEval_EvalFrameDefault+16889>, 0x7faeea6e8e16 <_PyEval_EvalFrameDefault+16726>, 0x7faeea6e9b1e <_PyEval_EvalFrameDefault+20062>, 0x7faeea6e8cf0 <_PyEval_EvalFrameDefault+16432>, 0x7faeea6e6424 <_PyEval_EvalFrameDefault+5988>, 0x7faeea6e6382 <_PyEval_EvalFrameDefault+5826>, 0x7faeea6e94d6 <_PyEval_EvalFrameDefault+18454>, 0x7faeea6e631d <_PyEval_EvalFrameDefault+5725>, 0x7faeea6e9e8a <_PyEval_EvalFrameDefault+20938>, 0x7faeea6e9dd7 <_PyEval_EvalFrameDefault+20759>, 0x7faeea6e9d3a <_PyEval_EvalFrameDefault+20602>, 0x7faeea6e9cab <_PyEval_EvalFrameDefault+20459>, 0x7faeea6ea022 <_PyEval_EvalFrameDefault+21346>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e9f3f <_PyEval_EvalFrameDefault+21119>, 0x7faeea6e7502 <_PyEval_EvalFrameDefault+10306>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e7491 <_PyEval_EvalFrameDefault+10193>, 0x7faeea6e9370 <_PyEval_EvalFrameDefault+18096>, 0x7faeea6e92ea <_PyEval_EvalFrameDefault+17962>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6ea1f5 <_PyEval_EvalFrameDefault+21813>, 0x7faeea6e9297 <_PyEval_EvalFrameDefault+17879>, 0x7faeea6e67b5 <_PyEval_EvalFrameDefault+6901>, 0x7faeea6e66dd <_PyEval_EvalFrameDefault+6685>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6ea17e <_PyEval_EvalFrameDefault+21694>, 0x7faeea6e6659 <_PyEval_EvalFrameDefault+6553>, 0x7faeea6e98d5 <_PyEval_EvalFrameDefault+19477>, 0x7faeea6e97c0 <_PyEval_EvalFrameDefault+19200>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e9848 <_PyEval_EvalFrameDefault+19336>, 0x7faeea6e9625 <_PyEval_EvalFrameDefault+18789>, 0x7faeea6ea2dd <_PyEval_EvalFrameDefault+22045>, 0x7faeea6ea234 <_PyEval_EvalFrameDefault+21876>, 0x7faeea6ea24f <_PyEval_EvalFrameDefault+21903>, 0x7faeea6e6ba7 <_PyEval_EvalFrameDefault+7911>, 0x7faeea6e6097 <_PyEval_EvalFrameDefault+5079>, 0x7faeea6e5fec <_PyEval_EvalFrameDefault+4908>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e5f65 <_PyEval_EvalFrameDefault+4773>, 0x7faeea6e5e87 <_PyEval_EvalFrameDefault+4551>, 0x7faeea6ea0d4 <_PyEval_EvalFrameDefault+21524>, 0x7faeea6e8893 <_PyEval_EvalFrameDefault+15315>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592>, 0x7faeea6e8924 <_PyEval_EvalFrameDefault+15460>, 0x7faeea6e5e19 <_PyEval_EvalFrameDefault+4441>, 0x7faeea6e79b2 <_PyEval_EvalFrameDefault+11506>, 0x7faeea6e7924 <_PyEval_EvalFrameDefault+11364>, 0x7faeea6e788b <_PyEval_EvalFrameDefault+11211>, 0x7faeea6e7803 <_PyEval_EvalFrameDefault+11075>, 0x7faeea6e56e0 <_PyEval_EvalFrameDefault+2592> <repeats 90 times>}
        PyId_displayhook = {next = 0x7faeeabb3d50 <PyId_WarningMessage.7>, string = 0x7faeea9b3719 "displayhook", object = 0x7faf38bc9270}
        PyId_send = {next = 0x0, string = 0x7faeeaa20465 "send", object = 0x0}
        PyId___build_class__ = {next = 0x7faeeabdb000 <PyId___builtins__>, string = 0x7faeea9b381a "__build_class__", object = 0x7faf38bd1530}
        PyId___annotations__ = {next = 0x7faeeabb4480 <dot_locals>, string = 0x7faeea968ac1 "__annotations__", object = 0x7faf38e2e9b0}
        PyId___aenter__ = {next = 0x0, string = 0x7faeea9b380f "__aenter__", object = 0x0}
        PyId___aexit__ = {next = 0x0, string = 0x7faeea9b3805 "__aexit__", object = 0x0}
        PyId___enter__ = {next = 0x7faeeabb4d10 <PyId__find_and_load.7>, string = 0x7faeea9688d0 "__enter__", object = 0x7faf38e258b0}
        PyId___exit__ = {next = 0x7faeeabb4370 <PyId___enter__.6>, string = 0x7faeea9688da "__exit__", object = 0x7faf38e258f0}
#22 _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775811, args=0x55bfb4964a00, callable=0x55bfac1524d0, tstate=<optimized out>) at ../Include/cpython/abstract.h:103
        func = <optimized out>
        res = <optimized out>
        tstate = <optimized out>
        func = 0x55bfac1524d0
        w = <optimized out>
        nkwargs = 0
        nargs = <optimized out>
        pfunc = 0x55bfb49649f8
        x = <optimized out>
        stack = 0x55bfb4964a00
        sp = <optimized out>
        res = <optimized out>
        stack_pointer = <optimized out>
        next_instr = 0x7fafd77a8b02
        opcode = <optimized out>
        oparg = <optimized out>
        fastlocals = <optimized out>
        freevars = <optimized out>
        retval = <optimized out>
        ceval2 = <optimized out>
        eval_breaker = <optimized out>
        co = <optimized out>
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = <optimized out>
        names = <optimized out>
        consts = <optimized out>
        co_opcache = <optimized out>
        __func__ = "_PyEval_EvalFrameDefault"
@rduivenvoorde rduivenvoorde added Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Temporal Temporal filtering or animation labels May 10, 2021
@rduivenvoorde rduivenvoorde changed the title PyQIGS: WMS-T layer uri without timeDimensionExtent in it crashes QGIS PyQGIS: WMS-T layer uri without timeDimensionExtent in it crashes QGIS May 20, 2021
@rouault rouault self-assigned this May 20, 2021
@rduivenvoorde
Copy link
Contributor Author

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Temporal Temporal filtering or animation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants