Anki crashes while syncing (Master Thread)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.6.1-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x175fabf40 state=finished raised ConnectionError>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 519, in send

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x152be91c0>: Failed to establish a new connection: [Errno 60] Operation timed out'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/javeria/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x152be91c0>: Failed to establish a new connection: [Errno 60] Operation timed out'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x287a6b90f40 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 610, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x00000287A6B90EE0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\gui\menu.py", line 335, in on_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "C:\Users\Nathan Harrison\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x00000287A6B90EE0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Don’t think I did anything to provoke this.

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.6.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x144a27be0 state=finished raised ConnectionError>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 622, in send

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/login/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x137baf460>: Failed to establish a new connection: [Errno 60] Operation timed out'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/gui/menu.py", line 188, in login
    token = ankihub_client.login(credentials=credentials)

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 281, in login
    response = self._send_request("POST", API.ANKIHUB, "/login/", json=credentials)

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/andrewmathias/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/login/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x137baf460>: Failed to establish a new connection: [Errno 60] Operation timed out'))

Sentry link (for developers)

same. 4 reports in last 10 min. dang!

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.6.1-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x137a984f0 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 610, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x18975a670>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/muradyan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x18975a670>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Whenever I try to sync to log off, I get this error

Error message (don't change this)
Anki 2.1.56 (07fd88dd) Python 3.9.15 Qt 6.3.2 PyQt 6.3.1
Platform: macOS-14.5-arm64-arm-64bit
Flags: frz=True ao=True sv=2
Add-ons, last update check: 2024-09-09 20:36:39

Traceback (most recent call last):

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x33e2db550 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 701, in send

  File "requests.adapters", line 553, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x17cb3d760>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 122, in _on_closures_pending

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/michaelfreddy/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x17cb3d760>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.6.1 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x1946fdde8b0 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001940C458790>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\gui\menu.py", line 335, in on_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "C:\Users\griff\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001940C458790>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

**Before the error happened, I was syncing to make sure both my phone and computer were up to date.

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.6.1 PyQt 6.6.1
Platform: Windows-10-10.0.22621

Traceback (most recent call last):

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x1c0fbe72e80 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001C08516F400>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "C:\Users\Jamie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001C08516F400>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 5.14.2 PyQt 5.14.1
Platform: macOS-14.2-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x147e0ef10 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x147e12100>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/gui/menu.py", line 335, in on_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/kiratosefsky/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x147e12100>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
Syncing per usual on macOS.

stacktrace says timeout error, but I’m obviously online! no VPN etc. macOS Safari.

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: 
HTTPSConnectionPool(host='app.ankihub.net', port=443): 
Max retries exceeded with url: /api/decks/subscriptions/ 
(Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x13031e7f0>, 
'Connection to app.ankihub.net timed out. (connect timeout=20)'))
Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.3-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x130318ac0 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x13031e7f0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/kaylamaclennan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x13031e7f0>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.6.1-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x160e3fd60 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x160e3fe80>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/aamiri/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x160e3fe80>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
Anki keeps crashing when I try to sync with AnkiHub

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.4.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x32d3d5f10 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x356304880>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/gtews/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x356304880>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Hi everyone, the developers have been notified of this issue.

We will notify you when a fix is deployed

Thank you for your patience :slight_smile:

1 Like

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 2.1.65 (aa9a734f) Python 3.9.15 Qt 6.5.0 PyQt 6.5.0
Platform: macOS-13.2.1-arm64-arm-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2024-09-09 22:12:23

Traceback (most recent call last):

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x2b28b6430 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x17c143c10>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 122, in _on_closures_pending

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/seanchang/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x17c143c10>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was trying to sync Anki after finishing my cards for the day. It was working fine a couple hours prior.

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.6.1 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x2170732b310 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 507, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002170732B430>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "C:\Users\Admin\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002170732B430>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.6-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x3066c0c70 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 610, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x15f66f040>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/menu.py", line 335, in on_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x15f66f040>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.6-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x14e261be0 state=finished raised ConnectTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 610, in send

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x14e267850>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "/Users/thomasseiff/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x14e267850>, 'Connection to app.ankihub.net timed out. (connect timeout=20)'))

Sentry link (for developers)

Before the error happened, I was…
Trying to sync Anki but am getting message saying an error with anki-hub has occurred. Clicking sync and app crashes/doesn’t respond

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\Mike\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\Mike\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Mike\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\Mike\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 614, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 502 Bad Gateway

Sentry link (for developers)

Can you all try syncing and see if the issue is resolved?

Hasn’t resolved for me