[vz-dev] vzlogger: Something unexpected happened: meter_read_d0:279! (was: Re: Easymeter mir Ethersex)

Thorben Thuermer r00t at constancy.org
Sun Apr 1 08:47:11 CEST 2012


On Sun, 1 Apr 2012 07:45:53 +0200 "Tom Weber" <tom.weber at gmx.de> wrote:
> Hallo,
> 
> leider habe ich auch das Problem, dass vzlogger nach einigen Stunden
> abschmiert.
welche version benutzt du? (git HEAD, oder irgendeinen release?)
der letzte bug war in libsml, aber du benutzt ja d0 und kein sml...
wenn du noch eine aeltere version hast, koennte es der buffer-overflow
im logging sein...
ansonsten bitte einen backtrace oder corefile von dem crash...

> Er schreibt ein Riesenlogfile (verbosity 5) mit den Einträgen
> "Something unexpected happened: meter_read_d0:279!"

src/protocols/d0.c:
137 size_t meter_read_d0(meter_t *mtr, reading_t rds[], size_t max_readings) {
178     while (read(handle->fd, &byte, 1)) {
181         switch (context) {
187             case VENDOR:            /* VENDOR has 3 Bytes */
188                 if (!isalpha(byte)) goto error; /* Vendor ID needs to be alpha */
275         }
276     }
277 
278 error:
279     print(log_error, "Something unexpected happened: %s:%i!", mtr, __FUNCTION__, __LINE__);

=> die meldung bedeutet entweder, das read() fehlgeschlagen ist,
aber das wird es eher nicht sein, weil dann die verbindung zum meter
weg waehre,
oder dass der drei-byte vendor-string (am anfang eines datenblocks?)
ein nicht-alphanumerisches zeichen enthaelt,
vermutlich aufgrund eines uebertragungsfehlers?
du warst doch der mit dem 15m kabel...

> Bei verbosity 15 bekomme ich folgende Infos:
[...]
diese logs sind erfahrungsgemaess recht seinnfrei, und verschwenden
eher nur speicherplatz und bandbreite...

- T.


More information about the volkszaehler-dev mailing list