QuentinCG / jarvis-fb-messenger

[Done] Control Jarvis assistant (http://openjarvis.com/) remotely using Facebook Messenger
MIT License
4 stars 2 forks source link

Arret du serveur fb-messenger #3

Closed gaudinjeremy closed 7 years ago

gaudinjeremy commented 7 years ago

Bonjour,

J'ai remarqué qu'après un certain temps le serveur se stop et il est impossible de communiquer avec Jarvis via messenger alors que Jarvis fonctionne toujours en background.

pour tester j'ai laisser Jarvis tourner toute la nuit et ce matin fb-messenger ne répondais plus.

QuentinCG commented 7 years ago

Bonjour,

Etrange, je n'ai pas ce soucis... Je vais investiguer un peu plus de mon coté pour voir si j'arrive à reproduire le bug...

Pourrais tu me donner les logs qui apparaissent sur la console quand tu lance jarvis en mode keyboard avec les modifs suivantes (en le laissant tourner jusqu'à ce que Facebook plante):

1) Mettre à jour le plugin fb-messenger (j'ai fait des modifs pour améliorer le debuging du plugin et corrigé une erreur lors de l'envoi vers Jarvis de likes/images via FB)

2) Configurer le plugin fb-messenger en mode verbose (var_jv_pg_fb_verbose="True")

gaudinjeremy commented 7 years ago

Je te fais ça ce soir en le laissant tourner toute la nuit.

gaudinjeremy commented 7 years ago

Bon j'ai laisser tourner depuis ce matin en envoyant une commande toute les 30 minutes histoire de voir si le serveur fb-messenger était toujours actif et le bug c'est reproduit.

(J'ai remplacer mon ID facebook par ######)

Voici les logs 👍

DEBUG:requests.packages.urllib3.connectionpool:Resetting dropped connection: www.facebook.com DEBUG:requests.packages.urllib3.connectionpool:https://www.facebook.com:443 "POST /ajax/mercury/delivery_receipts.php HTTP/1.1" 200 5186 DEBUG:requests.packages.urllib3.connectionpool:https://www.facebook.com:443 "POST /ajax/mercury/change_read_status.php HTTP/1.1" 200 5194 DEBUG:root:Received message from 'None' (ID '#########'): 'Getambiance'. DEBUG:root:Sending command '['./jarvis.sh', '-j', '-m', '-v', '-x', 'Getambiance']' to Jarvis. DEBUG:root:Response from Jarvis: '[{'debug': '$> js_ia_sayStrict ambiance 4'}, {'jarvis': 'off '}]'. DEBUG:requests.packages.urllib3.connectionpool:https://www.facebook.com:443 "POST /messaging/send/ HTTP/1.1" 200 5186 Error #1357001 when sending message: Veuillez vous connecter pour continuer. WARNING:client:Error #1357001 when sending message: Veuillez vous connecter pour continuer. DEBUG:requests.packages.urllib3.connectionpool:https://0-channel-proxy-06-ash2.facebook.com:443 "GET /active_ping?seq=90&cap=0&rev=2999583&a=1&partition=-2&user=100016742531249&channel=p_100016742531249&req=8y&viewer_uid=100016742531249&sticky=611&ttstamp=658172108100116105568888837958658171506655456553119105782&clientid=6c0bce01&fb_dtsg=AQHldti8XXSO%3AAQG2B7-A5wiN&uid=100016742531249 HTTP/1.1" 400 0 DEBUG:requests.packages.urllib3.connectionpool:https://0-edge-chat.facebook.com:443 "GET /pull?seq=90&rev=2999583&__a=1&sticky_token=611&user=100016742531249&req=8z&sticky_pool=frc3c09_chat-proxy&ttstamp=658172108100116105568888837958658171506655456553119105782&clientid=6c0bce01&fb_dtsg=AQHldti8XXSO%3AAQG2B7-A5wiN&msgs_recv=0 HTTP/1.1" 400 0 Traceback (most recent call last): File "/home/pi/jarvis/plugins_installed/jarvis-fb-messenger/script/facebook_server.py", line 154, in jarvis_fb_server.listen() File "/usr/local/lib/python3.4/dist-packages/fbchat/client.py", line 868, in listen self.do_one_listen(markAlive) File "/usr/local/lib/python3.4/dist-packages/fbchat/client.py", line 847, in do_one_listen content = self._pullMessage(self.sticky, self.pool) File "/usr/local/lib/python3.4/dist-packages/fbchat/client.py", line 761, in _pullMessage j = get_json(r.text) File "/usr/local/lib/python3.4/dist-packages/fbchat/utils.py", line 18, in get_json return json.loads(re.sub(r"^[^{]*", '', text, 1)) File "/usr/lib/python3.4/json/init__.py", line 318, in loads return _default_decoder.decode(s) File "/usr/lib/python3.4/json/decoder.py", line 343, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode raise ValueError(errmsg("Expecting value", s, err.value)) from None ValueError: Expecting value: line 1 column 1 (char 0)

QuentinCG commented 7 years ago

Je pense avoir résolu le problème grâce à f232df6f mais comme je ne peux pas reproduire le bug, je ne peux pas le garantir.

D'après ce que je vois, il s'agit d'une erreur dans la lib python fbchat que j'utilise... (la lib récupère ton message puis essaye de te répondre mais a perdu la connexion entre temps à cause d'un problème réseau et n'arrive pas à se reconnecter...).

Le fix devrait permettre de ne plus faire planter le serveur fb-messenger mais ne répondra pas aux messages dont il y a eu une erreur de connexion...

J'ai publié une issue sur la lib en question: https://github.com/carpedm20/fbchat/issues/130

gaudinjeremy commented 7 years ago

Nickel, je relance un test cet après-midi pour voir si cela se reproduit, je te tiens au courant suivant le résultat

QuentinCG commented 7 years ago

Parfait, merci bien :)

