I recently updated rasa from 1.10.15 to 1.10.18, when I tried to run the rasa-x with the same config I am getting “daemonic processes are not allowed to have children” this is related to pika-event-broker.
For 1.10.15 my endponits.yml contained the following
event_broker:
type: "pika"
url: ${RABBITMQ_HOST}
username: ${RABBITMQ_USERNAME}
password: ${RABBITMQ_PASSWORD}
queue: ${RABBITMQ_QUEUE}
I was getting an error related to queue or queues not being supplied so I changed this to
event_broker:
type: "pika"
url: ${RABBITMQ_HOST}
username: ${RABBITMQ_USERNAME}
password: ${RABBITMQ_PASSWORD}
queues:
- ${RABBITMQ_QUEUE}
The error went away but now I am getting a different error, the logs are mentioned below, If I remove the event_broker code from endpoints.yml everything works but that just defeats the purpose of rasa-x.
2020-12-17 08:36:51 DEBUG sanic_jwt.configuration - validating provided secret
2020-12-17 08:36:51 DEBUG sanic_jwt.configuration - validating keys (if needed)
2020-12-17 08:36:51 DEBUG sanic_jwt.configuration - loading secret and/or keys (if needed)
2020-12-17 08:36:51 DEBUG rasa.core.utils - Available web server routes:
/conversations/<conversation_id>/messages POST add_message
/conversations/<conversation_id>/tracker/events POST append_events
/auth POST auth_bp.AuthenticateEndpoint
/auth/me GET auth_bp.RetrieveUserEndpoint
/auth/verify GET auth_bp.VerifyEndpoint
/webhooks/callback GET callback_webhook.health
/webhooks/callback/webhook POST callback_webhook.webhook
/webhooks/rasa GET custom_webhook_RasaChatInput.health
/webhooks/rasa/webhook POST custom_webhook_RasaChatInput.receive
/webhooks/rest GET custom_webhook_RestInput.health
/webhooks/rest/webhook POST custom_webhook_RestInput.receive
/model/test/intents POST evaluate_intents
/model/test/stories POST evaluate_stories
/conversations/<conversation_id>/execute POST execute_action
/domain GET get_domain
/ GET hello
/model PUT load_model
/model/parse POST parse
/conversations/<conversation_id>/predict POST predict
/conversations/<conversation_id>/tracker/events PUT replace_events
/conversations/<conversation_id>/story GET retrieve_story
/conversations/<conversation_id>/tracker GET retrieve_tracker
/status GET status
/model/predict POST tracker_predict
/model/train POST train
/conversations/<conversation_id>/trigger_intent POST trigger_intent
/model DELETE unload_model
/version GET version
2020-12-17 08:36:51 INFO root - Starting Rasa server on http://localhost:5005
2020-12-17 08:36:51 DEBUG rasa.core.utils - Using 3 Sanic workers.
Starting Rasa X in production mode... 🚀
2020-12-17 08:36:51 INFO root - Enabling coroutine debugging. Loop id 94381788292368.
2020-12-17 08:36:51 DEBUG root - Could not load interpreter from 'None'.
2020-12-17 08:36:51 INFO root - Enabling coroutine debugging. Loop id 94381788292368.
2020-12-17 08:36:51 DEBUG root - Could not load interpreter from 'None'.
2020-12-17 08:36:51 INFO root - Enabling coroutine debugging. Loop id 94381788292368.
2020-12-17 08:36:51 DEBUG root - Could not load interpreter from 'None'.
Process Process-1:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 892, in serve
trigger_events(before_start, loop)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 668, in trigger_events
loop.run_until_complete(result)
File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete
File "/opt/venv/lib/python3.7/site-packages/rasa/core/run.py", line 243, in load_agent_on_start
_broker = EventBroker.create(endpoints.event_broker)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 21, in create
return _create_from_endpoint_config(obj)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 58, in _create_from_endpoint_config
broker = PikaEventBroker.from_endpoint_config(endpoint_config)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 651, in from_endpoint_config
return cls(broker_config.url, **broker_config.kwargs)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 623, in __init__
self._connect()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 661, in _connect
self.process = self._start_pika_process()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 671, in _start_pika_process
process.start()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 110, in start
'daemonic processes are not allowed to have children'
AssertionError: daemonic processes are not allowed to have children
/usr/local/lib/python3.7/multiprocessing/process.py:313: RuntimeWarning: coroutine 'Loop.create_server' was never awaited
traceback.print_exc()
Process Process-2:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 892, in serve
trigger_events(before_start, loop)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 668, in trigger_events
loop.run_until_complete(result)
File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete
File "/opt/venv/lib/python3.7/site-packages/rasa/core/run.py", line 243, in load_agent_on_start
_broker = EventBroker.create(endpoints.event_broker)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 21, in create
return _create_from_endpoint_config(obj)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 58, in _create_from_endpoint_config
broker = PikaEventBroker.from_endpoint_config(endpoint_config)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 651, in from_endpoint_config
return cls(broker_config.url, **broker_config.kwargs)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 623, in __init__
self._connect()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 661, in _connect
self.process = self._start_pika_process()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 671, in _start_pika_process
process.start()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 110, in start
'daemonic processes are not allowed to have children'
AssertionError: daemonic processes are not allowed to have children
/usr/local/lib/python3.7/multiprocessing/process.py:313: RuntimeWarning: coroutine 'Loop.create_server' was never awaited
traceback.print_exc()
Process Process-3:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 892, in serve
trigger_events(before_start, loop)
File "/opt/venv/lib/python3.7/site-packages/sanic/server.py", line 668, in trigger_events
loop.run_until_complete(result)
File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete
File "/opt/venv/lib/python3.7/site-packages/rasa/core/run.py", line 243, in load_agent_on_start
_broker = EventBroker.create(endpoints.event_broker)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 21, in create
return _create_from_endpoint_config(obj)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/broker.py", line 58, in _create_from_endpoint_config
broker = PikaEventBroker.from_endpoint_config(endpoint_config)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 651, in from_endpoint_config
return cls(broker_config.url, **broker_config.kwargs)
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 623, in __init__
self._connect()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 661, in _connect
self.process = self._start_pika_process()
File "/opt/venv/lib/python3.7/site-packages/rasa/core/brokers/pika.py", line 671, in _start_pika_process
process.start()
File "/usr/local/lib/python3.7/multiprocessing/process.py", line 110, in start
'daemonic processes are not allowed to have children'
AssertionError: daemonic processes are not allowed to have children
/usr/local/lib/python3.7/multiprocessing/process.py:313: RuntimeWarning: coroutine 'Loop.create_server' was never awaited
traceback.print_exc()
Any idea what’s the issue here, I did find daemonic processes are not allowed to have children · Issue #4525 · celery/celery · GitHub but not sure how am I suppose to use in the above issue.