Errno 5 - Input/output error

Bonjour,

De puis la mise à jour du plugin rfxcom en 2024-06-12 01:02:37, j’ai plusieurs fois par jour le plugin qui plante avec ce message :

[2024-06-18 07:00:37] ERROR  : Error in read_rfxcom: [Errno 5] Input/output error
[2024-06-18 07:00:37] ERROR  : Exit 1 because this exeption is fatal
Exception in thread Thread-1:
Traceback (most recent call last):
File "/var/www/html/plugins/rfxcom/resources/rfxcomd/rfxcomd.py", line 166, in read_rfxcom
byte = self._serial.read()
File "/var/www/html/plugins/rfxcom/resources/rfxcomd/jeedom/jeedom.py", line 274, in read
if self.port.inWaiting() != 0:
File "/usr/local/lib/python3.7/dist-packages/serial/serialutil.py", line 594, in inWaiting
return self.in_waiting
File "/usr/local/lib/python3.7/dist-packages/serial/serialposix.py", line 549, in in_waiting
s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
OSError: [Errno 5] Input/output error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "/var/www/html/plugins/rfxcom/resources/rfxcomd/rfxcomd.py", line 171, in read_rfxcom
asyncio.create_task(self.stop())
File "/usr/lib/python3.7/asyncio/tasks.py", line 324, in create_task
loop = events.get_running_loop()
RuntimeError: no running event loop
/usr/lib/python3.7/threading.py:951: RuntimeWarning: coroutine 'BaseDaemon.stop' was never awaited
del exc_type, exc_value, exc_tb
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
[2024-06-18 09:50:07] DEBUG  : Received {"apikey":"l6j8XH1iqa292cYwgupJEvZeuLfL8wfY","cmd":"send","data":["0C1A000055CF5E010000000000"]} from ('127.0.0.1', 55188)
[2024-06-18 09:50:07] DEBUG  : Close connection
[2024-06-18 09:50:07] DEBUG  : Test message: 0C1A000055CF5E010000000000
[2024-06-18 09:50:07] DEBUG  : flushOutput serial port
[2024-06-18 09:50:07] ERROR  : Send command to rfxcom error : (5, 'Input/output error')


Je suis obligé de redémarrer le plugin et il refonctionne encore pour quelques heures.

Bonjour,

Après une recherche sur le forum et dans la doc du plugin :

J’ai l’erreur [Errno 5] Input/output error

Cette erreur est malheureusement matériel (problème de communication avec le RFXcom). Souvent c’est du à un soucis d’alimentation ou de câble USB, vous pouvez donc essayer en changent le câble USB et/ou en passant par un hub USB alimenté

Cordialement
Luis

Bonjour,

Cette erreur est dans la documentation. Avez-vous suivi ce qui est indiqué?
Du coup cela n’a pas de lien avec la mise à jour du plugin

OK merci je vais regarder mais étrangement depuis des années ça fonctionne, je n’ai rien touché et le lendemain de la mise à jour j’ai ce message, étrange coïncidence. Et du coup si c’est matériel étrange aussi que juste en redémarrant le plugin ça refonctionne.

pareil que @Playmo70, tout est OK depuis 5 ans, et la coïncidence avec la maj est troublante …


problème matériel ou non, lorsque le problème survient je pense que ca serait mieux que le démon soit arreté car toute façon il sert plus à rien, non !?
là rien ne saute aux yeux à part les « erreur » dans les logs

le démon est arrêté dans ce cas, en principe
pourquoi dis-tu qu’il ne l’est pas?

ba … je le dis pcq … il ne l’est pas !? :thinking: :thinking:

:smiley:

Tout est « vert » et les logs continuent d’arriver :