gaudinjeremy commented 7 years ago

Bonjour,

J'ai lancé les tests cette après midi avec un cron qui envoi demande à Jarvis de m'envoyer un message facebook tous les quart d'heure, et j'ai également envoyer quelques messages, le serveur à bien fonctionné jusqu’à maintenant ou il c'est lancé dans une boucle et il ne me répond plus.

EDIT : Par contre le cron continu de m'envoyer des messages.

Voici les logs de ce qui tourne en boucle

DEBUG:requests.packages.urllib3.connectionpool:https://0-edge-chat.facebook.com:443 "GET /pull?user=100016742531249&sticky_token=611&req=ixk&fb_dtsg=AQF6NgQYlnF8%3AAQE5Ybs_eRnu&rev=3002351&a=1&seq=0&sticky_pool=frc3c09_chat-proxy&msgs_recv=0&ttstamp=6581705478103818910811070565865816953899811595101821101172&clientid=6ea0b1d8 HTTP/1.1" 200 46 DEBUG:requests.packages.urllib3.connectionpool:https://0-channel-proxy-06-ash2.facebook.com:443 "GET /active_ping?cap=0&sticky=611&user=100016742531249&viewer_uid=100016742531249&req=ixl&uid=100016742531249&fb_dtsg=AQF6NgQYlnF8%3AAQE5Ybs_eRnu&partition=-2&rev=3002351&a=1&seq=0&channel=p_100016742531249&ttstamp=6581705478103818910811070565865816953899811595101821101172&clientid=6ea0b1d8 HTTP/1.1" 200 22 DEBUG:requests.packages.urllib3.connectionpool:https://0-edge-chat.facebook.com:443 "GET /pull?__user=100016742531249&sticky_token=611&req=ixm&fb_dtsg=AQF6NgQYlnF8%3AAQE5Ybs_eRnu&rev=3002351&__a=1&seq=0&sticky_pool=frc3c09_chat-proxy&msgs_recv=0&ttstamp=6581705478103818910811070565865816953899811595101821101172&clientid=6ea0b1d8 HTTP/1.1" 200 46

QuentinCG commented 7 years ago

Désolé pour l'attente, je regarderais tout ça la semaine prochaine ;-) (je vais essayer de reproduire le bug en coupant ma connexion internet de temps en temps)