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

After loading a Mesh in current master, the Layer styling panel is unusable #60083

Closed
1 of 2 tasks
rduivenvoorde opened this issue Jan 8, 2025 · 4 comments
Closed
1 of 2 tasks
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Mesh Related to general mesh layer handling (not specific data formats) Regression Something which used to work, but doesn't anymore

Comments

@rduivenvoorde
Copy link
Contributor

What is the bug or the crash?

After loading a trivial tiny ugrid mesh in current master, the styling dialog is not usable anymore:
ugrid3timesteps.zip

And shows the following info in my terminal:

HDF5-DIAG: Error detected in HDF5 (1.14.5) thread 1:
  #000: ../../../src/H5A.c line 539 in H5Aopen(): unable to synchronously open attribute
    major: Attribute
    minor: Unable to create file
  #001: ../../../src/H5A.c line 505 in H5A__open_api_common(): unable to open attribute: 'File Type'
    major: Attribute
    minor: Can't open object
  #002: ../../../src/H5A.c line 454 in H5A__open_common(): unable to open attribute: 'File Type'
    major: Attribute
    minor: Can't open object
  #003: ../../../src/H5VLcallback.c line 1125 in H5VL_attr_open(): attribute open failed
    major: Virtual Object Layer
    minor: Can't open object
  #004: ../../../src/H5VLcallback.c line 1092 in H5VL__attr_open(): attribute open failed
    major: Virtual Object Layer
    minor: Can't open object
  #005: ../../../src/H5VLnative_attr.c line 164 in H5VL__native_attr_open(): unable to open attribute: 'File Type'
    major: Attribute
    minor: Can't open object
  #006: ../../../src/H5Aint.c line 513 in H5A__open(): unable to load attribute info from object header for attribute: 'File Type'
    major: Attribute
    minor: Can't open object
  #007: ../../../src/H5Oattribute.c line 498 in H5O__attr_open_by_name(): can't locate attribute: 'File Type'
    major: Attribute
    minor: Object not found

Steps to reproduce the issue

Load via the Mesh dialog the nc file in the zip above:

  • you see one group in the Layer Styling

Screenshot From 2025-01-08 14-57-45

But you cannot click on one of the other tabs anymore

Versions

QGIS version3.41.0-Master
QGIS code revision9e2efff928b
 
Libraries
Qt version5.15.15
Python version3.12.8
GDAL/OGR version3.10.0
PROJ version9.5.1
EPSG Registry database versionv11.022 (2024-11-05)
GEOS version3.13.0-CAPI-1.19.0
SQLite version3.46.1
PostgreSQL client versionunknown
SpatiaLite version5.1.0
QWT version6.1.4
QScintilla2 version2.14.1
OS versionDebian GNU/Linux trixie/sid
This copy of QGIS writes debugging output.
 
Active Python plugins
db_manager0.1.20
grassprovider2.12.99
processing2.12.99
MetaSearch0.3.6

Supported QGIS version

  • I'm running a supported QGIS version according to the roadmap.

New profile

Additional context

No response

@rduivenvoorde rduivenvoorde added the Bug Either a bug report, or a bug fix. Let's hope for the latter! label Jan 8, 2025
@rduivenvoorde
Copy link
Contributor Author

I see this error too in my terminal:

