pf-wikis / mapping-data

A kart repository containing the geo data of the mapping project
3 stars 1 forks source link

Borders layer crashes QGIS near Mana Wastes #45

Open oznogon opened 2 hours ago

oznogon commented 2 hours ago

Across QGIS versions (reproduced on 3.32, 3.34, and 3.38), Linux and Windows operating systems, packaging and installation methods (Windows MSI, Fedora package, and Flathub flatpak) and devices, I can consistently hard-crash QGIS while attempting to view the Mana Wastes region of Garund, around this location:

image

(Screenshot taken while QGIS was hardlocked but before the window was destroyed.)

Steps to reproduce:

  1. Open the project in QGIS with the main branches of both the mapping-data and mapping repos.
  2. Turn off all layers except land.
  3. Pan the view to Okeno.
  4. Turn off the land layer and turn on the borders layer.
  5. Pan southwest toward the Mana Wastes.

Expected behavior:

You can view and edit borders in the Mana Wastes.

Observed behavior:

QGIS becomes unresponsive. After several seconds, it crashes.

Example stack trace on a Fedora package install of 3.34 on Fedora 40 attached: qgis-stack-trace.txt

Opening here for awareness while I gather more details to submit to qgis.

oznogon commented 2 hours ago

Problem appears to be in Nex, which has several seemingly redundant features when looking at the features table (selected here, 221 to 232). Screenshot_20240920_104824

232 is the actual Nex border geometry. All of the features have the same attribute values, and 221 to 231 appear to be the extraneous small lines visible in the OP screenshot. Deleting all Nex features (221 to 232) resolves the crash, but deleting 221 to 231 does not.

oznogon commented 2 hours ago

46 deletes 221 to 232 and replaces them with a new Nex border polygon, which resolves the problem.

oznogon commented 2 hours ago

kart create-patch json patch output of the change in #46 attached: kart-patch.json

221 to 231 all have identical geometry:

        {
          "-": {
            "fid": 221,
            "geom": "010600000001000000010300000001000000040000001E02C142FCBE0CC0C137CD470DC934404B6B889179BB0CC043F9A5D7E2C534403B7708420BCE0CC0A2FDB0B4A1D634401E02C142FCBE0CC0C137CD470DC93440",
            "region": "Impossible Lands",
            "nation": "Nex",
            "province": null,
            "subregion": null
          }
        },