0030|[2024-06-19 00:01:24] ERROR  : Error in read_rfxcom: [Errno 5] Input/output error
0031|[2024-06-19 00:01:24] ERROR  : Exit 1 because this exeption is fatal
0032|Exception in thread Thread-1:
0033|Traceback (most recent call last):
0034|File "/var/www/html/plugins/rfxcom/resources/rfxcomd/rfxcomd.py", line 166, in read_rfxcom
0035|byte = self._serial.read()
0036|File "/var/www/html/plugins/rfxcom/resources/rfxcomd/jeedom/jeedom.py", line 274, in read
0037|if self.port.inWaiting() != 0:
0038|File "/usr/local/lib/python3.9/dist-packages/serial/serialutil.py", line 594, in inWaiting
0039|return self.in_waiting
0040|File "/usr/local/lib/python3.9/dist-packages/serial/serialposix.py", line 549, in in_waiting
0041|s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
0042|OSError: [Errno 5] Input/output error
0043|During handling of the above exception, another exception occurred:
0044|Traceback (most recent call last):
0045|File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
0046|self.run()
0047|File "/usr/lib/python3.9/threading.py", line 892, in run
0048|self._target(*self._args, **self._kwargs)
0049|File "/var/www/html/plugins/rfxcom/resources/rfxcomd/rfxcomd.py", line 171, in read_rfxcom
0050|asyncio.create_task(self.stop())
0051|File "/usr/lib/python3.9/asyncio/tasks.py", line 360, in create_task
0052|loop = events.get_running_loop()
0053|RuntimeError: no running event loop
0054|/usr/lib/python3.9/threading.py:956: RuntimeWarning: coroutine 'BaseDaemon.stop' was never awaited
0055|self._invoke_excepthook(self)
0056|RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0057|[2024-06-19 08:30:49] DEBUG  : Received {"apikey":"S5sLNURsxigwp0cmMX4AvtnaH4VJFYnO","cmd":"send","data":["0C1A00007D1CA7010100000000"]} from ('127.0.0.1', 58498)
0058|[2024-06-19 08:30:49] DEBUG  : Close connection
0059|[2024-06-19 08:30:49] DEBUG  : Test message: 0C1A00007D1CA7010100000000
0060|[2024-06-19 08:30:49] DEBUG  : flushOutput serial port
0061|[2024-06-19 08:30:49] ERROR  : Send command to rfxcom error : (5, 'Input/output error')
0062|[2024-06-19 08:30:52] DEBUG  : Received {"apikey":"S5sLNURsxigwp0cmMX4AvtnaH4VJFYnO","cmd":"send","data":["0C1A00007D1CA7010100000000"]} from ('127.0.0.1', 58504)
0063|[2024-06-19 08:30:52] DEBUG  : Close connection
0064|[2024-06-19 08:30:52] DEBUG  : Test message: 0C1A00007D1CA7010100000000
0065|[2024-06-19 08:30:52] DEBUG  : flushOutput serial port
0066|[2024-06-19 08:30:52] ERROR  : Send command to rfxcom error : (5, 'Input/output error')
0067|[2024-06-19 08:30:53] DEBUG  : Received {"apikey":"S5sLNURsxigwp0cmMX4AvtnaH4VJFYnO","cmd":"send","data":["0C1A00000A475F010100000000"]} from ('127.0.0.1', 58506)
0068|[2024-06-19 08:30:53] DEBUG  : Close connection
0069|[2024-06-19 08:30:53] DEBUG  : Test message: 0C1A00000A475F010100000000
0070|[2024-06-19 08:30:53] DEBUG  : flushOutput serial port
0071|[2024-06-19 08:30:53] ERROR  : Send command to rfxcom error : (5, 'Input/output error')
0072|[2024-06-19 08:31:02] DEBUG  : Received {"apikey":"S5sLNURsxigwp0cmMX4AvtnaH4VJFYnO","cmd":"send","data":["0C1A00007D1CA7010100000000"]} from ('127.0.0.1', 58866)
0073|[2024-06-19 08:31:02] DEBUG  : Close connection
0074|[2024-06-19 08:31:02] DEBUG  : Test message: 0C1A00007D1CA7010100000000
0075|[2024-06-19 08:31:02] DEBUG  : flushOutput serial port
0076|[2024-06-19 08:31:02] ERROR  : Send command to rfxcom error : (5, 'Input/output error')
0077|[2024-06-19 08:31:04] DEBUG  : Received {"apikey":"S5sLNURsxigwp0cmMX4AvtnaH4VJFYnO","cmd":"send","data":["0C1A00000A475F010100000000"]} from ('127.0.0.1', 58880)
0078|[2024-06-19 08:31:04] DEBUG  : Close connection
0079|[2024-06-19 08:31:04] DEBUG  : Test message: 0C1A00000A475F010100000000
0080|[2024-06-19 08:31:04] DEBUG  : flushOutput serial port
0081|[2024-06-19 08:31:04] ERROR  : Send command to rfxcom error : (5, 'Input/output error')