GDAL ERROR 1: Unable to compute a transformation between pixel/line and georeferenced coordinates for NETCDF:"/home/richard/tmp/ugrid3timesteps.nc":mesh2d_waarde. There is no affine transformation and no GCPs. Specify transformation option SRC_METHOD=NO_GEOTRANSFORM to bypass this check.
GDAL ERROR 1: Unable to compute a transformation between pixel/line and georeferenced coordinates for NETCDF:"/home/richard/tmp/ugrid3timesteps.nc":mesh2d_face_nodes. There is no affine transformation and no GCPs. Specify transformation option SRC_METHOD=NO_GEOTRANSFORM to bypass this check.
Warning 1: dimension #1 (max_nMesh2D_face_nodes) is not a Longitude/X dimension.
Warning 1: dimension #0 (mesh2d_nFaces) is not a Latitude/Y dimension.
GDAL ERROR 1: Unable to compute a transformation between pixel/line and georeferenced coordinates for NETCDF:"/home/richard/tmp/ugrid3timesteps.nc":mesh2d_face_nodes. There is no affine transformation and no GCPs. Specify transformation option SRC_METHOD=NO_GEOTRANSFORM to bypass this check.
Warning 1: dimension #1 (mesh2d_nFaces) is not a Longitude/X dimension.
Warning 1: dimension #0 (time) is not a Latitude/Y dimension.
GDAL ERROR 1: Unable to compute a transformation between pixel/line and georeferenced coordinates for NETCDF:"/home/richard/tmp/ugrid3timesteps.nc":mesh2d_waarde. There is no affine transformation and no GCPs. Specify transformation option SRC_METHOD=NO_GEOTRANSFORM to bypass this check.

Note that exact this same nc in QGIS 3.40 loads fine:

QGIS version3.40.1-Bratislava
QGIS code branchRelease 3.40
 
Libraries
Qt version5.15.15
Python version3.12.8
GDAL/OGR version3.9.3
PROJ version9.5.1
EPSG Registry database versionv11.022 (2024-11-05)
GEOS version3.13.0-CAPI-1.19.0
SQLite version3.46.1
PostgreSQL client version17.2 (Debian 17.2-1)
SpatiaLite version5.1.0
QWT version6.1.4
QScintilla2 version2.14.1
OS versionDebian GNU/Linux trixie/sid
This copy of QGIS writes debugging output.
 
Active Python plugins
db_manager0.1.20
grassprovider2.12.99
processing2.12.99
MetaSearch0.3.6

@rduivenvoorde rduivenvoorde added the Mesh Related to general mesh layer handling (not specific data formats) label Jan 8, 2025
@rduivenvoorde
Copy link
Contributor Author

Another (may be related observation).
I had a small plugin which loaded an nc file and the put some styling on it.
While this works until 3.40, current master crashes with:

