authentik icon indicating copy to clipboard operation
authentik copied to clipboard

LDAP sync issues

Open xTITUSMAXIMUSX opened this issue 7 months ago • 10 comments

Describe the bug After upgrading to the latest 2025.6.0 I now cannot sync from LDAP. Nothing had changed other than the upgrade itself.

To Reproduce Steps to reproduce the behavior:

  1. Upgraded 2025.4.2 to 2025.6.0
  2. Test a sync

Expected behavior Sync LDAP users.

Screenshots If applicable, add screenshots to help explain your problem.

Logs

Stacktrace from authentik
Traceback (most recent call last):
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py", line 453, in trace_task
    R = retval = fun(*args, **kwargs)
                 ~~~^^^^^^^^^^^^^^^^^
  File "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py", line 1811, in runner
    return sentry_patched_function(*args, **kwargs)
  File "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py", line 415, in _inner
    reraise(*exc_info)
    ~~~~~~~^^^^^^^^^^^
  File "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py", line 1746, in reraise
    raise value
  File "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py", line 410, in _inner
    return f(*args, **kwargs)
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py", line 736, in __protected_call__
    return self.run(*args, **kwargs)
           ~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/authentik/sources/ldap/tasks.py", line 104, in ldap_sync_single
    task()
    ~~~~^^
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", line 955, in __call__
    return self.apply_async(args, kwargs)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", line 1042, in apply_async
    return self.run(args, kwargs, app=app, **(
           ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        dict(self.options, **options) if options else self.options))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", line 1067, in run
    tasks, results_from_prepare = self.prepare_steps(
                                  ~~~~~~~~~~~~~~~~~~^
        args, kwargs, self.tasks, root_id, parent_id, link_error, app,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        task_id, group_id, chord, group_index=group_index,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", line 1274, in prepare_steps
    while node.parent:
          ^^^^^^^^^^^
builtins.AttributeError: 'NoneType' object has no attribute 'parent'

Version and Deployment (please complete the following information):

  • authentik version: 2025.6.0
  • Deployment: docker-compose

Additional context Add any other context about the problem here.

xTITUSMAXIMUSX avatar Jun 05 '25 15:06 xTITUSMAXIMUSX

Can you please share the settings for your LDAPSource (apart from connection settings)?

gergosimonyi avatar Jun 05 '25 16:06 gergosimonyi

Image

Image

Image

Image

xTITUSMAXIMUSX avatar Jun 05 '25 16:06 xTITUSMAXIMUSX

Hi, we are unable to reproduce this stacktrace. Do you have any other error that could cause this one maybe?

rissson avatar Jun 06 '25 11:06 rissson

+1

Merded avatar Jun 06 '25 16:06 Merded

Unfortunately the only messages I get from the logs are from the "General system exception". If you need me to look somewhere else or try something, please let me know.

I tried to upgrade to 2025.6.1 and it is having the same issue.

EDIT: One thing to mention is we have static users that we created too. So we have synced users from LDAP and "one-off" users created also.

xTITUSMAXIMUSX avatar Jun 09 '25 13:06 xTITUSMAXIMUSX

Yeah, if you could look in the worker logs, where the sync happens, and give us the full stacktrace.

rissson avatar Jun 10 '25 12:06 rissson

Hopefully this will help. Let me know if you need anything else.


{"action": "system_exception", "client_ip": null, "context": {"message": "Traceback (most recent call last):\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py\", line 453, in trace_task\n    R = retval = fun(*args, **kwargs)\n                 ~~~^^^^^^^^^^^^^^^^^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py\", line 1811, in runner\n    return sentry_patched_function(*args, **kwargs)\n  File \"/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py\", line 415, in _inner\n    reraise(*exc_info)\n    ~~~~~~~^^^^^^^^^^^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py\", line 1746, in reraise\n    raise value\n  File \"/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py\", line 410, in _inner\n    return f(*args, **kwargs)\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py\", line 736, in __protected_call__\n    return self.run(*args, **kwargs)\n           ~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/authentik/sources/ldap/tasks.py\", line 104, in ldap_sync_single\n    task()\n    ~~~~^^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py\", line 955, in __call__\n    return self.apply_async(args, kwargs)\n           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py\", line 1042, in apply_async\n    return self.run(args, kwargs, app=app, **(\n           ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        dict(self.options, **options) if options else self.options))\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py\", line 1067, in run\n    tasks, results_from_prepare = self.prepare_steps(\n                                  ~~~~~~~~~~~~~~~~~~^\n        args, kwargs, self.tasks, root_id, parent_id, link_error, app,\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        task_id, group_id, chord, group_index=group_index,\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    )\n    ^\n  File \"/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py\", line 1274, in prepare_steps\n    while node.parent:\n          ^^^^^^^^^^^\nbuiltins.AttributeError: 'NoneType' object has no attribute 'parent'", "task_id": "27473942-271f-4ff0-b38c-22c0b82f4188"}, "domain_url": null, "event": "Created Event", "level": "info", "logger": "authentik.events.models", "pid": 47169, "schema_name": "public", "timestamp": "2025-06-10T14:46:00.998416", "user": {}}
{"domain_url": null, "event": "Task published", "level": "info", "logger": "authentik.root.celery", "pid": 47169, "schema_name": "public", "task_id": "70c8aca0ea134e708751cb6a83610690", "task_name": "authentik.events.tasks.event_notification_handler", "timestamp": "2025-06-10T14:46:01.004513"}
{"event": "Task authentik.sources.ldap.tasks.ldap_sync_single[27473942-271f-4ff0-b38c-22c0b82f4188] raised unexpected: AttributeError(\"'NoneType' object has no attribute 'parent'\")", "exception": [{"exc_notes": [], "exc_type": "AttributeError", "exc_value": "'NoneType' object has no attribute 'parent'", "frames": [{"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py", "lineno": 453, "locals": {"I": "None", "IGNORE_STATES": "frozenset({'RETRY', 'REJECTED', 'IGNORED'})", "Info": "<class 'celery.app.trace.TraceInfo'>", "R": "None", "Rstr": "None", "T": "None", "_does_info": "False", "app": "<CeleryApp authentik at 0x7fdd1d1e4830>", "args": "['863c6116-4594-433b-9095-acc9904c24d5']", "deduplicate_successful_tasks": "False", "eager": "False", "exc": "AttributeError(\"'NoneType' object has no attribute 'parent'\")", "fun": "'<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1e'+5", "hostname": "'celery@315ce281df0c'", "inherit_parent_priority": "False", "kwargs": "{}", "loader_cleanup": "'<bound method BaseLoader.on_process_cleanup of <celery.loaders.app.AppLoader obj'+23", "loader_task_init": "'<bound method BaseLoader.on_task_init of <celery.loaders.app.AppLoader object at'+17", "monotonic": "<built-in function monotonic>", "name": "'authentik.sources.ldap.tasks.ldap_sync_single'", "on_error": "<function build_tracer.<locals>.on_error at 0x7fdd14401e40>", "pid": "47169", "pop_request": "'<bound method _LocalStack.pop of <celery.utils.threads._LocalStack object at 0x7'+13", "pop_task": "'<bound method _LocalStack.pop of <celery.utils.threads._LocalStack object at 0x7'+13", "postrun_receivers": "\"[(('tenant_schemas_restore_schema', 140587801939408), <weakref at 0x7fdd1d20dfd0\"+303", "prerun_receivers": "\"[(('tenant_schemas_switch_schema', 140587801939408), <weakref at 0x7fdd1d20de90;\"+300", "publish_result": "True", "push_request": "'<bound method _LocalStack.push of <celery.utils.threads._LocalStack object at 0x'+14", "push_task": "'<bound method _LocalStack.push of <celery.utils.threads._LocalStack object at 0x'+14", "redelivered": "False", "request": "\"{'lang': 'py', 'task': 'authentik.sources.ldap.tasks.ldap_sync_single', 'id': '2\"+2027", "resultrepr_maxsize": "1024", "retval": "None", "root_id": "'2c3ddb7e-dc84-4f07-a684-72ae9d099d94'", "signature": "<function maybe_signature at 0x7fdd1e5182c0>", "state": "None", "success_receivers": "[]", "task": "'<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1e'+5", "task_after_return": "None", "task_before_start": "None", "task_on_success": "None", "task_priority": "None", "task_request": "\"<Context: {'lang': 'py', 'task': 'authentik.sources.ldap.tasks.ldap_sync_single'\"+2149", "time_start": "430954.447610802", "trace_ok_t": "<class 'celery.app.trace.trace_ok_t'>", "track_started": "False", "uuid": "'27473942-271f-4ff0-b38c-22c0b82f4188'"}, "name": "trace_task"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py", "lineno": 1811, "locals": {"args": "'(<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1'+47", "integration": "<class 'sentry_sdk.integrations.celery.CeleryIntegration'>", "kwargs": "{}", "original_function": "'<function _install_stack_protection.<locals>.__protected_call__ at 0x7fdd13709e4'+2", "sentry_patched_function": "<function _wrap_task_call.<locals>._inner at 0x7fdd14401620>"}, "name": "runner"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py", "lineno": 415, "locals": {"args": "'(<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1'+47", "exc_info": "'(<class \\'AttributeError\\'>, AttributeError(\"\\'NoneType\\' object has no attribute \\'p'+47", "f": "'<function _install_stack_protection.<locals>.__protected_call__ at 0x7fdd13709e4'+2", "kwargs": "{}", "latency": "0.2467482089996338", "span": "\"<Span(op='queue.process', description:'authentik.sources.ldap.tasks.ldap_sync_si\"+158", "task": "'<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1e'+5"}, "name": "_inner"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/utils.py", "lineno": 1746, "locals": {"tb": "<traceback object at 0x7fdd11463080>", "tp": "<class 'AttributeError'>", "value": "AttributeError(\"'NoneType' object has no attribute 'parent'\")"}, "name": "reraise"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/sentry_sdk/integrations/celery/__init__.py", "lineno": 410, "locals": {"args": "'(<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1'+47", "exc_info": "'(<class \\'AttributeError\\'>, AttributeError(\"\\'NoneType\\' object has no attribute \\'p'+47", "f": "'<function _install_stack_protection.<locals>.__protected_call__ at 0x7fdd13709e4'+2", "kwargs": "{}", "latency": "0.2467482089996338", "span": "\"<Span(op='queue.process', description:'authentik.sources.ldap.tasks.ldap_sync_si\"+158", "task": "'<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1e'+5"}, "name": "_inner"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/app/trace.py", "lineno": 736, "locals": {"args": "('863c6116-4594-433b-9095-acc9904c24d5',)", "kwargs": "{}", "orig": "<function Task.__call__ at 0x7fdd1e51a5c0>", "req": "\"<Context: {'lang': 'py', 'task': 'authentik.sources.ldap.tasks.ldap_sync_single'\"+2149", "self": "'<@task: authentik.sources.ldap.tasks.ldap_sync_single of authentik at 0x7fdd1d1e'+5", "stack": "<celery.utils.threads._LocalStack object at 0x7fdd14ab6510>"}, "name": "__protected_call__"}, {"filename": "/authentik/sources/ldap/tasks.py", "lineno": 104, "locals": {"lock_acquired": "True", "source": "<LDAPSource: ltd>", "source_pk": "'863c6116-4594-433b-9095-acc9904c24d5'", "task": "\"<chord without body: [authentik.sources.ldap.tasks.ldap_sync('863c6116-4594-433b\"+1225"}, "name": "ldap_sync_single"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", "lineno": 955, "locals": {"args": "()", "kwargs": "{}", "self": "\"<chord without body: [authentik.sources.ldap.tasks.ldap_sync('863c6116-4594-433b\"+1225"}, "name": "__call__"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", "lineno": 1042, "locals": {"app": "<CeleryApp authentik at 0x7fdd1d1e4830>", "args": "()", "kwargs": "[]", "options": "{}", "self": "\"<chord without body: [authentik.sources.ldap.tasks.ldap_sync('863c6116-4594-433b\"+1225"}, "name": "apply_async"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", "lineno": 1067, "locals": {"app": "<CeleryApp authentik at 0x7fdd1d1e4830>", "args": "()", "chord": "None", "group_id": "None", "group_index": "None", "kwargs": "[]", "link": "None", "link_error": "None", "options": "{}", "parent_id": "None", "producer": "None", "publisher": "None", "root_id": "None", "self": "\"<chord without body: [authentik.sources.ldap.tasks.ldap_sync('863c6116-4594-433b\"+1225", "task_id": "None", "use_link": "None"}, "name": "run"}, {"filename": "/ak-root/.venv/lib/python3.13/site-packages/celery/canvas.py", "lineno": 1274, "locals": {"app": "<CeleryApp authentik at 0x7fdd1d1e4830>", "args": "()", "chord_body": "None", "clone": "True", "from_dict": "<bound method Signature.from_dict of <class 'celery.canvas.Signature'>>", "group_id": "None", "group_index": "None", "i": "2", "is_first_task": "True", "is_last_task": "False", "kwargs": "[]", "last_task_id": "None", "link_error": "None", "node": "None", "parent_id": "None", "prev_res": "None", "prev_task": "\"<chord without body: group([authentik.sources.ldap.tasks.ldap_sync('863c6116-459\"+1070", "res": "None", "results": "[<GroupResult: 81aa19e5-afbf-4bcb-8d5b-12ecf76fbd88 []>, None]", "root_id": "None", "self": "\"<chord without body: [authentik.sources.ldap.tasks.ldap_sync('863c6116-4594-433b\"+1225", "steps": "deque([])", "steps_extend": "<built-in method extend of collections.deque object at 0x7fdd134d95d0>", "steps_pop": "<built-in method pop of collections.deque object at 0x7fdd134d95d0>", "task": "\"<chord without body: group([authentik.sources.ldap.tasks.ldap_sync('863c6116-459\"+1070", "tasks": "'[group(<empty>), <chord without body: group([authentik.sources.ldap.tasks.ldap_s'+1088", "use_link": "None"}, "name": "prepare_steps"}], "is_cause": false, "syntax_error": null}], "level": "error", "logger": "celery.app.trace", "timestamp": 1749566761.005195}
{"domain_url": null, "event": "Task finished", "level": "info", "logger": "authentik.root.celery", "pid": 47169, "schema_name": "public", "state": "FAILURE", "task_id": "27473942271f4ff0b38c22c0b82f4188", "task_name": "ldap_sync_single", "timestamp": "2025-06-10T14:46:01.006483"}