on n’est pas derrière ton écran hein… si tu ne le dis pas on ne peut pas le deviner

sais-tu reproduire le problème?

si oui, il faudrait tester de remplacer la ligne 171 du démon:

asyncio.create_task(self.stop())

par

self._loop.create_task(self.stop())

c’est bien l’objet de ma remarque, que je ne ferai pas si c’était bien le cas :smiley:


non,
mais ya de forte chance que le problème revienne tôt ou tard … (il a repété 2h après restart hier…)
donc je fais la modif que tu proposes et on verra dans la journée ce qu’il se passe.
je te reviens dès que ca crash

Bonjour,

Je peux tester car il vient de replanter lol
Par contre désolé mais où est-ce qu’il faut faire la modif svp ?

Cordialement

La beta demain contiendra ce changement, à tester

:warning: cela ne va pas résoudre le problème du sujet [Errno 5] Input/output error mais uniquement forcer l’arrêt du démon comme cela devrait être le cas lors de cette erreur.

(pas de crash depuis ce matin 11h, donc je peux pas confirmer à date)

Bonjour,
Je rencontre le meme problème depuis la mise à jour. J’ai également mon RTXCom depuis des années et s’est que maintenance que je rencontre ce problème de déconnexion.

Modification faite ce matin vers 11h et depuis pas de plantage n’y d’erreur qui remonte dans les logs

Bonjour,

même problème depuis les dernières maj :

0299|[2024-06-19 18:49:12] ERROR  : Error in read_rfxcom: [Errno 5] Input/output error
0300|[2024-06-19 18:49:12] ERROR  : Exit 1 because this exeption is fatal

Ca le fait plusieurs fois par jour obligé de relancer le daemon qui n’apparait pas en défaut.

Bonne soirée

Je viens d’installer la béta pour voir.

Je vous dit quoi

Je voudrais clarifier autant que possible la situation:

  • la mise à jour précédente n’a rien changé sur cette partie du code donc ca n’est pas lié.
  • la beta qui sera dispo demain, pas aujourd’hui, ne changera rien du tout sur cette erreur, donc elle ne la corrigera pas (pour la simple raison que ce n’est pas une erreur logiciel donc impossible à corriger par code)
    ce qui changera c’est que le démon sera stoppé comme il devrait l’être lorsque cette erreur se produit hors il semble que ce n’est pas le cas dans la version actuelle;

hello
problème très similaire pour moi depuis la dernière mise à jour.
le daemon est bien installé, pas de plantage.
seulement à chaque vois que je lance une commande, le résultat reste le même :

> [2024-06-20 06:20:16] DEBUG  : Received {"apikey":"ANv4PpxSRudjkjOjXTIyaWLh056bxxxxxxx","cmd":"send","data":["0C1A0000040A0A030000000000"]} from ('127.0.0.1', 33826)
> [2024-06-20 06:20:16] DEBUG  : Close connection
> [2024-06-20 06:20:16] DEBUG  : Test message: 0C1A0000040A0A030000000000
> [2024-06-20 06:20:16] DEBUG  : flushOutput serial port
> [2024-06-20 06:20:16] ERROR  : Send command to rfxcom error : (5, 'Input/output error')

ou encore avec une autre commande

> [2024-06-20 06:21:14] DEBUG  : Test message: 547F001C011A1017D9012701E102750348010E01E202730349011001E302730346011001E202740348010F01E20273034A010F0347010F0346011101E302710348011001E1027401E6027001E70270034701120000
> [2024-06-20 06:21:14] DEBUG  : flushOutput serial port
> [2024-06-20 06:21:14] ERROR  : Send command to rfxcom error : (5, 'Input/output error')

Comme pour les autres jeedomeur, j’utilise mon rfxCom depuis de nombreuses années, pas de souci avant l’update.

merci de ton aide
patrice

C’est quoi « la dernière mise à jour »?
Tout le monde écrit ça mais ça n’aide pas.
Il faut donner la version exacte et savoir si c’est stable ou beta