[gelöst] SIGFPE bei Click auf Button zum Öffnen eines TForm

[gelöst] SIGFPE bei Click auf Button zum Öffnen eines TForm

Beitragvon Heinrich Wolf » 25. Mai 2013, 09:58 [gelöst] SIGFPE bei Click auf Button zum Öffnen eines TForm

Hallo,

in eines meiner beiden öffentlichen Projekte hat sich ein Fehler eingeschlichen, der das Programm komplett wertlos macht. Das Projekt läuft auf Delphi und Lazarus, Windows und Linux 32 Bit. Aber der Fehler tritt nur bei Linux auf. Es tut mir leid: Es ist ein riesen Projekt, aber ich weiß nicht, wie ich den Fehler eingrenzen kann. Mag sich das jemand anschauen und mir helfen? Es geht um http://www.Wolf-Fuerth.de/calprint.src.zip . Das zip Archiv muss man auf Windows entpacken, dann kann man es auf Linux kopieren. Dazu muss man noch Indy kopieren von http://www.indyproject.org/sockets/fpc/indy-10.2.0.3.tar.gz in den relativen Pfad programm/Internet/indy-10.2.0.3 . Es geht um das Hauptformular programm/sonst/calprint/main.pas/.lfm . Darin gibt es u.a. 3 Buttons: BtnEditLayout, BtnCopyLayout, BtnNewLayout. Beim Click auf irgendeinen dieser Buttons gibt es einen SIGFPE. Breakpoints in den zugeordneten Event Handlern sind schon zu spät. Dann ist der SIGFPE schon passiert. Gemeinsamer Code ist, dass das Layout Form zusammen mit dem Preview Form nachgeladen werden soll. Aber dieser Code ist ja noch nicht ausgeführt. Wenn ich den Code in den Event Handlern auskommentiere, ist auch der SIGFPE weg. Aber warum kommt der SIGFPE so früh, dass ich ihn nicht debuggen kann? Ich bin ratlos.

Gruß
Heiner
Zuletzt geändert von Heinrich Wolf am 27. Mai 2013, 19:03, insgesamt 2-mal geändert.
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon theo » 25. Mai 2013, 11:03 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Heinrich Wolf hat geschrieben:in eines meiner beiden öffentlichen Projekte hat sich ein Fehler eingeschlichen,


Was heisst eingeschlichen? Einfach so, über Nacht? Was hast du denn vorher gemacht? Ein SVN Update?
theo
 
Beiträge: 8255
Registriert: 11. Sep 2006, 18:01

Beitragvon Heinrich Wolf » 25. Mai 2013, 11:55 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Eingeschlichen heißt, dass der Fehler da ist und ich zu meiner Schande gestehen muss, dass ich ihn nicht bemerkt habe. Ich teste meistens unter Windows, aber zu wenig unter Linux. Ich biete auf meiner WebSite ein rpm des Programms an und ca. 10 rpm Versionen vorher ist der Fehler schon drin, es sei denn, es hat etwas mit meinem Linux zu tun. Die Änderung ist also nicht über Nacht passiert, sondern inrgendwann in den letzten 2 Jahren. Was ich da alles gemacht habe, kann ich nicht mehr sagen.
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Christian » 25. Mai 2013, 13:14 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Ich wollt dir gern helfen aber gebs jetzt auf.
Das erst war das ich Indy nicht installieren wollt also deinen Update kram auskommentiert.
Aber ich bekomm die Abhängigkeiten zur Libc die du da reingebaut hast nicht raus und hab n 64bit system, da geb ichs jetzt auf.
Du hattest doch hier schon mal ne ganze weile diskutiert wie man die Abhängigkeit loswird, warum hatsn das ned umgesetzt?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
Lazarusforum e. V.
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon Heinrich Wolf » 25. Mai 2013, 14:13 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Hallo Christian,

