OWServer/OWDevice nonblocking patch

Begonnen von justme1968, 28 November 2013, 21:50:55

Vorheriges Thema - Nächstes Thema

justme1968

bitte setz mal verbose für beide auf 5 und schaue ob und wie sich die logs unterscheiden wenn es passiert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

habe gerade nochmal auf beide ein update gemacht.

Leider ohne Erfolg. Das Log zeigt:

2013.12.22 20:55:34 5: OWServer child read /28.E855E2040000/temperature: 28
2013.12.22 20:55:33 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2518
2013.12.22 20:55:23 5: OWServer child read /28.E855E2040000/temperature: 28
2013.12.22 20:55:23 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2517
2013.12.22 20:55:13 5: OWServer child read /28.E855E2040000/temperature: 28
2013.12.22 20:55:13 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2516
2013.12.22 20:55:10 3: Keller_Ist:18.5
2013.12.22 20:55:10 3: Keller_Soll:17.5
2013.12.22 20:55:09 3: FS20 set Rel5_Pumpe_HZK off
2013.12.22 20:55:07 3: FS20 set Rel5_Pumpe_HZK off
2013.12.22 20:55:03 5: OWServer child read /28.E855E2040000/temperature: 28
2013.12.22 20:55:03 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2515
2013.12.22 20:54:53 5: OWServer child read /28.E855E2040000/temperature: 28
2013.12.22 20:54:52 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2514
2013.12.22 20:54:42 5: OWServer child read /28.E855E2040000/temperature: 28.0625
2013.12.22 20:54:42 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2513

Sobald ich den Raspi, wo owfs läuft vom Netz trenne, hängt sich FHEM auf.

Meine Version ist laut version:
# $Id: 11_OWDevice.pm 4430 2013-12-20 16:42:26Z borisneubert $
# $Id: 10_OWServer.pm 4430 2013-12-20 16:42:26Z borisneubert $

Vilen Dank
Olaf

justme1968

fehler gefunden. boris hat ein teil des patches übersehen. das schlägt unter anderem genau bei den temperatur sensoren zu.

der angehängte patch sollte helfen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Zitat von: justme1968 am 22 Dezember 2013, 21:12:07
fehler gefunden. boris hat ein teil des patches übersehen. das schlägt unter anderem genau bei den temperatur sensoren zu.

Wie konnte das passieren? Ich habe die 11_OWDevice.pm aus dem Post genommen, den Diff in Augenschein genommen, und eingecheckt. Hmmm...


Zitat
der angehängte patch sollte helfen.

Tut nicht gehen.

Kannst Du bitte einfach die volle Version hier hochladen? Danke.

Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

ollir

Hallo Andre,

vielen Dank für deine schnelle Hilfe.
Habe mir gerade beim Testen (vor dem Patch) das ganze Netzwerk lahm gelegt.
Bin wieder online muß jedoch jetzt schlafen (Früh-Schicht).

Werde dann morgen testen und berichten.

Vielen Dank

Olaf

justme1968

#20
anbei noch mal das komplette file.

ich vermute du hattest nur den patch aus dem eingangspost gesehen. etwas darunter gab es noch mal eine zweite version mit dieser erweiterung.

OWServer forkt ja nur in OWServer_Read nicht in OWServer_Dir und OWServer_Find. das ist auch der grund warum beim starten immer noch ein hängen bleiben möglich ist. mit der änderung hier wird aber zumindest zur laufzeit beides nicht mehr aufgerufen wenn ein normales lesen blockiert hat.

man könnte noch die polls schleife komplett abbrechen sobald das erste read fehlgeschlagen ist. das hatte ich noch nicht eingebaut.


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Danke.

Ich brauch 11_OWDevice.pm 

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

jetzt aber...

ich hab es oben ausgetauscht.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Danke. Ist eingecheckt!

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

ich habe die obere OWDevice gerade eingespielt. Leider hängt er immer noch.
Jedoch bemerkt er kurz, das das Device nicht angesprochen werden kann (siehe Log) und friert dann ein. In der Versionsanzeige ist immer noch
Zitat# $Id: 11_OWDevice.pm 4430 2013-12-20 16:42:26Z borisneubert $
Ist das richtig?

Zitat

2013.12.23 06:47:09 3: Keller_Ist:17.7
2013.12.23 06:47:09 3: Keller_Soll:17.5
2013.12.23 06:47:08 3: FS20 set Rel5_Pumpe_HZK off
2013.12.23 06:47:05 1: OWServer: Terminated child 2317
2013.12.23 06:46:59 3: Temp_RPi2: reading temperature did not return a value
2013.12.23 06:46:59 1: OWServer: read timeout for child 2317
2013.12.23 06:46:55 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2317
2013.12.23 06:46:24 5: OWServer child read /28.E855E2040000/temperature: 25.875
2013.12.23 06:46:24 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2315
2013.12.23 06:45:53 5: OWServer child read /28.E855E2040000/temperature: 25.9375
2013.12.23 06:45:53 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2314
2013.12.23 06:45:23 5: OWServer child read /28.E855E2040000/temperature: 26
2013.12.23 06:45:23 5: OWServer child ID for reading '/28.E855E2040000/temperature' is 2313
2013.12.23 06:45:23 5: OWServer child read /28.E855E2040000/type: DS18B20
2013.12.23 06:45:23 5: OWServer child ID for reading '/28.E855E2040000/type' is 2312

VG
Olaf

justme1968

laut log schaut es ok aus. er merkt das kein wert kommt und läuft dann weiter. das nachfolgende set wird ja auch wieder augeführt.

kannst du bitte mal ein strace auf den hängenden fhem prozess machen?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

als Anlage die Ausgabe. Weis nich, was du brauchst. Ich hoffe sie ist nicht zu groß.

VG
Olaf

justme1968

nur um sicher zu gehen: owfs ist während des normalen betriebe plötzlich weg oder ist beim starten von fhem schon nicht erreichbar?

für letzteres helfen die paches noch nicht. nur für ausfälle im normalen betrieb.

ich hab aber gerade noch eine idee. es könnte auch ein fall sein der bis jetzt noch nicht abgefangen wird. ich muss mal testen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

es passiert, wenn owfs während des Betriebes nicht mehr erreichbar ist.

VG
Olaf