[New LWP 64889]
[New LWP 64888]
[New LWP 64887]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f0162103817 in __GI___wait4 (pid=64979, stat_loc=0x55f3970f0e14, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30

warning: 30	../sysdeps/unix/sysv/linux/wait4.c: No such file or directory
[Current thread is 1 (Thread 0x7f01505a5340 (LWP 64886))]
#0  0x00007f0162103817 in __GI___wait4 (pid=64979, stat_loc=0x55f3970f0e14, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
        sc_ret = -512
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x000055f38a913cc8 in qgisCrash (signal=11) at /home/richard/git/qgis/src/app/main.cpp:348
        status = 0
        pidstr = "--pid=64886", '\000' <repeats 20 times>
        gdbpid = 64979
        exename = "/home/richard/bin/qgis_/master/debug/bin/qgis", '\000' <repeats 466 times>
        len = 45
#2  0x00007f0162049ce0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#4  0x00007f016209dcef in __pthread_kill_internal (threadid=<optimized out>, signo=11) at ./nptl/pthread_kill.c:78
#5  0x00007f0162049c42 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#6  0x00007f0162049ce0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007f01643d3e62 in QgsMeshRendererScalarSettings::updateShader (this=0x7ffd2500d560) at /home/richard/git/qgis/src/core/mesh/qgsmeshrenderersettings.cpp:206
#8  0x00007f01643d29ec in QgsMeshRendererScalarSettings::setClassificationMinimumMaximum (this=0x7ffd2500d560, minimum=0, maximum=2599439.5) at /home/richard/git/qgis/src/core/mesh/qgsmeshrenderersettings.cpp:100
#9  0x00007f016a655326 in QgisApp::handleRenderedLayerStatistics (this=0x55f3941da380) at /home/richard/git/qgis/src/app/qgisapp.cpp:17189
        rendererSettings = {mRendererNativeMeshSettings = {mEnabled = false, mLineWidth = 0.26000000000000001, mLineWidthUnit = Qgis::RenderUnit::Millimeters, mColor = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 0, greenF16 = 0, blueF16 = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}}, mRendererTriangularMeshSettings = {mEnabled = false, mLineWidth = 0.26000000000000001, mLineWidthUnit = Qgis::RenderUnit::Millimeters, mColor = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 0, greenF16 = 0, blueF16 = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}}, mRendererEdgeMeshSettings = {mEnabled = false, mLineWidth = 0.26000000000000001, mLineWidthUnit = Qgis::RenderUnit::Millimeters, mColor = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 0, greenF16 = 0, blueF16 = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}}, mRendererScalarSettings = {{d = 0x55f39da37210, e = 0x55f39da37210}}, mRendererVectorSettings = {{d = 0x7f01669ddf80 <QHashData::shared_null>, e = 0x7f01669ddf80 <QHashData::shared_null>}}, mActiveScalarDatasetGroup = 0, mActiveVectorDatasetGroup = -1, mAveragingMethod = std::shared_ptr<class QgsMesh3DAveragingMethod> (use count 2, weak count 0) = {get() = 0x55f39d6b3dc0}}
        scalarRendererSettings = {mColorRampShader = {<QgsRasterShaderFunction> = {_vptr.QgsRasterShaderFunction = 0x7f01663e1350 <vtable for QgsColorRampShader+16>, mMaximumValue = 2599439.5, mMinimumValue = 0, mMinimumMaximumRange = 2599439.5, mLabelPrecision = 6}, mSourceColorRamp = std::unique_ptr<class QgsColorRamp> = {get() = 0x0}, mColorRampItemList = {d = 0x55f39a917590}, mColorRampType = Qgis::ShaderInterpolationMethod::Discrete, mClassificationMode = Qgis::ShaderClassificationMethod::EqualInterval, mLUT = std::vector of length 0, capacity 0, mLUTOffset = 0, mLUTFactor = 1, mLUTInitialized = false, mClip = false, mLegendSettings = std::unique_ptr<class QgsColorRampLegendNodeSettings> = {get() = 0x7f00c0008460}}, mDataResamplingMethod = QgsMeshRendererScalarSettings::NoResampling, mClassificationMinimum = 0, mClassificationMaximum = 2599439.5, mOpacity = 1, mEdgeStrokeWidth = {mIsWidthVariable = false, mFixedWidth = 0.26000000000000001, mMinimumValue = 0, mMaximumValue = 10, mMinimumWidth = 0.26000000000000001, mMaximumWidth = 3, mIgnoreOutOfRange = false, mUseAbsoluteValue = false, mLinearCoef = 1, mNeedUpdateFormula = true}, mEdgeStrokeWidthUnit = Qgis::RenderUnit::Millimeters, mRangeExtent = Qgis::MeshRangeExtent::WholeMesh, mRangeLimit = Qgis::MeshRangeLimit::NotSet}
        rasterLayer = 0x0
        meshLayer = 0x7f00b0055370
        layerStatistics = 0x55f399e54d90
        item = 0x55f399e54d90

I cannot provide the nc here (as too big an private), but if you can contact me I can sent you one.

@nicogodet nicogodet added the Regression Something which used to work, but doesn't anymore label Jan 8, 2025
@agiudiceandrea
Copy link
Member

agiudiceandrea commented Jan 8, 2025

I can also observe some issues using the latest available QGIS 3.41.0-Master c45551b from OSGeo4W on Windows 10:

  • the layer gets continuously redrawn and qgis-dev.exe consumes 25% CPU still
  • it is not possible to open the layer properties window via double left click on the layer in the layer tree, while it is possible via right click on the layer in the layer tree -> "Properties..." or via "Layer" menu -> "Layer Properties...".

@uclaros
Copy link
Contributor

uclaros commented Feb 19, 2025

This has been fixed in #59987

@uclaros uclaros closed this as completed Feb 19, 2025
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 Mesh Related to general mesh layer handling (not specific data formats) Regression Something which used to work, but doesn't anymore
Projects
None yet
Development

No branches or pull requests

4 participants