archesproject / arches-docs

official repo for Arches documentation
https://arches.readthedocs.io
9 stars 21 forks source link

Describe celery workaround for Apple Silicon (M1) macs #362

Closed jacobtylerwalls closed 1 year ago

jacobtylerwalls commented 1 year ago

describe the issue

Among the number of workarounds that are needed for developers on Apple Silicon macs is one with celery. The vanilla celery incantation gives:

[2023-08-11 07:54:17,321: INFO/MainProcess] Task arches.app.tasks.export_branch_csv[6b30b755-2f38-4e73-ab08-e237b34d9bc3] received
objc[44254]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[44254]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
[2023-08-11 07:54:17,429: ERROR/MainProcess] Process 'ForkPoolWorker-8' pid:44254 exited with 'signal 6 (SIGABRT)'
[2023-08-11 07:54:17,534: ERROR/MainProcess] Task handler raised error: WorkerLostError('Worker exited prematurely: signal 6 (SIGABRT) Job: 0.')
Traceback (most recent call last):
  File "/Users/jwalls/prj/venv39/lib/python3.9/site-packages/billiard/pool.py", line 1265, in mark_as_worker_lost
    raise WorkerLostError(
billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 6 (SIGABRT) Job: 0.

Suggesting to mention a workaround in the docs.

upstream issue

Celery issue: https://github.com/celery/celery/issues/7324

which release does this issue concern?

all

ekansa commented 1 year ago

Hi @jacobtylerwalls this is much appreciated!!