When I activate a loop (30 process of about 500 ms), that simulate a CAN network, I get the following error and my dashboard become inactive (connection lost):
27 Feb 12:38:06 - [info] [exec:40bcec03.751834] error:Error: spawn /bin/sh EMFILE
27 Feb 12:38:06 - [info] [exec:40bcec03.751834] error:Error: spawn /bin/sh EMFILE
27 Feb 12:38:15 - [info] [exec:40bcec03.751834] error:Error: spawn /bin/sh EMFILE
For information, I am subscribing to an MQTT broker.
Previously, I didn't have this behaviour but as I added more flows, the EMFILE error occured.
Research lead me to it being a node.js related issue about having "too many open file".
However when I ran:
lsof -i -n -P | grep node
I only find 4 to 5 process, well bellow the limit 1024
ulimit -a | grep files
open files (-n) 1024
What in my usage of node-red may lead to its issue?
How could I fix the issue?
I don't know what exec node is a tthe origin of the error.
I got the id that is alocated to the node in the log. Yet I don't know how to find which node it refer to.
Have you got a lot of them in subflows?
If you put a debug node in parallel with each one logging something to the console then you may be able to work out out from looking in the log.
I could find the node causing the error. However the node in question work previously, it is the fact that I add more flow/node (all unrelated), which causes an error.
The error seems to be coming from my environment limitation. (an ubuntu VM in virtualBox)
I try the same project on a linux desktop (ubuntu too), and did not encounter any issue.