Writing negative record size for variable

Hi,

habe ca 30 Einträge Writing negative record size for variable im Log.

Archivhändler zeigt die auch mit negativ an.

Hatte ich vor einigen Wochen schon mal und da alles neu Reorganisiert da war das weg.

Jetzt bringt auch eine Reorganisierung nichts mehr.

Vorweg, du hast das aus Versehen im englischen Forum gepostet. Ich habe mir mal erlaubt, den Beitrag nach Allgemein zu verschieben.

Bisher konnten wir den Fehler nie rekonstruieren, also sind wir über Hinweise aller Art dankbar. Kannst du uns die geloggten Datensätze schicken, die reproduzierbar negative Zahlen verursachen?

Ansonsten kannst du im Log auch mal nach anderen passenden Beiträgen schauen. Bei „Writing negative record size for variable“ ist der Fehler bereits geschehen. Es gibt eigentlich an allen Stellen, an denen die Größe sich von positiv zu negativ ändert eine Fehlermeldung, vielleicht findest du eine passende? Suche am besten mal nach „negative“ im Log.

Herzlichen Dank für die Infos!

Ich habe vor ein paar Tagen den gleichen Fehler gemeldet : Negative Größe von Variablen im Archive Handler 5.0

PN Mail ist raus

@BestEx: In deinem Beitrag hattest du es nicht als reproduzierbar beschrieben, daher haben wir da nicht weiter nachgehakt. Wenn du etwas hast, beispielsweise einen Logbeitrag wann die Größe negativ wird oder ein Verhalten, dass eine negative Größe verursacht, bin ich sehr dankbar.

Diese Meldung kommt im Log minütlich :

Wie in meinem früheren Posting gesagt : Wenn ich die Variable neu aggregiere ist alles OK. Allerdings erscheinen jeden Tag neue negative Größen :frowning:

Die Meldung „Writing negative…“ kommt nachdem die Größe schon negativ ist. Es sollte eigentlich an alle Stellen, an denen ein Übergang von positiv auf negativ passiert, eine Meldung kommen. Kannst du mal schauen, ob in deinem Log dazu etwas zu finden ist?

Ich bin am Mittwoch wieder vor Ort. Bei der Größe des LOG Files bin ich nicht sicher ob ich vorher eine Auswertung hin bekomme. Mir ist heute auch aufgefallen das die angezeigte Gesamtgröße sich über ein paar Tage (22.8.2018 bis 3.9.2018) doch sehr stark erhöht hat. Wenn das so weitergeht verbrauche ich in einem Monat 100 Giga Byte :frowning:

22.8.2018

3.9.2018

Zum Glück nur in der (falschen) Anzeige, nicht real im Dateisystem

Das beruhigt mich :slight_smile:

Irgend ein Vorschlag nach was ich ausschau halten soll ? Ich habe per Terminal Viewer mal nachgeschaut und wenn ich nach „negative“ Suche komme ich nicht weiter da alle Minute ein Eintrag im Log ist

Es gibt die folgenden weiteren Meldungen:

  • Variable is initialized with negative aggregation size.
  • RecordSize became negative while deleting variable data:
  • After parsing to int, the bytes written become negative.

Ich habe die drei letzten Tage durchsucht und keine der drei Suchbegriffe in den LOGS gefunden. Ich habe jetzt alle negativen Werte neu aggregiert und such nochmal sobald ein negativer Wert auftaucht

Nach meiner Erfahrung werden die Werte für den Speicherbedarf irgendwann negativ, nachdem sie zuvor schon sehr hohe Werte hatten. Ich tippe auf einen Fehler mit signed/unsigned Integer.

Was mir weiterhin auffällt:
Bei den Werten, die vor der Aggregation negativ waren und wo nach Aggregation der angezeigte Speicherbedarf auch wieder schnell ansteigt fehlen einzelne Werte in der Archivanzeige. Das sind bei mir zyklisch (minütlich) gesendete Helligkeitswerte von KNX, die laut KNX Busmonitor auch alle gesendet werden. Im Archiv sind aber Lücken, vermutlich weil sich diese Werte nicht geändert hatten. Ob das mit der falschen Berechnung zusammenhängt weiß ich natürlich nicht.

