Page 1 sur 1

stream socket : plantage sans erreur

Posté : 16 sept. 2020, 09:58
par Invité
Bonjour à tous,
J'ai un script cli qui sert de serveur websocket.
Ce script tourne impeccable a part sur une nouvelle machine que je teste, un raspberry pi 4.

Quand je lance ce script sur ce rpi4, le serveur écoute, via stream_socket_server/stream_select/stream_socket_accept/stream_socket_enable_crypto/fread/fwrite, les nouvelles connexions ssl ou les nouvelles réceptions ssl.
Au bout d'un moment, aléatoire, le script stop de façon sèche et sans message, ni warning :cry: .

J'ai cherché des indices dans mes logs, mais rien.
Pourtant le même script tourne super sur une vm proxmox depuis des jours :roll:

Quelqu'un aurait il une suggestion à me faire ?

Mon script tourne sur :
Ubuntu 18 server (rpi4)
PHP 7.2.24 (cli)

Re: stream socket : plantage sans erreur

Posté : 18 sept. 2020, 08:27
par Reynald
Bon, je me réponds. :D

Mon script a retrouvé sa stabilité, je m'explique :
J’utilise xdebug sous VSC pour développer et tester mon code.
L’utilisation de xdebug impose la modification du fichier php.ini.
Dans les paramètres que je fixe dans mon php.ini, il y a le paramètre xdebug.max_nesting_level. Ce paramètre permet de fixer la taille de la pile des appels. En cas de dépassement une exception est levée.
J'ai désactivé xdebug dans mon php.ini et par la même l'utilité du paramètre xdebug.max_nesting_level et mon script tourne comme une horloge !
Je n'ai pas encore pris le temps de réactiver xdebug en augmentant xdebug.max_nesting_level qui était fixé à 50 mais je suis quasiment certain que le problème vient de la.
Je me pose tout de même une question, pourquoi je n'ai aucune trace d'exception de xdebug concernant un dépassement de pile ??? :?: