Absturz aus heiteren Himmel

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Absturz aus heiteren Himmel

Beitrag von lagalex »

Hallo Leute,

Ich stehe seit einigen Tagen vor einem seltsamen Problem. Ich verwende Lazarus 1.0.2 unter Win7/32 bzw. habe ich auch die neueste Version 1.0.8 installiert, das Problem bleibt aber das selbe:

nach einiger Laufzeit bei egal welchem meiner Programme kommt plötzlich folgende Fehlermeldung und das Programm stürzt ab:

Projekt [Projektname] hat Exception-Klasse External: ? ausgelöst
Bei Adresse 76F2706F

Danach kommt das Assemblerfenster, markiert bei folgender Zeile :

76F2706F 8b0424 mov (%esp),%eax

aus diesem Modul:

ntdll!LdrFlushAlternateResourceModules
76F27038 55 push %ebp
76F27039 8bec mov %esp,%ebp
76F2703B 83ec50 sub $0x50,%esp
76F2703E 8944240c mov %eax,0xc(%esp)
76F27042 64a118000000 mov %fs:0x18,%eax
76F27048 8b80a4010000 mov 0x1a4(%eax),%eax
76F2704E 890424 mov %eax,(%esp)
76F27051 c744240400000000 movl $0x0,0x4(%esp)
76F27059 c744240800000000 movl $0x0,0x8(%esp)
76F27061 c744241000000000 movl $0x0,0x10(%esp)
76F27069 54 push %esp
76F2706A e839000000 call 0x76f270a8 <ntdll!RtlRegisterThreadWithCsrss>
76F2706F 8b0424 mov (%esp),%eax
76F27072 8be5 mov %ebp,%esp
76F27074 5d pop %ebp
76F27075 c3 ret
76F27076 8bff mov %edi,%edi

Ich habe schon mehrfach probiert, zu Deinstallieren und wieder erneut zu installieren, auch verschiedene Versionen und auch mit Löschen des Konfiguartionsverzeichnis.

Weiß irgendwer, was da los ist und warum plötzlich bei jedem meiner Programme diese gleiche Fehlermeldung kommt?
Habe ich irgendwo etwas bei den Compilereinstellungen versaut?
Ist das ein Bug, kennt das wer?
Oder weiß jemand, wie ich der Sache näher auf die Spur kommen könnte, gibts hierzu Wege, wie ich vom Assembler auf den Code zurückkomme / Rückschlüsse ziehen kann?

Vielen Dank im Voraus!

lagalex

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

... hab vermutlich den Grund / eine Lösung gefunden:

Abhilfe: Compilereinstellungen - Codegenerierung - Optimierungen Stufe 0

danach scheint (bis jetzt zumindest) dieser Fehler nicht mehr auf...

RugiaArt
Beiträge: 41
Registriert: Do 11. Okt 2012, 18:50
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Rügen
Kontaktdaten:

Re: Absturz aus heiteren Himmel

Beitrag von RugiaArt »

ich empfehle dir aufjedenfall ein Arbeitspeichertest durchzufuehren!

unter Dos: http://www.memtest86.com/

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

zu früh gefreut! Eine Zeit lang war nichts, dann ist's wieder losgegangen mit den gleichen Fehlermeldungen.

Das mit dem Speichertest werde ich mir mal anschauen, danke für den Tip!

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: Absturz aus heiteren Himmel

Beitrag von martin_frb »

So ein Fehler kann durch sehr viele Dinge ausgeloesst werden.

Wahrscheinlich ist, dass der eigentliche Fehler nicht direkt zum Absturz fuehrt, sondern verzoegert.

Du solltest auf jeden Fall deine Programme mit allen verfuegbaren Sicherheitsoptionen testen.

-O0 (vocal-o, null) oder -O1
-Criot
-gh -gt // abwechselnd -gt -gtt -gttt
-Sa (assertations)

Ebenfalls solltest du die LCL, und all packages mit diesen optionen neu compilieren.
Dazu die package FCL oeffnen, und unter Optionen > "Package Options" > Usage, im feld "Custom" die Optionen eintragen

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

hallo martin_frb,

