external:sigsegv beim debuggen

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Edmund214
Beiträge: 1
Registriert: Fr 20. Apr 2012, 16:20

external:sigsegv beim debuggen

Beitrag von Edmund214 »

Hi!
Wahrscheinlich ist das problem bereits bekannt und gelöst und wenn das der fall ist entschuldige ich mich mal im voraus dass ich diese Foren beim googeln nicht fand (und wenn das hier das falsche Forum für diese Frage ist) :( !
Zum problem :
Wenn ich ein Program starten will kompiliert er und die nachricht : "Projekt "project1" erfolgreich kompiliert. :)" erscheint
und kurz darauf die Fehlermeldung: Projekt project1 hat Exception-klasse >>External:SIGSEGV<< ausgelöst
Dabei öffnet sich der Assembler und "zeigt" auf diese zeile:
0000000000401530 55 push %rbp
Ich verwende Windows7 64bit und lazarus-0.9.30.4-fpc-2.6.0-win64
Bitte um schnelle Hilfe!

chufu
Beiträge: 5
Registriert: Di 13. Okt 2009, 10:33

Re: external:sigsegv beim debuggen

Beitrag von chufu »

Das Problem habe ich auch.
Egal was ich für ein Programm kompiliere meldet der Debugger beim ersten Kompilerlauf diesen externen SIGSEGV Fehler mit dem offensichtlich auf der ganzen Welt niemand etwas anfangen kann. Ich habe schon Stunden ge Googelt und nur Schrott gefunden. Wenn ich direkt noch einmal Kompiliere Startet das Kompilierte Programm ohne Probleme.
Die einen verdächtigen die Comodo Firewall. Was meines erachten blödsinn ist denn selbst wenn ich comodo komplett deinstalliere ändert sich nichts. Also bleibt Comodo drauf!
Das einzige was hilft ist den Debugger aus zu schalten. Dann Kompiliert Lazarus ohne Fehler ein lauffähiges Programm. Ohne zu meckern!
Solange ich den Debugger nicht mehr einschalte. Tu ich das doch Kompiliert mir Lazarus garnichts mehr. Egal ob ich den Debugger ein oder aus schalte.
Das ganze spielt sich unter Win7-64Bit und der 64-Bit Version von Lazarus ab.
Hilft nur noch der Neustart von Lazarus. Jetzt läst sich das Programm wieder Kompilieren aber mit den selben Problemen wie oben beschrieben.
So ist Lazarus keine vernünftige Programmierumgebung. Zumindest unter Win7-64Bit nicht.
Denn nichts ist blöder als wenn der debugger selbst Buggy ist. Wem soll man denn da vertrauen wenn nicht dem Debugger.
Wenn der Debugger auch noch das weitere Arbeiten mit dem Kompiler verhindert, geht das garnicht.
Jetzt habe ich mir für andere Zwecke Eclipse Installiert. Da gibt es keine solche Probleme. Ab und zu werde ich in Eclipse darauf hingewiesen das ich noch zu wenig Ahnung von Eclipse habe aber das wird noch. Die erste Android App habe ich schon erfolgreich Kompiliert. Jetzt kann mein Netbook reden! Mit Java, JavaScript und PHP klappt das auch schon ganz gut und ich komme zu brauchbaren Ergebnissen so das ich jetzt mutig werde und mich an der einen oder anderen Web-Application versuchen werde.
Nur in Pascal muß ich leider noch auf mein altes Delphi5Pro und Visual Studio Express zurück greifen weil Lazarus nicht richtig will!

Schade!

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

Re: external:sigsegv beim debuggen

Beitrag von theo »

Irgend einen Grund muss es geben.
Ich habe hier auch Win 7 64bit und bei mir läuft Lazarus 1.1 r36803 FPC 2.6.1 x86_64-win64-win32/win64 prima.
Ich habe aber auch nur ein AntiVir drauf, welches ich nur "on demand" benutze.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: external:sigsegv beim debuggen

Beitrag von af0815 »

Reste von alten compilaten haben bei mir so 'obscure' Ergebnisse gebracht.

Gehen neu erstellte Programme (eine Form mit Button und ein Label reichen) problemlos ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

chufu
Beiträge: 5
Registriert: Di 13. Okt 2009, 10:33

Re: external:sigsegv beim debuggen

Beitrag von chufu »

af0815 hat geschrieben:Reste von alten compilaten haben bei mir so 'obscure' Ergebnisse gebracht.

Gehen neu erstellte Programme (eine Form mit Button und ein Label reichen) problemlos ?

Ja, wenn die Programme fertig erstellt sind laufen sie. Auch Standalone. Also auserhalb der IDE.
Mit solchen einfachen Programmen, Formular und ein Button mit close()-Funktion Teste ich momentan auch. Viel mehr ohne Funktionierendem Debugger wird auf die dauer Nervig. Denke ich. :|
Wie ich schon erwähnte habe ich in Googel öfter von diesem Problem gelesen aber nirgends einen vernünftigen Lösungsansatz gefunden.
Ich nutze Antivir Premium, die Windows Firewall ohne Defender, die Free Comodo Firewall und die Fritz!Box7270. Aber dort liegt nicht das Problem. Auch ohne die Sicherheitssoftware hab ich das Problem.
Aber ich freue mich schon darüber erhört worden zu sein! :D
Ich bin schon dankbar für jeden Tip den ich noch nicht kenne.
Vileicht kennt irgend jemand einen Trick wie ich diesem Debugger bei bringen kann sich wie ein Debugger zu benehmen und nicht mit Unsinnigen Exceptions um sich zu werfen. :?:
Andere Programme benehmen sich schließlich auch wie erwartet. Erwähnte ich schon Eclipse und so? :roll:
Das das nicht richtig Funktioniert Wurmt mich. :evil: Weil in früheren Versionen, allerdings auch mit einem anderen Rechner unter XP lieft Lazarus prima. :cry:
@theo
Ich bin sehr überzeugt davon das es irgend einen Grund gibt warum das bei dir Klappt und bei mir nicht. Aber Welcher? Ich liebe Pascal als Programmiersprache und Lazarus, als open Source Software ist mir schon immer sehr sympatisch. Leider kenne ich mich auch nicht in den Sourcen von Lazarus und Free Pascal aus um eventuell das Problem selbst zu finden.
So ein guter Programmierer bin ich noch nicht.
Ist eben nur ein Hobby und macht Spaß wenn's klappt.
Ich sehe gerade du hast da ne' höhere Version als meine 0.9.30. Werde mir mal deine Version besorgen.

VG
Peter

chufu
Beiträge: 5
Registriert: Di 13. Okt 2009, 10:33

Re: external:sigsegv beim debuggen

Beitrag von chufu »

Aha!!!!
Theo, du warst meine Rettung kurz vor dem Wahnsin! :D :D :D Deine Snapshoot Version Funktioniert offensichtlich. Ich denke das hier der Debugger Bug behoben worden ist. Was auch immer das war!
Ich hab meine 0.9.30.4 er Version deinstalliert und das Verzeichnis gelöscht. Was der Explorer zu verhindern versuchte. Aber ich hab da so meine Tricks wie ich ihn überreden kann. :twisted: Danach habe ich mir die neuste Snapshoot-Version herunter geladen und Installiert (V1.1). Siehe da, der Debugger ist wieder friedlich und debuggt auch vernünftig.
Auch das ein und ausschalten des Debuggers klappt jetzt ohne das anschließend Lazarus streikt.
Jetzt kann ich endlich anfangen mein Projekt welches ich im Kopf habe zu realisieren. :D :D :D

Vielen Dank an alle Beteiligten!
Peter

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

Re: external:sigsegv beim debuggen

Beitrag von theo »

chufu hat geschrieben: Was auch immer das war!


K.A. Vielleicht auch nur eine andere Debugger Version.
Der Debugger, den Lazarus benutzt, ist ja nicht Teil von Lazarus, sondern des GNU Project.
Da kann es schon mal zu Ungereimtheiten kommen. http://www.gnu.org/software/gdb/

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: external:sigsegv beim debuggen

Beitrag von martin_frb »

SigSegV kann entweder ein Fehler im Programm sein.
oder ein GDB Problem

Um zu testen:
- Neue Applikation, leeres Form
- Debugger Setup prüfen: http://wiki.lazarus.freepascal.org/Debugger_Setup

Run F9: Gibt es hier eine SigSegV, dann ist es wahrscheinlich GDB (oder die Kombination von GDB und irgendetwas anderes, wie z.B. BitDefender und Commodo in einigen Versionen)

Nach Möglichkeit Lazarus updaten (0.9.31)
Debugger updaten mingw und mingw64 haben neuere Versionen als Lazarus.

Bitte folgendes machen
- Lazarus neu starten
- Neue Applikation, leeres Form
- aus dem Menu "View" > "Debug Windows", das Fenster "Debug output" oeffnen.
- app starten
- SigSegV
- Inhalt des "Debug output" kopieren, und anhaengen
- Stack oeffnen, kopieren, und anhaengen

chufu
Beiträge: 5
Registriert: Di 13. Okt 2009, 10:33

Re: external:sigsegv beim debuggen

Beitrag von chufu »

@theo
Vermutlich liegst du mit dem Verdacht der andere Debuger Version sehr richtig. Das das Lazarus Projekt nicht gleich das GDB-Projekt ist, ist mir schon klar. Aber Lazarus benutzt nun mal den Gnu-Debuger. Der scheint in der Snappshoot-Version 1.1.xx jedenfalls wesentlich verbessert worden sein so das man jetzt mit dieser Version arbeiten kann. Zu mindest diese nervige SIGSEGV-Exception haben die Leute vom GNU-Debugger-Projekt in dieser Version im griff. Wo es sonst noch hakt wird sich sicher noch bald heraus stellen.
Jedenfalls bin ich froh das ich jetzt wieder mit meinem heiß geliebten Pascalcompiler schaffen kann.
@ martin_frb
So in etwa bin ich vor gegangen nur das Formular hatte noch zusätzlich einen Button mit einer einfachen Close()-Funktion. Ganz einfach, und der in der 0.9.xx Version enthaltene Debugger machte den Ärger. In solchen kleinen Progrämmchen mach ich keine Fehler mehr. Das ändert sich vileicht mit ein paar Programmzeilen mehr Code. Davon kann sich keiner frei sprechen. Sonst könnten uns Debebugger egal sein. Da das so ist, ist schließlich ein guter Debugger fast noch wichtiger als der Compiler.
Mit der neueren Snappshoot Version 1.1.xx klappt das und diese Exception ist weg.

Des wegen bin ich ersteinmal heil Froh jetzt mich mit den anderen Unbilden von Lazarus und Free Pascal herumschlagen zu dürfen. Neben bei schlag ich mich schließlich auch noch mit der Entwicklung meiner Homepage und dem was ich dort anbieten möchte herum. Aber wie schon erwähnt bin ich jemand, der es nicht leiden kann wenn der Computer nur das macht, was andere sagen, was er machen soll. Was der Computer machen soll sag ich ihm liebr selbst und Lazarus und Free Pascal ist da ein gutes Werkzeug.
Dieses Forum ist offensichtlich auch sehr gut. Hier gibt es freundliche Leute die ihre Erfahrungen mit einbringen was einem unter Umständen sehr Hilfreich ist.
Bei diesen Leuten bedanke ich mich ausdrücklich! Ich weiß eure Zeit die ihr investiert sehr zu schätzen!

LG
Peter

argos
Beiträge: 8
Registriert: Mi 20. Mai 2009, 17:21

Re: external:sigsegv beim beenden

Beitrag von argos »

Hallo,
ich habe seit kurzem ein ähnliches Problem seit ich win7 64 bit neu installiert habe.
Das Lazerusprogramm startet und arbeitet normal nur manchmal bekomme ich beim schliessen folgende Meldung : An unhandles exception occured at $xxxxxxxx
EAccesViolation $ xxxxxxxx und zwar in meinem fall 19 mal. Wie gesagt läßt es sich manchmal problemlos schliessen und abundzu nur mit Fehlermeldung. Im Debugger kriege ich 'external SIGSEGV' aber ebenfalls nicht immer.
Da ich das Programm nicht geändert habe und es 2 Jahre problemlos lief, erst seit der NeuInstallation von w 7 64 bit der fehler auftritt vermute ich das Windows die schuld hat.
argos

ChrisTG
Beiträge: 13
Registriert: Mi 2. Mai 2012, 09:48

Re: external:sigsegv beim beenden

Beitrag von ChrisTG »

argos hat geschrieben:Hallo,
ich habe seit kurzem ein ähnliches Problem seit ich win7 64 bit neu installiert habe.
Das Lazerusprogramm startet und arbeitet normal nur manchmal bekomme ich beim schliessen folgende Meldung : An unhandles exception occured at $xxxxxxxx
EAccesViolation $ xxxxxxxx und zwar in meinem fall 19 mal. Wie gesagt läßt es sich manchmal problemlos schliessen und abundzu nur mit Fehlermeldung. Im Debugger kriege ich 'external SIGSEGV' aber ebenfalls nicht immer.
Da ich das Programm nicht geändert habe und es 2 Jahre problemlos lief, erst seit der NeuInstallation von w 7 64 bit der fehler auftritt vermute ich das Windows die schuld hat.
argos

Ich habe diese Probleme seit einer Weile auch unter XP 32Bit. Ich vermute mal, dass der Debugger in den neueren Releases einfach selbst "buggy" geworden ist.
Werde das mit der Snapshot-Version mal testen.

argos
Beiträge: 8
Registriert: Mi 20. Mai 2009, 17:21

Re: external:sigsegv beim debuggen

Beitrag von argos »

Hallo chrisTG
bist Du schon darauf gekommen woran es liegt?
Beste Grüsse argos

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: external:sigsegv beim debuggen

Beitrag von martin_frb »

Bitte grundsätzlich mit Lazarus 0.9.31 (fixes) Snapshots testen. Win 64 bit, nur mit fpc 2.6.0

GDB ist in Lazarus noch 7.3.50, aktuell gibt es 7.4.50, z.B.: http://www.drangon.org/mingw/ (allerdings nicht getestet, sollte prinzipiell aber gehen)

Altere Versionen: http://svn.freepascal.org/svn/lazarus/binaries (svn client)


Außerdem:
http://wiki.lazarus.freepascal.org/GDB_ ... new_Report

Fuer Fragen/Hilfe, bitte die dort beschriebenen Infos angeben (0.9.31).

Entertainmentberg
Beiträge: 46
Registriert: So 27. Jan 2013, 22:56
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: external:sigsegv beim debuggen

Beitrag von Entertainmentberg »

Hallo Leute, das klingt stark nach einem Problem, dass ich auch habe. Ich scheue mich aber davor, in den Programmeinstellungen so viel zu verändern...

Vielleicht ist folgender Input für euch interessant. Ich programmiere aus Spaß eine Art Siedlerspiel.
Es lässt sich problemlos compilieren. Immer, wenn aber eine bestimmte Prozedur aufgerufen wird, kommt besagte Meldung: "... Exception-Klasse >>External:SIGSEGV<< ausgelöst" (Es gibt genau 3 Proceduren, bei denen ich dieses Phänomen gefunden habe.)

Das Interessante daran: Selbst wenn ich ALLES aus den Proceduren lösche - sie also gar keine Befehle mehr enthalten - kommt dieser Fehler!!!

In der Tat - ich hab mich auch schon dumm und dämlich in Foren und bei google gesucht und erst dieser Chat scheint Licht ins Dunkel zu führen! Gibt es Ideen, was ich machen kann, ohne gleich so wahnsinnig viel in Lazarus umzustellen?

Zu mir: ich arbeite seit der Schulzeit (seit 10 Jahren) mit Pascal/Delphi/Lazarus. Bin ziemlich fortgeschritten, aber kein Profi!

Entertainmentberg
Beiträge: 46
Registriert: So 27. Jan 2013, 22:56
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: external:sigsegv beim debuggen

Beitrag von Entertainmentberg »

Hier mal die Proceduren/Functionen (nur die Köpfe), bei denen es das Problem gibt:

Code: Alles auswählen

FUNCTION f_statistik(dat:t_ew_arr;ew_vorjahr:INTEGER):t_daten;
PROCEDURE p_ew_weniger(dat:t_ew_arr);
PROCEDURE p_ew_mehr(dat:t_ew_arr);
 
WOBEI
t_ew_arr=ARRAY [1..c_max_ew] of t_einwohner;
 
MIT
t_einwohner=RECORD
   alter:SHORTINT;
   sex:SHORTINT;
   beziehung:BOOLEAN;
   fruchtbar:SHORTINT;
   reich{tum}: INTEGER;
   zufrieden:SHORTINT;
    beruf:SHORTINT;
   // BEREICHE
   bereiche:t_bereiche;
   END;       



Es scheint ja so, als hätte er Probleme mit diesem Datentyp... Bei allen anderen (ohne diesem Datentyp) gibt es keine Probleme...

Ich wäre so dankbar, könnte mir jmd. weiterhelfen!!! Das wäre so grandios!!!

LG
Zuletzt geändert von Lori am Mo 28. Jan 2013, 15:35, insgesamt 1-mal geändert.
Grund: Highlighter

Antworten