Seite 1 von 1
Segmentation Fault mit loadUI
Verfasst: Freitag 6. August 2010, 23:56
von burli
Hi, ich habe im Qt4 Designer eine einfache Oberfläche erstellt. Wenn ich diese Oberfläche in einem Programm lade und das Programm dann beende, tritt fast jedes mal ein Segmentation Fault auf. Das Programm selbst tut noch nicht viel. Es verknüpft lediglich die Click Events zweiter Buttons mit Funktionen.
Als Test habe ich ein neues MainWindow erstellt, welches nur die beiden Buttons enthält. Da tritt das Problem nicht auf. Es lässt sich also auf das ui File eingrenzen.
Ist irgendwas bekannt, dass es mit bestimmten Widgets oder mit bestimmten Layouts oder irgendwelchen Kombinationen zu einem solchen Fehler kommen kann? (ich nutze im übrigen Ubuntu 10.04)
EDIT: ich konnte das Problem inzwischen exakt definieren können. Sobald ich in einer ComboBox das "editable" Flag setze tritt das Problem auf
Re: Segmentation Fault mit loadUI
Verfasst: Samstag 7. August 2010, 15:32
von lunar
Ohne minimalen Beispielquelltext kann man jetzt wenig dazu sagen.
Re: Segmentation Fault mit loadUI
Verfasst: Samstag 7. August 2010, 16:51
von burli
Ich hab noch ein bissel experimentiert und hab das Problem mal auf das Minimum runter gebrochen. Deshalb hat es etwas gedauert
Hier ist einmal die mini.ui Datei
http://pastebin.org/453224
und die mini.py
http://pastebin.org/453234
Es ist bei mir hier verifizierbar. Wenn ich im Designer die Eigenschaft "editable" deaktiviere kann ich das Programm 50x starten und beenden, ohne dass ich einen Segmentation Fault bekomme. Setze ich einen Haken bei "editable" bekomme ich bei 4 von 5 mal Programm starten und beenden einen Segmentation Fault. Immer beim Beenden. Es reicht, dass Programm in der Konsole zu starten und mit Atl+F4 zu beenden. Die Scan Funktion hat nur dekorativen Charakter. Ich kann auch die Imports von serial und glob sowie die Scan Funktion auskommentieren und erhalte das gleiche Ergebnis.
Re: Segmentation Fault mit loadUI
Verfasst: Samstag 7. August 2010, 17:20
von lunar
Ich kann den Absturz nicht nachvollziehen. Bei mir beendet sich das Programm normal, alles andere hätte mich bei dem Quelltext auch sehr gewundert.
Warum es bei Dir abstürzt, kann ich Dir nicht sagen.
Re: Segmentation Fault mit loadUI
Verfasst: Samstag 7. August 2010, 17:25
von burli
Ich konnte es auf zwei Rechnern verifizieren. Auf beiden läuft Ubuntu 10.04 mit aktuellen Paketen
Re: Segmentation Fault mit loadUI
Verfasst: Montag 9. August 2010, 09:47
von burli
So, ich kann den Segmentation Fault auf 3 Rechnern mit Ubuntu 10.04 beobachten. Auf einem Rechner mit der Alpha 3 von Ubuntu 10.10 konnte ich den Fehler noch nicht beobachten.
Es muss also etwas mit der Qt4 oder PyQt4 Version in Ubuntu 10.04 zu tun haben.
Re: Segmentation Fault mit loadUI
Verfasst: Montag 9. August 2010, 22:31
von apollo13
Ich hab mit PyQt inzwischen folgende Erfahrungen gemacht: Wenn ein Programm nicht tut wie es soll hilft es zumeist PyQt händisch zu installieren. Irgendwie hab ich nämlich das Gefühl, dass das PyQt ausm Repo nicht genau auf die Qt Version passt. Zumindest hatte ich bei älteren Ubuntuversionen ähnliche Probleme.
Re: Segmentation Fault mit loadUI
Verfasst: Dienstag 10. August 2010, 06:29
von burli
hm, müssen die Versionen von Qt4 und PyQt4 nicht übereinstimmen? Ich hab hier nämlich Qt4.6 und PyQt4.7
Re: Segmentation Fault mit loadUI
Verfasst: Dienstag 10. August 2010, 11:01
von cofi
Nein, nicht unbedingt, PyQt muss allerdings fuer die Qt-Version uebersetzt worden sein.
Re: Segmentation Fault mit loadUI
Verfasst: Dienstag 10. August 2010, 22:50
von apollo13
Wie cofi sagte: nicht unbedingt; aber in Extremfällen kommt es damit zu Problemen (ich hatte damals so eine Situation, wenn ich mich richtig erinnere).