Absturz mit xppfatal (manchmal ...)

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Absturz mit xppfatal (manchmal ...)

Beitrag von Jan »

Ich lese Daten aus einer strukturierten Textdatei ein und appende dafür nacheinander mehrere hundert Datensätze, die jeweils mit entsprechenden Daten gefüllt werden. An einer reproduzierbaren Stelle, immer der gleiche Satz, gibt es einen Absturz. Manchmal mit xppfatal, meist aber ohne. Die Meldung ist dann:
FATAL ERROR LOG
Error within the error handling!
SYS Thread-ID: 1616
Module: EXE
Error Codes: EH: 5 Sub: -1073741819(c0000005) OS: 0 XPP: 41
Call Stack of Thread 1 (852):
Der Fehler passiert in dem Moment, wo ein gerade beschriebener Satz verifiziert wird. Ob das mit DbSkip(), DbAppend(), oder DbCommit() gemacht wird ist vollkommen egal. Der Fehler tritt immer auf, immer beim gleichen Satz. Ich habe schon in der Textdatei den Satz (der ansich ganz normal aussieht) modifiziert (keine Änderung) oder gelöscht (dann knallt es beim nächsten Satz).

Kann jemand einen praktischen Hinweis in der Fehlermeldung erkennen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von AUGE_OHR »

Jan hat geschrieben:Ich lese Daten aus einer strukturierten Textdatei ein und appende dafür nacheinander mehrere hundert Datensätze, die jeweils mit entsprechenden Daten gefüllt werden ...

Kann jemand einen praktischen Hinweis in der Fehlermeldung erkennen?
du lässt dem CG keine Zeit.
ATM = Atom Manager (starts Garbage Collector?)
Separate Thread, may have different Thread ID in XppFatal.logs
* XppFatal Message: "Function: atmStartGCThread(void*)"
- Error Codes: "EH: 5"/"Sub: -1073741819(c0000005)"/"XPP: 41"
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Jan »

Hallo Jimmy,

ich hab gerade einen Durchlauf gemacht, der vor jedem neuen Satz erstmal ein Inkey(.1) macht. Das sollte dem GC ja eigentlich reichen. Aber keine Änderung, Absturz an der gleichen Stelle.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von georg »

Hallo,


die Meldung "Error within the error handling!" deutet darauf hin, dass es erst einen "normalen" Fehler gibt, der aber zu einem Loop in ErrorSys führt. Ich würde in der ErrorSys mal im Debugger einen Breakpoint setzen und mir dann ansehen, mit welchem Fehler Dein Programm in die Fehlerroutine reingeht. Vielleicht hilft das.

Ansonsten: ist die Zieldatei, in welche die Datensätze geschrieben werden, immer leer? Wenn ja, was passiert, wenn 10 oder 20 Sätze drinstehen? Kommt der Abbruch dann beim gleichen eingelesenen Satz, oder kommt er zehn bzw. zwanzig Sätze früher?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Jan »

Das ist echt verrückt. Ein DbSkip(-1), ein DbCommit(), oder ein DbAppend() verursacht einen Absturz ohne xpperror oder xppfatal, wenn ein bestimmtes Feld im aktuellen Satz nicht gefüllt worden ist. Was ist das denn???

Sobald ich da einen Dummy reinschreibe, wenn aus der Textdatei nichts hierein übernommen werden kann, dann läuft das sauber durch.

Muß ich das jetzt verstehen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Martin Altmann »

Ist das Feld ein Schlüsselfeld im offenen Index?

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
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Jan »

Hallo Martin,

der aktive Index ist ein kombinierter Index aus mehreren Feldern, ganz vorne steht das betreffende Feld drin.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Martin Altmann »

Und könnte das der Grund sein?
Wie sieht der Indexausdruck aus?

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
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Jan »

Code: Alles auswählen

                   FIELD->name + ;
                   FIELD->vorname + ;
                   IIf(.NOT. Empty(FIELD->geburttag), ;
                       Str(Val(StrTran(SubStr(FIELD->geburttag, 5, 4) + SubStr(FIELD->geburttag, 3, 2) + SubStr(FIELD->geburttag, 1, 2), ' ', '0'))), ;
                       IIf(.NOT. Empty(FIELD->tauftag), ;
                            Str(Val(StrTran(SubStr(FIELD->tauftag, 5, 4) + SubStr(FIELD->tauftag, 3, 2) + SubStr(FIELD->tauftag, 1, 2), ' ', '0')))
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied 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:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von brandelh »

Wenn du so deinen Index aufbaust, ist die Gefahr, dass du dich vertust und die Länge nicht einheitlich ist viel zu groß !
Ich würde das in eine Funktion packen und am Ende sicherstellen, dass die Länge immer gleich ist !
Gruß
Hubert
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:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von brandelh »

Ansonsten hat Georg die richtige Antwort schon gegeben:

Error within the error handling!

Es kommt zu einem Fehler, der trifft auf einen Fehler in der Fehlerbehandlung, die du sicher geändert hast.
Dies führt zu einem rekursiven Aufruf der Fehler routine, bis der Stackspeicher ausgeht und das Programm abschmiert.

Was an dem Satz bemängelt wird, kannst du nur durch eine originale Fehlerbehandlung herausbekommen.
Was an deiner Fehlerbehandlung schiefgeht, könnte eventuell der Debugger oder Debugcode in der Fehlerbehandlung dokumentieren (set alternate ... ? ...)
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Absturz mit xppfatal (manchmal ...)

Beitrag von Martin Altmann »

Jan,
ganz einfach: Du hast unterschiedliche lange Indexausdrücke - und zwar genau dann, wenn Dir weder Taufdatum noch Geburtsdatum vorliegen!

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.
Antworten