xTITUSMAXIMUSX avatar Jun 10 '25 15:06 xTITUSMAXIMUSX

+1, I am experiencing the same issue since upgrading to 2025.6.0

tblnd avatar Jun 13 '25 00:06 tblnd

I'm not sure if my problem is connected to this. I installed 2025.6.1 completely new and I'm using authentiks own created outpost for LDAP. If I'm asking LDAP-container to show all users it only has ldapservice, but not my other users. It doesn't care if I create a new user

Norrodar avatar Jun 14 '25 16:06 Norrodar

I just fixed it - needed to add ldapservice user to the authentik users group

Norrodar avatar Jun 15 '25 14:06 Norrodar

I updated to the latest 2025.6.2 and I am having the same issue. If there is anything else you need from me, please let me know.

xTITUSMAXIMUSX avatar Jun 16 '25 22:06 xTITUSMAXIMUSX

Please try the image from this PR. If you're using docker compose, you can do this by adding the following to your .env:

AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-sources-ldap-debug-github-issue-14925-1750256032-cd98797

This should log exactly 9 warning-level messages with "event": "debug github issue 14925" whenever you start an LDAP sync. These logs describe the structure of LDAP sync subtasks but shouldn't hold any sensitive information. Can you please copy them here?

gergosimonyi avatar Jun 18 '25 14:06 gergosimonyi

