XPPFATAL ohne wirklichen Anhaltspunkt

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

XPPFATAL ohne wirklichen Anhaltspunkt

Beitrag von psp »

Hallo, ich habe seit ein paar Tagen ein Problem, was ich nicht beheben kann.

Das einzigste ist, dass ich eine XPPFATAL bekommen habe, in der ich nicht viel heraus lesen kann. In dem Thread vom Waechter führt er gerade ein Millisec(5000) aus. Die restlichen Threads sind beendet.

Vielleicht hat jemand von euch einen Ansatz, dem ich folgen könnte.

Code: Alles auswählen

FATAL ERROR LOG 
Not recoverable Error!
SYS Thread-ID: 700 
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (700):
Call Stack of GUI Thread (1032):
Call Stack of Thread 3 (2920):
Call Stack of Thread 4 (2964):
WAECHTER(4312)
Call Stack of Thread 5 (3016):
Call Stack of Thread 6 (3060):
Call Stack of Thread 7 (3112):
Call Stack of Thread 8 (3160):
Call Stack of Thread 9 (3200):
Call Stack of Thread 10 (3248):
File: E:\Test\PZONL_TMC.EXE
TimeStamp: 20120420 11:16
End of FATAL ERROR LOG.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: XPPFATAL ohne wirklichen Anhaltspunkt

Beitrag von Martin Altmann »

Moin,
hast Du eine eigene ERRORSYS? Sieht aus wie ein Fehler im Errorhandler.

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.
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Re: XPPFATAL ohne wirklichen Anhaltspunkt

Beitrag von psp »

jain,

ich hatte eine individuelle Errorsys im Programm eingelinkt, habe ich dann durch die Standard-Errorsys testhalber ersetzt, weil ich die vermutung hatte.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12908
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: XPPFATAL ohne wirklichen Anhaltspunkt

Beitrag von AUGE_OHR »

psp hat geschrieben:Das einzigste ist, dass ich eine XPPFATAL bekommen habe, in der ich nicht viel heraus lesen kann. In dem Thread vom Waechter führt er gerade ein Millisec(5000) aus. Die restlichen Threads sind beendet.
hm ... wenn ein Thread "beendet" ist sollte er nicht mehr auftauchen ...
die von dir angesprochene Zeitspanne ( = 5sec ?) dient vermutlich dazu eine "Aktion" auszulösen ? was macht er da ?

unter Xbase++ laufen Thread nicht nur immer auf der selben CPU sondern benutzen auch den selben Speicher Raum wie die Application.
Ein Thread der "ungeschützt" abstürzt könnte also die gesamte Application beeinflussen ... also nicht unbedingt für Zeit "kritische" Sachen benutzen [-X

evtl. wäre ein Ansatz von Pablo hier besser : TRunProcess Class

ein Thread ist ja wie ein eigener Process z.b. mit eigener WorkSpaceList() den man per Parameter starten könnte.
die TRunProcess Class enthält o:wait(nTime) und o:kill() womit man nun überprüfen kann ob ein Process noch läuft oder ggf. schliesst.

jeder Process läuft aber in seinem eigenen Speicher Bereich was auch bedeutet das sie "so" noch nicht miteinander "kommunizieren" können.
um einen Process "anzusprechen" benötigt man das Handle welcher von der TRunProcess Class "verwaltet" wird ;)
damit kann man nun, per SendMessageA(WM_COPYDATA, ...), einen String von einem Process zu jedem anderen Process schicken.

p.s. Frage : wie gross darf der String sein ? Antwort : how much RAM do you have ;)
psp hat geschrieben:

Code: Alles auswählen

FATAL ERROR LOG 
Not recoverable Error!
SYS Thread-ID: 700 
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
die EH Meldungen betreffen dein Error Handler. verwendest du BEGIN / SEQUENCE ?
gruss by OHR
Jimmy
Antworten