OpenBCM V1.13 (Linux)

Packet Radio Mailbox

DB0FHN

[JN59NK Nuernberg]

 Login: GUEST





  
DL5FBD > SP       18.03.99 00:02l 61 Lines 2407 Bytes #-9967 (0) @ DL
BID : 173933DB0GV
Read: DG1FCQ GUEST
Subj: Zu DG0OBR's SP und HIMEM-Problem (RS232-INT-Overlaycrash)
Path: DB0MW<DB0AIS<DB0GV
Sent: 990317/2034z @:DB0GV.#HES.DEU.EU [Frank4t/Mtl OP:DF5FF] $:173933DB0GV
de DL5FBD @ DB0GV.#HES.DEU.EU   (Gerd-Michael)

to SP @ DL

-----BEGIN PGP SIGNED MESSAGE-----

Hallo SP-Anwender

Die FAT ist vermutlich nicht zerschossen worden, sondern es sind Datei-
fehler wie verlorene Cluster nach einem SP-Absturz entstanden.

Die Ursache ist mir leider auch schon lange bekannt.  SP  verwendet ein
Programmoverlaysystem, das heisst es wird nicht der gesammte SP-code in
den Speicher geladen, sondern nur ein Teil und benoetigte  Codesegmente
werden dynamisch nachgeladen.

Bei einem Programmfehler der zum  Abbruch  durch die RUN-Bibliothek des
von DK$NB verwendeten Compiler fuehrt  (je nach SP-Version Turbo C oder
Borland C) stuerzt diese Gebilde unkontrolliert ab.

Einer der toedlichsten Fehler in SP ist, das  die Interruptroutine fuer
die RS232 nicht ueber einen Fehlerhandler abgeschlossen  wird,  so dass
dynamisch auf den Speicherplatz der RS232-INT-Handlerroutine noch ande-
rer Code geladen wird.

Trifft jetzt ein RS232-Interrupt ein, dann ist stuerzt das gesammte DOS
System ins Nirvana ab, da kein Interrupthandler mehr existiert, sondern
wild  in den nachgeladenen Code  auf der  ehemaligen INT-Handleradresse
verzweigt wird.

Ich hatte vor laengerer Zeit ein Tool geschrieben, das bei DOS-Program-
men eine nicht deinitialisierte RS232 schliesst.  Dieses  Tool  lud das
Terminal als Kindprogramm buckepack. Es funktionierte   bei  fast allen
Terminalprogrammen, nur  bei  den  letzten Versionen von SP nicht mehr,
wenn waehrend des Absturzes noch  ein Zeichen  auf  der RS232 empfangen
wurde. Ursache ist, das andere Programme  nicht ihre INT-Routine ueber-
schrieben und diese daher auch beim Programmverlassen noch die INTs be-
arbeiten konnte.

Mit einem DEBUG-Monitor konnte man noch die Overlayaktivitaet erkennen,
bevor ein Abstuerzendes SP das DOS ins Verderben riss.

Das ist die Ursache, warum nach SP-Crash die Dateitruemmer auftreten.

Der Speichermanagerfehler duerfte daran liegen, dass von SP angeforder-
te  Speicherseiten via HIMEM.SYS nicht mehr freigegeben wurden,  so das
die DOS Speicherverwaltung inkonsistent wurde.

73 de Gerd Michael


-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: cp850

iQCVAwUBNvARtxViWyGpK3MJAQFBgQP/ZmcGp2dOcIOuMSHMX8uubFcZu8wcRDAQ
8YpVRBKZviN6hHKmogjnGJpf9FhrtzsSrB3S8x4Ee7itg9MBottCV8OA6BNNSNBy
YnVZFWkJlMRyzCvlMzdSTTbm7G/YYonugfL6RwzrYN0gbJjTw/KtAToSGYspEQLv
lGh8B6ZogEY=
=Y0Lv
-----END PGP SIGNATURE-----



Read previous mail | Read next mail


 01.07.2026 13:29:24lGo back Go up