Rasa Initialization and Set up Failure on Shared Hosting

Hi All,

We were trying to install and use RASA (tried both 1.5.1 and 1.7.2)on shared hosting server. While trying to initialize the project using rasa init, we got the error: OpenBLAS blas_thread_init: pthread_create failed for thread 52 of 56: Resource temporarily unavailable OpenBLAS blas_thread_init: pthread_create failed for thread 52 of 56:

Then after a bit of research, we were able to resolve this by doing: export OMP_NUM_THREADS = 1

After setting this variable, at least the init command worked, but the subsequent commands like rasa train or rasa shell is failing with below error:

Processed trackers: 100%|█████| 350/350 [00:02<00:00, 128.00it/s, # actions=311] terminate called after throwing an instance of ‘std::system_error’ what(): Resource temporarily unavailable Aborted

If anyone else has any idea on this issue or faced a similar one before, kindly advise.

Thank You.

Regards, Arunabh

hey @Arunabh09

Looks like there’s something wrong with your system’s resources.

Have you checked this page? There’s a list of recommended configuration. If you have enough resources, and the OS of your server is one of the supported ones, you shouldn’t have any problems.

Hi @degiz

Thank you for the response. I raised a ticket with my hosting provider (below is the response): ——————————————— Hello,

Thank you for waiting.

Initial error showed that the application has been spawning too many unfinished processes. We have limited the number of them to go below 35 and ran the following command after the step 2 before step 3: export OPENBLAS_NUM_THREADS=1

Unfortunately, despite some more output, we cannot know the issue with the current application. It might require some script optimization or some additional settings added into the environment. To our regret, we do not specialize on the debugging and cannot provide more in-depth assistance on the case.

Looking forward to hearing from you. ———————

Is there any optimization we can do to run RASA with processes count of less than 35. Looks like the code is not optimized and is consuming to many resources. Thoughts?

hey @Arunabh09

if you execute rasa init --no-prompt, then there will be only one python process spawned.

OMP_NUM_THREADS=1 ensures that tensorflow (used for training the model) will use only one thread.

Unfortunattelly, It’s not really clear for me where would too many unfinished processes come from.

Hi @degiz,

RASA initialization is still failing (screenshot attached).

Let me know if we can enable any debug mode or need system logs to troubleshoot further.

Getting this set up is a crucial step if we want to integrate RASA for small scale business and retailers where the websites might be hosted in a share environment with limited threads (typically 35).

Also, we might want to revisit the code for train/tensor flow block and check for any memory leaks.

Reference: tensorflow - iterator.get_next() cause terminate called after throwing an instance of 'std::system_error - Stack Overflow

Thanks, Arunabh