Die fehlenden Werte hängen wie von dir vermutet wohl an aufeinanderfolgenden gleichen Werten. Diese werden nicht geloggt.

Ansonsten klingt es wirklich so, als wenn unter gewissen Umständen die Größe extrem schnell zunimmt und dann überläuft. Aber auch das konnten wir bisher leider nicht reproduzieren…

Gibt es denn an dieser Stelle im Code irgendwelche Berechnungen basierend auf dem zeitlichen Abstand der Datenpunkte?

Bei mir läuft bei vielen Datenpunkten der Speicherbedarf in die Höhe. Viele Daten kommen mit einem Mix aus zyklischem Senden (z.B. minütlich) plus Senden bei größeren Wertänderungen. Also nicht streng zyklisch und auch nicht nur bei Wertänderung, sondern ein Mix.

Ergänzung in der Hoffnung, daß es bei der Fehlersuche hilft:

In der letzten Stunde ist die Anzahl der Datenpunkte im Archiv um 40 gewachsen, das passt zum minütlichen Senden mit einigen Lücken wegen unveränderter Werte.

Der berechnete Speicherbedarf ist dabei um über 3MB (!) gewachsen. Ich habe einen Screenshot angehängt mit den zuletzt geloggten Daten (Inhalt der CSV des aktuellen Monats für diese Variable).

Nachtrag zum Nachtrag:

In der Nacht ist die Dateigröße weiter angestiegen.
Und der auch Speicherbedarf pro Datenpunkt steigt.

Wenn man mit dem Gesamtwert 359.66MB / 134729 rechnet ergibt das 2.7kB pro Datenpunkt, ganz schön viel.
Wenn man den nächtlichen Zuwachs rechnet (359.66-325.41)/(134729-134260) = 34.25MB / 469 ergibt das aktuell ca.75kB pro Datenpunkt.

Eine weitere Fehlermeldung, die kommen kann ist übrigens

  • Reading data for aggregation decreased the record size.

Ich hatte nur nach negative gesucht als ich die Meldungen hier geschrieben hatte, daher habe ich die Übersehen. Die könnte übrigens auch beim Überlauf kommen, also schaut gerne mal nach, ob die in euren Logs steckt.

edit: Die sollte eigentlich jedes Mal bei der Reaggregation kommen, da die falsche hohe Größe ja wieder runtergesetzt wird. Damit hilft das leider doch nicht wirklich

Hi Nils,

ich habe die Logmeldungen auf ein Minimum reduziert, da kommt jedenfalls keine solche Meldung bei der Aggregation. Kannst du vielleicht mit meinen Werten zum Speicherbedarf pro Datenpunkt in #18 etwas anfangen? Irgendwie/wo wird der Zuwachs doch berechnet und da scheint was schief zu gehen.

Zur Vollständigkeit noch das Ergebnis nach Aggregation für die oben gezeigte Variable. Das passt auch gut zur Größe im Dateisystem.
Pro Datenpunkt sind das nun glaubwürdige 20 Byte anstatt 2.7kB bzw. 75kB.

Erfolgreiche Jagd!
Volker

Nachtrag:

Schon kurz nach der Aggregation wächst die angezeigte Dateigröße wieder rasant. 9MB Zuwachs bei 133 neuen Datenpunkten, das sind nun +81kB pro Datenpunkt.

Nachtrag einige Stunden später:
Nun +29.5 MB bei 363 zusätzlichen Datenpunkten, das sind nun +83kB pro Datenpunkt.

Der von IPS berechnete Speicherbedarf pro geloggtem Wert steigt also immer weiter an, gestern waren es noch +75kB und nun schon +83kB. Realistisch wären hier ca. 20 Byte (nicht zig kByte).