[vz-dev] vzlogger - Segmentation fault

Thorben Thuermer r00t at constancy.org
Sun Nov 11 00:23:52 CET 2012


doppelte arbeit...
hatte das vor ein paar wochen schon analysiert:
http://www.mail-archive.com/volkszaehler-dev@lists.volkszaehler.org/msg00928.html

ich wuerde aber erstmal bei meiner theorie bleiben, dass das problem durch
serielle uebertragungsfehler verursacht wird, und der sml-parser nur bei
_ungueltigen_ daten abstuerzt.
man muesste sich die empfangenen bytes im detail anhand der spezifikation
anschauen...

- Thorben

On Sat, 10 Nov 2012 23:09:05 +0100 xdiwi <xdiwi at gmx.net> wrote:
> Hallo,
> 
> ich bin derzeit dabei den vzlogger auf meinem System zum Laufen zu 
> bringen. Prinzipiell funktioniert dieser auch schon und liefert 
> sinnvolle Werte, läuft aber leider nach einigen Minuten auf einen 
> Segmentation Fault!
> 
> vzlogger von https://github.com/stv0g/vzlogger.git
> 
> Zur Fehlersuche habe ich vzlogger mit  --enable-debug compiliert und 
> unter dbg laufen lassen. Ich habe die problematische Stelle zwar auch 
> finden können, aber für eine vernünftige/sinnvolle Änderung des 
> Source-Codes fehlt mir der Überblick über die Programmstruktur. Ich 
> hoffe einer der Spezialisten kann hier mal helfen und den Source-Code 
> sinnvoll korrigieren!
> 
> 
> Hier die Details:
> 
> In der Funktion *meter_read_sml()* (Datei 
> ./vzlogger/src/protocols/sml.c) wird die Funktion *sml_transport_read()* 
> aus ./libsml/sml/src/sml_transport.c aufgerufen. Diese liefert im 
> Fehlerfall als Return-Wert eine *0*!! Da dies nicht abgefangen wird, 
> wird anschließend die Funktion *sml_file_parse(**)* mit ungültigen 
> Parametern (bytes -16 = -16) aufgerufen und läuft dann auf einen 
> Segmentation Fault!
> 
> 
> Zeile 159:
> ...
>      /* wait until a we receive a new datagram from the meter (blocking 
> read) */
>      bytes = *sml_transport_read*(handle->fd, buffer, SML_BUFFER_LEN);
> 
> 
>      /* parse SML file & stripping escape sequences */
>      file = *sml_file_parse*(buffer + 8, *bytes - 16*);
> 
> ...
> 
> 
> 
> Grüße
> 
>      Dieter
> 
> 
> 


More information about the volkszaehler-dev mailing list