vielen dank für deine vorschläge, compilereinstellungen habe ich so übernommen, leider tritt der fehler nach wie vor auf.
vor kurzem ist auf meinem computer vom administrator ein patch raufgespielt worden, da der windows explorer immer abgestürzt ist - könnte das vielleicht auch ein grund dafür sein? im assemblerfenster steht ja auch irgendwas von ntdll...
ich habe ehrlich gesagt keinen plan mehr, was ich noch versuchen könnte...
sehr ärgerlich diese fehlermeldungen, das projekt steht komplett still seitdem :evil:

grl
Beiträge: 36
Registriert: Fr 17. Okt 2008, 19:24
OS, Lazarus, FPC: Debian X64, Lazarus 1.1, FPC 2.7.1
CPU-Target: x86, ARM

Re: Absturz aus heiteren Himmel

Beitrag von grl »

Nochmal langsam:

Du hast verschiedene Projekte, die alle mit der Exception in LdrFlushAlternateResourceModules abstürzen?
Oder nur ein Projekt?
Oder stürzt die Lazarus-IDE ab?

Wenn's deine Projekte sind: passiert das nur wenn du's aus der IDE startest oder auch wenn sie solo laufen?

Luggi

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

hi grl,
Ja, ich habe verschiedene und komplett unterschiedliche Projekte, die alle seit ein paar Tagen irgendwann ohne erkennbares Zutun nach einiger Zeit mit diesem Fehler abstürzen. Die IDE stürzt dabei nicht ab. Wenn ich die kompilierten Projekte, also die .exe-Dateien ausführe, dann funktionieren sie allerdings ohne Absturz, bleiben manchmal vielleicht kurzzeitig etwas hängen, laufen aber dann wieder scheinbar normal weiter.
mfg lagalex

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: Absturz aus heiteren Himmel

Beitrag von martin_frb »

Ok, der Absturz passiert nur im Debugger. Das ist ein wichtiger Unterschied.

Es gibt DLL und Treiber die aus verschiedenen Gruenden im Debugger nicht laufen. (Einige Antivirus Software, einige Drucker, aber auch Maus/touchpad driver, ggf andere)

Wenn das erst seit kurzem ist, dann ist vielleicht ein update, oder eine neu installierter Treiber schuld. (ggf automatisches win update)

Erstelle doch mal ein log wie hier beschrieben:
http://wiki.lazarus.freepascal.org/GDB_ ... ug_session

Achtung: das log enthaelt Namen von DLL von installierten Programmen, auch wenn diese nicht mit Lazarus zu tun haben. GGF private mail, wenn das ein Problem ist

Ausserdem, im Debugger thread und stack window (stack ggf fuer jeden thread)

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

Guten Morgen,

Hab jetzt mal wie beschrieben eine log-Datei erstellt und im Anhang mit hochgeladen, nur Benutzerdaten, Domänen und Hosts wurden anonymisiert.
Weiters die Screenshots des Stack sowie des Threads-Windows und einen Screenshot von der Dateiversion der aktuell verwendeten ntdll.dll.
In der Zeile 1171 findet man auch genau die Fehler-Meldung, die ich bekomme, wenn das Programm abstürzt.

mfg lagalex

Edit1: Log-File wurde wieder herausgenommen, da Lösung gefunden wurde
Dateianhänge
Meine aktuell verwendete ntdll.dll
Meine aktuell verwendete ntdll.dll
Threads-Window
Threads-Window
Stack-Window
Stack-Window
Zuletzt geändert von lagalex am Mo 29. Apr 2013, 13:33, insgesamt 1-mal geändert.

lagalex
Beiträge: 7
Registriert: Mi 24. Apr 2013, 13:29
OS, Lazarus, FPC: Windows 7 (L 1.0.8 FPC 2.6.2)
CPU-Target: 32Bit

Re: Absturz aus heiteren Himmel

Beitrag von lagalex »

Gute Nachrichten!

Ich habe den Grund des Absturzes gefunden:
Ausgeführte Programme in der Entwicklungsumgebung stürzen anscheinend nach dem Microsoft Hotfix KB2494427 ab.
Dieser Hotfix soll zufällige Absturze des Windows Explorer fixen.
Ich habe den Hotfix nun wieder deinstalliert und alles funktioniert wieder so wie vorher.

Vielen Dank an alle, die mich am Weg zur Lösungsfindung begleitet haben!

Liebe Grüße
lagalex

Antworten