Re: Re-6: [Allegro] Durch globale Änderung einen Datensatz zerstört : hat geklappt :-
Anando Eger
a.eger at aneg-dv.de
Di Apr 4 09:23:07 CEST 2006
Hallo Herr Eversberg,
Sie schrieben u.a.:
> Wir müssen ein nachvollziehbares Phaenomen haben, ...
Durch interne Pufferüberläufe ausgelöste Programmfehlfunktionen sind
in den allerseltensten Fällen nachvollziehbar, da es von den bisherigen
Zuständen im Speicher und der (quasi zufälligen) Lage der Daten und
des Stacks im Speicher abhängt, wohin das Programm dann, meist über
mehrere aus gleichem Grund selten nachvollziehbare Zwischenschritte,
"springt", bis dann letztendlich vom Menschen ein Fehler bemerkt wird.
Nach meiner jetzt schon 21-jährigen Programmiererfahrung mit C ist
solchen Effekten mit hinreichender Erfolgswarscheinlichkeit nur mit
einer Analyse des Quellcodes beizukommen.
Durch von Satzupdates ausgelöste Umspeichervorgänge als Quelle von
Datenbankfehlern sind hier ja schon öfter diskutiert worden. Die Mittel
zur Vermeidung dieser Fehlerzustände waren bisher:
- keine "allzulangen" Feldinhalte verwenden
- viele Füllzeichen einsetzen
- keine Wiederverwendung von gelöschen Sätzen zulassen
- Datenbankdateien so aufteilen, daß keine "vollen" Datenbankdateien
entstehen
- intensive Update-Vorgänge (Importe, globale Ersetzungen mit
größerem Umfang) nur ausführen, wenn man im Netzwerk "alleine" ist.
- DOS-Allegro auf einem (Windows-)PC nicht mehrmals starten
- in Netware-Netzen auf Clientseite das Caching ausschalten
Ich nehme an, daß der Quellcode bei den ständig vorgenpommenen Änderungen
immer mal wieder "angesehen" wird. Wenn bei diesen Gelegenheiten immer
mal ein paar bisher fehlende Prüfungen auf Bereichsüberschreitungen
ergänzt werden, müßten die Fehler ja irgendwann "herausgewachsen" sein ;-)
Viele Grüße
Anando Eger
-----------------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236 http://www.aneg-dv.de
Fax: +49 (0)351 454 1238 mailto:a.eger at aneg-dv.de
-----------------------------------------------------------------------------
On 4 Apr 2006 at 8:21, Bernhard Eversberg wrote:
> deblon at mh-trossingen.de schrieb:
> >
> > solche Vorkommnisse kann ich auch bestätigen, bei uns vor ca. 2 Jahren, nach einer einfachen globalen Ersetzung
> > (testweise an nur einem Satz) war der betroffene Satz mit dem
> vorhergehenden
> > "verschmolzen".
> Mit dem vorhergehenden? Das hatten wir noch nie. Können Sie das ganz
> genau beschreiben?
>
> > Ich habe dann für eine Weile die Finger von der Funktion gelassen,
> > im letzten halben Jahr mit neueren Versionen dann allerdings keine
> > Probleme gehabt.
> > Wenn ich damals Zeit zum Testen gefunden hätte, hätte ich wohl zuerst
> > in der Richtung gesucht,
> > ob Allegro bestimmte Verlängerungen bei der Ersetzung krumm
> > nimmt (vielleicht bei zu knapp bemessenen Füllzeichen).
>
> Wir müssen ein nachvollziehbares Phaenomen haben, dann werden wir
> sofort tätig. Bisher reichen alle Hinweise dafür nicht aus.
>
> B.E.
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro
Mehr Informationen über die Mailingliste Allegro