{"domain_url": null, "event": "debug github issue 14925", "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "signatures": [], "subtype": "Group sync", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.649913", "type": "Created LDAP sync subtasks"}
{"domain_url": null, "event": "debug github issue 14925", "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "signatures": [], "subtype": "Membership sync", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.701480", "type": "Created LDAP sync subtasks"}
{"domain_url": null, "event": "debug github issue 14925", "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "signatures": [], "subtype": "User deletion", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.746687", "type": "Created LDAP sync subtasks"}
{"domain_url": null, "event": "debug github issue 14925", "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "signatures": [], "subtype": "Group deletion", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.794423", "type": "Created LDAP sync subtasks"}
{"domain_url": null, "event": "debug github issue 14925", "group": {"args": [], "immutable": false, "kwargs": {"tasks": [{"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/0312de58-4ed6-4ee2-b618-0e24f354aea6"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/2ede47b9-9c49-4b5c-ba16-620c62c434dc"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/f304a2d7-c423-4cc0-91a3-56524dd0c7ed"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/70f8ad73-90c7-4623-8f2d-cdafd0031e78"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/6fe46940-9b0a-4bb8-86c7-486b6ab596aa"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/a1facbe5-8f1e-4638-86b8-690312e00b94"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}]}, "options": {}, "subtask_type": "group", "task": "celery.group"}, "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "subtype": "User and Group sync", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.794975", "type": "Created LDAP sync subtask group"}
{"domain_url": null, "event": "debug github issue 14925", "group": {"args": [], "immutable": false, "kwargs": {"tasks": []}, "options": {}, "subtask_type": "group", "task": "celery.group"}, "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "subtype": "Membership sync", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.795615", "type": "Created LDAP sync subtask group"}
{"domain_url": null, "event": "debug github issue 14925", "group": {"args": [], "immutable": false, "kwargs": {"tasks": []}, "options": {}, "subtask_type": "group", "task": "celery.group"}, "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "subtype": "User and Group deletion", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.796088", "type": "Created LDAP sync subtask group"}
{"chain": {"args": [], "immutable": false, "kwargs": {"tasks": [{"args": [], "immutable": false, "kwargs": {"body": {"args": [], "immutable": false, "kwargs": {"tasks": []}, "options": {}, "subtask_type": "group", "task": "celery.group"}, "header": [{"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/0312de58-4ed6-4ee2-b618-0e24f354aea6"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/2ede47b9-9c49-4b5c-ba16-620c62c434dc"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/f304a2d7-c423-4cc0-91a3-56524dd0c7ed"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/70f8ad73-90c7-4623-8f2d-cdafd0031e78"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/6fe46940-9b0a-4bb8-86c7-486b6ab596aa"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}, {"args": ["863c6116-4594-433b-9095-acc9904c24d5", "authentik.sources.ldap.sync.users.UserLDAPSynchronizer", "goauthentik.io/sources/ldap/page/a1facbe5-8f1e-4638-86b8-690312e00b94"], "immutable": true, "kwargs": {}, "options": {}, "subtask_type": null, "task": "authentik.sources.ldap.tasks.ldap_sync"}], "kwargs": {}}, "options": {}, "subtask_type": "chord", "task": "celery.chord"}, {"args": [], "immutable": false, "kwargs": {"tasks": []}, "options": {}, "subtask_type": "group", "task": "celery.group"}]}, "options": {}, "subtask_type": "chain", "task": "celery.chain"}, "domain_url": null, "event": "debug github issue 14925", "level": "warning", "logger": "authentik.sources.ldap.tasks", "pid": 70, "schema_name": "public", "task_id": "task-ba210d6e379a42d88608aaa9e600ada6", "timestamp": "2025-06-18T15:02:20.796612", "type": "Created LDAP sync chain"}

xTITUSMAXIMUSX avatar Jun 18 '25 15:06 xTITUSMAXIMUSX

Thank you! I was able to reproduce the issue with these logs. Now to understand and fix it...

gergosimonyi avatar Jun 18 '25 15:06 gergosimonyi

Okay, this seems to be a convoluted bug in celery. Workaround that solves the issue for me: #15140 -- to use it with docker compose, add the following to .env:

AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-sources-ldap-fix-sync-1750298533-29b0fc9

Let me know if it works for you.

gergosimonyi avatar Jun 19 '25 02:06 gergosimonyi

That image did the trick, I am seeing it sync up now!

Image

xTITUSMAXIMUSX avatar Jun 19 '25 14:06 xTITUSMAXIMUSX

Nice! We'll include this patch or something very similar in 2025.6.3 (and main soon). Thank you for helping me on this :)

gergosimonyi avatar Jun 19 '25 15:06 gergosimonyi

You're welcome!

xTITUSMAXIMUSX avatar Jun 19 '25 15:06 xTITUSMAXIMUSX