AW: [Allegro] index.exe hat ein Problem festgestellt...

Fischer, Thomas fischer at sub.uni-goettingen.de
Do Dez 1 17:34:10 CET 2011


Hallo die Herren Eger & Berger, liebe KollegInnen,

ich habe jetzt meine Indexierung wieder ans Laufen bekommen; wie Herr Berger schon vermutete, war das Problem wahrscheinlich eine zu groß werdende Variable, im Detail ist das nicht leicht nachzuvollziehen.
Hier noch ein paar Bemerkungen zu Problemen entlang des Weges und eigenen Dummheiten.

> Die neueren index.exe scheitern nicht mehr (so schnell) an "zu vielen"
> Schluesseln, der beschriebene Absturz deutet allerdings auf einen
> Ueberlauf des Hintergrundspeichers hin, typische Ursachen sind
>
> * immer weiter anwachsende Anwendervariable (evtl. Loeschung der
>   Variablen im Primaerabschnitt, der aber nur bei index - at 1
>  ausgefuehrt wird und nicht bei index - at 2)

Genau das war's. Etwas mehr unten.

> Oft hilft es, die .api in eine .apr umzuwandeln und das Ergebnis
> zu untersuchen, sehr hilfreich ist es natuerlich, wenn sich das
> Phaenomen bereits bei Abarbeitung einer einzigen / der ersten
> .ald-Datei reproduzieren laesst.

Das Indexproblem ergab sich schon bei der Indexierung der ersten Datenbankdatei, die ließ sich somit leicht isolieren.

Da bei der Indexierung die Datensatznummer erfasst wurde, habe ich versucht, diese funktionierenden Daten auszuschließen: Ich habe aus den existierenden Nummern eine Ergebnismenge gemacht und diese Ergebnismenge gelöscht. Das hat erstaunlicherweise nicht funktioniert: Nach dem nächsten Neuaufbau waren die Daten wieder da, aus mir nicht erklärlichen Gründen allem Anschein nach in einer anderen Datenbankdatei, ich hatte jetzt also reg_1.gld mit etwa 2 MB und reg_2.gld mit 13,7 MB. Entfernen der 2. Datenbankdatei ließ das Problem bestehen, damit ließ sich jetzt effektiv testen.

Herrn Bergers Tipp, aus der Indexparameterdatei eine Exportparameterdatei zu machen, führt leider beim Export zum Absturz von A99 und zeigte davor keine Auffälligkeiten.

Erst danach fiel mir auf, dass ich ein "d~~" (eigentlich ein Overkill, danach muss A99 mit dem Startflex neu initialisiert werden) unter der Sprungmarke zu
ak=zz+@
angebracht hatte, Verschiebung zu der Kurztitelerzeigung löste dann das Problem; ich bin dem nach noch weiter nachgegangen, um die eine Variable zu identifizieren, die die Störung verursachte. Ich habe eine entsprechende Initialisierung bei der Erzeugung der Kurzanzeige eingebaut, seitdem scheint alles glatt durchzulaufen.

Herzlichen Dank,
Thomas Fischer



Mehr Informationen über die Mailingliste Allegro