Lazarus Qt6 IDE Absturz.

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
Benutzeravatar
theo
Beiträge: 11102
Registriert: Mo 11. Sep 2006, 19:01

Lazarus Qt6 IDE Absturz.

Beitrag von theo »

Benutzt jemand eine Qt6 IDE und hat auch folgendes Problem?
Projekt -> Projekteinstellungen -> Einstellungen Anzeigen -> Schließen -> Absturz.

Irgendwas bei:
Thread 1 "lazarus" received signal SIGSEGV, Segmentation fault.
0x00007ffff67de870 in QGuiApplicationPrivate::processNativeEvent(QWindow*, QByteArray const&, void*, long long*) () from /usr/lib64/libQt6Gui.so.6
Lazarus 4.99 (rev main_4_99-2914-g070f8daa53) FPC 3.2.2 x86_64-linux-qt6
OpenSuse, libQt6Gui6 6.6.3

Ich frage, weil es könnte auch an der Qt Version liegen.

Warf
Beiträge: 2244
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus Qt6 IDE Absturz.

Beitrag von Warf »

Nein, hab bei 4.2 auf meiner Arch Linux Distrobox mit der System QT6Pas das Problem nicht.

Welche QT6Pas Version nutzt du denn? QT6Pas ist Teil von Lazarus, d.h. die Version die Lazarus zum binden benutzt liegt in "<LazarusDir>/lcl/interfaces/qt6/cbindings". Du benutzt trunk/main von Lazarus, wo regelmäßig Änderungen am QT Binding und damit auch an QT6Pas stattfinden. Das kann zu verschiedenen Problemen führen.
Wenn du QT6Pas aus den Systemrepos installierst ist das normalerweise die Version die mit der aktuellen Lazarus Version deiner Systemrepos kommt. Also nehmen wir an du bist auf einem Rolling Release Linux (z.B. OpenSuse Tumbleweed) dann ists die QT6Pas Version die zur aktuellen Lazarus Stable version (4.4?) gehört. Wenn Main jetzt aber schon weiter ist, dann führt das zu einem Mismatch und das kann zu solchen Problemen führen.
Alternativ ist auch ein regelmäßiges Problem wenn QT6 geupdated wird und dein Lazarus noch nicht geupdated wurde, sodass dein QT6Pas nicht Konform zur installierten QT version ist. C++ ist nicht unbedingt ABI stabil, wenn z.B. Private Felder zu den Klassen hinzugefügt werden, kann dies die interne Representation ändern, obwohl die Externe API die gleiche bleibt. Das kann dann auch solche Fehler verursachen.

In beiden Fällen ist die Lösung einfach die QT6Pas selbst aus dem Lazarus Ordner mit der QT6 Toolchain die du lokal installiert hast neu zu kompilieren und Lazarus damit zu starten statt mit der System API. Alternativ, einfach eine Stabile Lazarus Version nutzen die mit der QT6 Version und QT6Pas Version der System-Repos funktioniert und up-to-date gehalten wird (im Falle von Rolling Release Distros einfach Lazarus über den Package manager installieren)

Benutzeravatar
theo
Beiträge: 11102
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus Qt6 IDE Absturz.

Beitrag von theo »

Danke für die Antwort.
Stimmt, Die libQt6pas Version muss ja auch noch passen.
Ich habe tatsächlich die von der Distro und die ist nicht gerade neu.
Hatte ja auch vermutet, dass es wohl an den Libs liegt.
Das schaue ich mir morgen mal an.

Benutzeravatar
theo
Beiträge: 11102
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus Qt6 IDE Absturz.

Beitrag von theo »

OK, ich habe mal die letzte "Release" Version von hier installiert:
https://github.com/davidbannon/libqt6pa ... ag/v6.2.10

Das hat aber nicht geholfen.

Seither sehe ich nur noch eine Änderung in diesem Bereich:
Qt5, Qt6 bindings: don't export unneeded symbols in libQt5Pas.so.1 and libQt6Pas.so.6
https://gitlab.com/freepascal.org/lazar ... 1a4f181714

Ich kann mir kaum vorstellen, dass diese Änderung einen Bezug zu meinem Problem hat.
Der Aufwand, den ganzen Qt6 Entwicklungskram deswegen zu installieren um die libQt6Pas selber zu bauen, ist mir angesichts der geringen Erfolgschancen etwas zu gross.

Vielleicht ist doch die libQt6Gui schuld.
Ich will da jetzt auch nicht zu tief graben.
Danke.

Warf
Beiträge: 2244
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus Qt6 IDE Absturz.

Beitrag von Warf »

Vielleicht ist die Lazarus und LCL Version die aktuell auf dem Main ist auch einfach etwas instabil, das kann vorkommen. Hast du das Problem auch bei dem 4.4 Release?

Benutzeravatar
theo
Beiträge: 11102
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus Qt6 IDE Absturz.

Beitrag von theo »

Warf hat geschrieben: Mo 8. Dez 2025, 15:16 Vielleicht ist die Lazarus und LCL Version die aktuell auf dem Main ist auch einfach etwas instabil, das kann vorkommen. Hast du das Problem auch bei dem 4.4 Release?
Ich habe bei Lazarus nie die Release Version installiert, immer main/trunk.
Ich probiere es später noch auf einem anderen Rechner mit einem aktuelleren Qt6.

Eigentlich wollte ich nur wissen, ob es Andere auch betrifft.
Ich denke, ich sitze das einfach aus - die IDE kann ich ja trotzdem benutzen.

Danke.

EDIT: Auf OpenSuse Slowroll gibt es kein Problem. Das hatte ich mir gedacht.
Für mich hat sich das Thema damit erledigt.

Antworten