vielen Dank für die Mühe. Über die LibC hab ich noch nicht sehr viel diskutiert. Ich weiß aber, dass sie bei 64 Bit nicht funktioniert und hätte sie gerne los. Aber ich finde keinen Ersatz für die Funktionen, die ich da brauche.

Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Soner » 25. Mai 2013, 14:24 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Bei mir funktioniert es, es gibt kein Absturz. Kompiliert mit Lazarus 1.1, fpc 2.6.0, Xubuntu 13.04 32Bit.
Ich habe hochgeladen, du kannst nachschauen ob da Fehler ist:
http://www.file-upload.net/download-7635043/calprint.tar.gz.html (nur kompiliertes Programmdatei)
Du verwendest ja sehr viele Units, die braucht man doch nicht alle oder.
Soner
 
Beiträge: 411
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Heinrich Wolf » 26. Mai 2013, 12:54 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Hallo Soner,

vielen Dank für den Test. Dein Binary bei mir gestartet, bringt bei mir ebenfalls SIGFPE beim Click auf neues Layout. Ist der SIGFPE eine Eigenart meines Linux? Muss ich das mal neu installieren? Bitte starte doch mal das Binary, das ich compiliert habe, und schreibe mir, ob ein SIGFPE auftritt. Du findest das Binary auf http://www.Wolf-Fuerth.de/calprint-1-14.i686.rpm .

Ja, es werden viele Units eingebunden. Aber ich glaube, dass ich alle brauche.

Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Christian » 26. Mai 2013, 14:28 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

SIG FPE steht für Floating Point Exception. z.b. ne Division durch 0
das ist keine Eigenart vom Linux es könnt aber z.b. sein das irgend ne Elementgröße die du abfragst 0 ist ne Schrifthöhe o.ä.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
Lazarusforum e. V.
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon Heinrich Wolf » 26. Mai 2013, 17:13 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Hallo Christian,

ich weiß wofür SIGFPE steht. Aber es ist seltsam, dass der Fehler auf Soners System nicht auftritt, wenn er meinen Quellcode compiliert und sein Binary bei mir den SIGFPE wirft. Es ist auch seltsam, dass es keine Codezeile von mir ist, in welcher der Fehler auftritt. Wie geschrieben: Meine erste Codezeile des OnClick Handlers ist schon hinter dem SIGFPE.

Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Christian » 26. Mai 2013, 17:46 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Ich denke Soner hat einfach nur das Programm gestartet und nichts weiter gemacht.
Poste doch bitte mal nen Backtrace wo das auftritt... (Debugerfenster->Aufrufstack)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
Lazarusforum e. V.
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon Heinrich Wolf » 26. Mai 2013, 19:49 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Es tut mir leid Soner,

ich hab ein jungfräuliches Linux (Fedora 14) aufgesetzt. Der SIGFPE ist auch bei Deinem Binary wieder aufgetreten. Nochmals vielen Dank für das Mitsuchen.

Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

Beitragvon Heinrich Wolf » 26. Mai 2013, 21:25 Re: SIGFPE bei Click auf Button zum Öffnen eines TForm

Hallo Christian,

der Tip mit dem Backtrace war goldrichtig. Ich hab erst mal alle verfügbaren Debug Optionen eingeschaltet und dann nochmal debuggt. Dabei ist mir aufgefallen, dass erstaunlich wenige Code-Zeilen Haltepunkte annehmen. SIGFPE kam erst nachdem mein Wunsch-Haltepunkt bereits übersprungen war. Aber dann kam das Programm wenigstens im Quelltext Fenster zum Stehen. Dann ist mir aufgefallen, dass mein Linux auf unerfindlichen Gründen keinen Drucker mehr kennt. Darauf reagiert Calprint mit allen möglichen Exceptions. Jetzt komme ich erst mal selbst weiter. Vielen Dank!

Heiner
Heinrich Wolf
 
Beiträge: 323
Registriert: 12. Apr 2011, 12:21
Wohnort: Fürth
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1 | 
CPU-Target: 1core 1,8GHz 32Bit
Nach oben

• Themenende •

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried