Fatal Error

Moderator: Moderatoren

Antworten
Josef

Fatal Error

Beitrag von Josef »

Was könnte das sein?
Der Programmabsturz kommt lt. Anwender daher, wenn zu schnell und im voraus getippt wird


------------------------------------------------------------
FATAL ERROR LOG
System-Error
SYS Thread-ID: 824
Module: EVM
Error Codes: EH: 4 Sub: 6(6) OS: 6 XPP: 40
Call Stack of Thread 1 (492):
STANDARDEH(202)
(B)ERRORSYS@0000(51)
@DC_GETLIST@I@EVENTLOOP(4235)
@DC_GETLIST@I@READGUI(3246)
DC_READGUI(223)
RESER(421)
(B)haupt(542)
HAUPT(635)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
HAUPT(655)
MENUE(290)
MAIN(237)
Call Stack of Thread 2 (640):
Call Stack of Thread 3 (824):
File: D:\Programme\KAREV\KAREV.exe
TimeStamp: 20060320 08:14
End of FATAL ERROR LOG.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Josef,
ich denke nicht, dass das von "zu schnellem Tippen" kommt.
Es ist ein Stack Overflow, der durch eine fehlerhafte Rekursion zustande kommt.
Schau Dir mal die betreffenden Zeilen an:
Warum ruft die Funktion MENUE in der Zeile 290 die Funktion Haupt auf und diese in der Zeile 655 wieder die Funktion MENUE??

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

kann es sein dass dein Hauptmenü die Fenster öffnet ohne diese wieder freizugeben (RETURN) ?
WinNT ff machen viel mit, aber irgendwann läuft das Faß über
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Mag an einer fehlerhaften Rekursion liegen, glaube ich aber nicht. Der Fehler tritt im EVM-Modul (EventManager) auf, und zwar nicht in dem Thread, in dem Josefs Hauptmodul läuft, sondern in diesem:

Call Stack of Thread 3 (824):

(siehe Thread-ID im Kopf des Fatals)

Gelegentlich gab es bei uns auch mal Meldungen von Anwendern, die behaupteten, es hätte am zu schnellen Tippen gelegen. Die Ursachen für diese Fehler waren aber immer andere. 8)
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Ergänzung:

Josef, hast Du's mal mit der CLEAREVENTS-Option von DCGET OPTIONS versucht?
Herzlich,
Tom
Josef

Beitrag von Josef »

brandelh hat geschrieben:kann es sein dass dein Hauptmenü die Fenster öffnet ohne diese wieder freizugeben (RETURN) ?
WinNT ff machen viel mit, aber irgendwann läuft das Faß über
Vorweg: ich hab kein reines GUI Programm, ich fahre noch gemischt. Mein Hauptmenü ist noch rein XbpCrt mit eXPress schauts aber eher nach GUI aus.

Kennst Du dich mit express aus? Ich hab mir das "Menü" aus Demoprogrammen aus express zusammengeschustert. Ich hab mir halt gedacht, das wird schon so passen.
Josef

Beitrag von Josef »

Tom hat geschrieben: Call Stack of Thread 3 (824):
(siehe Thread-ID im Kopf des Fatals)
)
Tom!
Wie finde ich diesen "Call Stack of Thread 3? Ist 824 eine Zeile meines Quellcodes?
Josef

Beitrag von Josef »

Tom hat geschrieben:Ergänzung:

.......mal mit der CLEAREVENTS-Option von DCGET OPTIONS versucht?
Tom,
ich kann diese Option in der Helpdatei nirgends finden. Was macht diese Option?
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Josef.

Hab mich geirrt, das ist eine Option von DCREAD GUI, also:

Code: Alles auswählen

DCREAD GUI ;
 OPTIONS aGetOptions ;
 ...
 CLEAREVENTS
Die Option entfernt alle Events aus der Eventqueue, bevor der Dialog angzeigt wird. Ein Pre-Typing ist damit ausgeschlossen.
Herzlich,
Tom
Josef

Beitrag von Josef »

Hallo Tom,

das probier ich mal aus.

Was hab ich nur früher ohne dieses Forum gemacht? Das hätte es schon früher geben sollen/müssen!!!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

sorry mit express kenne ich mich gar nicht aus.

Abern wenn ein Fenster mit Return beendet wird und so zurückfällt ins Menü muß das OK sein.
Gruß
Hubert
Josef

Beitrag von Josef »

Jetzt hat Kunde schon wieder diesen Fatal Error. Diesmal schaut er so aus:
.....................................
FATAL ERROR LOG
System-Error
SYS Thread-ID: 860
Module: EVM
Error Codes: EH: 4 Sub: 6(6) OS: 6 XPP: 40
Call Stack of Thread 1 (492):
STANDARDEH(202)
(B)ERRORSYS@0000(51)
@DC_GETLIST@I@EVENTLOOP(4235)
@DC_GETLIST@I@READGUI(3246)
DC_READGUI(223)
RESER(421)
(B)haupt(548)
HAUPT(641)
TAGWAHL(85)
MENUE(295)
MAIN(243)
Call Stack of Thread 2 (640):
Call Stack of Thread 3 (860):
File: D:\Programme\KAREV\KAREV.exe
TimeStamp: 20060322 11:57
End of FATAL ERROR LOG.
......................................................
Was ist das Modul EVM?
Ist das xBase oder eXPress?

Das hier ist das DC READ:
..................................................
DCGETOPTIONS NOMINBUTTON ;
NOMAXBUTTON ;
WINDOWROW 280 ;
WINDOWCOL 720 ;
NOTITLEBAR ;
HILITEGETS GRA_CLR_YELLOW ;
NOESCAPEKEY

dcread gui modal TO r_ok1 ;
OPTIONS GetOptions ;
ENTEREXIT BUTTONS DCGUI_BUTTON_OK FIT title "Erfassen Plätze"
............................................................................
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Ich lese das so:
STANDARDEH(202) <- und fliegt hier raus...
(B)ERRORSYS@0000(51) <- Errorsys versucht sich drum zu kümmern
@DC_GETLIST@I@EVENTLOOP(4235) <- hier tritt ein Fehler im Programm ein.
Ich vermute, dass ein Fehler im Programm (eventloop) auf einen Fehler im Errorhandler stößt und dann das Programm zum Absturz bringt.

Zumindest sind es meist Fehler im Errorhandler, welche Fatal Errors verursachen (zumindest soviel ich weiß)
Gruß
Hubert
Josef

Beitrag von Josef »

Ich vermute, dass ein Fehler im Programm (eventloop) auf einen Fehler im Errorhandler stößt und dann das Programm zum Absturz bringt.
Zumindest sind es meist Fehler im Errorhandler, welche Fatal Errors verursachen (zumindest soviel ich weiß)
Folgendes werde ich nun austesten:
Ich hab ja ein "MENU TO" Menü von der guten alten Zeit und dies war auf GUI Basis (mach eXPress). Dieses Menü hab ich jetzt ganz ordinär auf TExt-Basis umgestellt nur um zu sehen ob´s am GUI von eXPress liegt oder´liegen könnte.
Antworten