# Rasa-x ,pika-event-broker, daemonic processes are not allowed to have children

**URL:** <https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141>\
**Category:** Rasa Open Source\
**Created:** [December 17, 2020, 9:33am UTC](https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141 "2020-12-17T09:33:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![madanmeena](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/madanmeena/32/10596_2.png) [@madanmeena](https://forum.rasa.com/u/madanmeena)\
**Post date:** [December 17, 2020, 9:33am UTC](https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141/1 "2020-12-17T09:33:27Z")

</div>

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](https://github.com/celery/celery/issues/4525) but not sure how am I suppose to use in the above issue.

---

<div class="post-metadata">

**Author:** ![mloubser](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/mloubser/32/13021_2.png) [@mloubser](https://forum.rasa.com/u/mloubser)\
**Post date:** [December 28, 2020, 10:51am UTC](https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141/2 "2020-12-28T10:51:29Z")

</div>

> [@madanmeena](#):
>
> I was getting an error related to queue or queues not being supplied so I changed this to

Was this an error or just a warning? If it was a warning, it should be fine to keep it as you had before

---

<div class="post-metadata">

**Author:** ![madanmeena](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/madanmeena/32/10596_2.png) [@madanmeena](https://forum.rasa.com/u/madanmeena)\
**Post date:** [December 28, 2020, 11:20am UTC](https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141/3 "2020-12-28T11:20:10Z")

</div>

Nope, this was an error, it resulted in the production docker image being recreated again and again when I tried to up rasa-x with these changes, I ended up reverting things.

---

<div class="post-metadata">

**Author:** ![madanmeena](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/madanmeena/32/10596_2.png) [@madanmeena](https://forum.rasa.com/u/madanmeena)\
**Post date:** [February 1, 2021, 8:36am UTC](https://forum.rasa.com/t/rasa-x-pika-event-broker-daemonic-processes-are-not-allowed-to-have-children/38141/4 "2021-02-01T08:36:12Z")

</div>

Since then we have moved to rasa 2.X and have not faced this issue again.
