Sync Bug Sync 01/07

Before the error happened, I was…
Their is something wrong with my anki it was not opening when I tried to open it. The error message that poped up was that their is a add on error but I am not sure what add on or how to figure out what is going on.

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-13.3-arm64-arm-64bit

Traceback (most recent call last):

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

  File "/Users/sunitachand/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/sunitachand/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

  File "/Users/sunitachand/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 615, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

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

Sentry link (for developers)

Hello,

Sorry for the inconvenience. There is a bit of a transient bug with the Ankihub servers, which is preventing some users from syncing.

I don’t have an immediate ETA at the moment, though I’ve gone ahead and informed the developers and they’re aware of it and currently working on a fix. :slight_smile:

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

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1.1-x86_64-i386-64bit

Traceback (most recent call last):

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

  File "/Users/palomachavez/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/palomachavez/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

  File "/Users/palomachavez/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 615, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

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

Sentry link (for developers)

Hello,

Sorry for the inconvenience. There is a bit of a transient bug with the Ankihub servers, which is preventing some users from syncing.

I don’t have an immediate ETA at the moment, though I’ve gone ahead and informed the developers and they’re aware of it and currently working on a fix. :slight_smile:

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

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.5-x86_64-i386-64bit

Traceback (most recent call last):

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

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

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

  File "/Users/benswaby/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 0x145d6dfa0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/benswaby/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/benswaby/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "/Users/benswaby/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/benswaby/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

  File "/Users/benswaby/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

**Before the error happened, I was opening anki and then received this syncing error

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.26100

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x193edf1e730 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\kwadw\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\kwadw\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read 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\kwadw\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\kwadw\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

  File "C:\Users\kwadw\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

(topic deleted by author)

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

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1.1-arm64-arm-64bit

Traceback (most recent call last):

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

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

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

  File "/Users/wilce/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 0x154a841f0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/wilce/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "aqt.taskman", line 88, in <lambda>

  File "aqt.operations", line 253, in wrapped_done

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 54, in on_failure
    raise exception

  File "concurrent.futures.thread", line 58, in run

  File "aqt.operations", line 243, in wrapped_op

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 58, in <lambda>
    op=lambda _: self._update_deck_media_and_download_missing_media(),

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 127, in _update_deck_media_and_download_missing_media
    self._update_deck_media(ankihub_did=ah_did)

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 155, in _update_deck_media
    for chunk in self._client.get_deck_media_updates(

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 863, in get_deck_media_updates
    response = self._send_request(

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

  File "/Users/wilce/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

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

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x1a3f6ff3af0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\Edmund\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "C:\Users\Edmund\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\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 96, in _update_single_deck
    self._update_deck_config(ankihub_did)

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 112, in _update_deck_config
    deck = self._client.get_deck_by_id(ankihub_did)

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 894, in get_deck_by_id
    response = self._send_request(

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

  File "C:\Users\Edmund\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

I went to load anki up and it was incredibly slow with loading. It took 3-5 minutes to simply open up and then when I finally went to click on the deck the error came up. This just started within the week.

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045

Traceback (most recent call last):

  File "aqt.webview", line 53, in cmd

  File "aqt.webview", line 169, in _onCmd

  File "aqt.webview", line 725, in _onBridgeCmd

  File "aqt.overview", line 98, in _linkHandler

  File "aqt.main", line 770, in moveToState

  File "aqt.main", line 791, in _reviewState

  File "aqt.reviewer", line 183, in show

  File "aqt.reviewer", line 203, in refresh_if_needed

  File "C:\Users\miche\AppData\Roaming\Anki2\addons21\864545277\review_controller.py", line 64, in wrapped
    originalResult = originalFunction(self)

  File "aqt.reviewer", line 259, in nextCard

  File "decorator", line 232, in fun

  File "anki.hooks", line 92, in decorator_wrapper

  File "anki.hooks", line 83, in repl

  File "aqt.reviewer", line 343, in _initWeb

  File "aqt.webview", line 568, in stdHtml

  File "_aqt.hooks", line 5481, in __call__

  File "C:\Users\miche\AppData\Roaming\Anki2\addons21\1322529746\gui\reviewer.py", line 385, in _inject_ankihub_features_and_setup_sidebar
    }}

  File "C:\Users\miche\AppData\Roaming\Anki2\addons21\1322529746\gui\web\templates.py", line 33, in get_ankihub_ai_js

  File "jinja2.environment", line 1013, in get_template

  File "jinja2.environment", line 972, in _load_template

  File "jinja2.loaders", line 126, in load

  File "jinja2.loaders", line 207, in get_source

jinja2.exceptions.TemplateNotFound: ankihub_ai.js

Sentry link (for developers)

Error message of AnkiHub add-on popped up while syncing.

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.26100

Traceback (most recent call last):

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

  File "C:\Users\LeeJW\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\LeeJW\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

Sentry link (for developers)

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

Error message (don't change this)
Anki 2.1.61 (0c1eaf4c) Python 3.9.15 Qt 6.3.2 PyQt 6.3.1
Platform: macOS-14.6.1-x86_64-i386-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2025-01-08 09:29:07

Traceback (most recent call last):

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

  File "/Users/mahdifadel/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/mahdifadel/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

  File "/Users/mahdifadel/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 615, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

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

Sentry link (for developers)

Anki 24.11 (87ccd24e) (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.26100

Traceback (most recent call last):

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 256, in _send_request_with_retry
response = self._send_request_with_retry_inner(

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 289, in wrapped_f
return self(f, *args, **kw)

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 379, in call
do = self.iter(retry_state=retry_state)

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 326, in iter
raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x16e54666a00 state=finished raised ReadTimeout>]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 264, 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\camhu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 382, in call
result = fn(*args, **kwargs)

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 277, in _send_request_with_retry_inner
return self.thread_local_session.get().send(

File “requests.sessions”, line 703, in send

File “requests.adapters”, line 713, in send

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host=‘app.ankihub.net’, port=443): Read timed out. (read timeout=20)

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

Traceback (most recent call last):

File “aqt.taskman”, line 144, in _on_closures_pending

File “C:\Users\camhu\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\camhu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py”, line 39, in wrapper
return func(*args, **kwargs)

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py”, line 76, in _sync_with_ankihub_inner
subscribed_decks = client.get_deck_subscriptions()

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

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 238, in _send_request
response = self._send_request_with_retry(

File “C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 266, 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): Read timed out. (read timeout=20)

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.26100

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x16e54666a00 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\camhu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "C:\Users\camhu\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\camhu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

  File "C:\Users\camhu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Hello,
are you making a change at the platform? I keed getting messages that there is an error but I cant find what to do. It doesnt let me keep doing the flashcards, the error announcement keeps appearance.

Error message (don't change this)
Anki 2.1.61 (0c1eaf4c) Python 3.9.15 Qt 6.3.2 PyQt 6.3.1
Platform: macOS-14.7.1-x86_64-i386-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2025-01-07 22:37:46

Traceback (most recent call last):

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

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

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

  File "/Users/denissemarriott/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 0x1305d2dc0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/denissemarriott/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/denissemarriott/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read 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/denissemarriott/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/denissemarriott/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

  File "/Users/denissemarriott/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

**Before the error happened, I was turning on the Anki.
And after a few minutes (during syncing process), an error message just shows up (during the downloading process I guess)

Error message (don't change this)
Anki 24.11 (87ccd24e)  (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/hyunseung/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

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

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

  File "/Users/hyunseung/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 0x15162fca0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/hyunseung/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "aqt.taskman", line 88, in <lambda>

  File "aqt.operations", line 253, in wrapped_done

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 54, in on_failure
    raise exception

  File "concurrent.futures.thread", line 58, in run

  File "aqt.operations", line 243, in wrapped_op

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 58, in <lambda>
    op=lambda _: self._update_deck_media_and_download_missing_media(),

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 127, in _update_deck_media_and_download_missing_media
    self._update_deck_media(ankihub_did=ah_did)

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/gui/media_sync.py", line 155, in _update_deck_media
    for chunk in self._client.get_deck_media_updates(

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 863, in get_deck_media_updates
    response = self._send_request(

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

  File "/Users/hyunseung/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Anki was working fine until the Ankihub updated and for some reason it started to give an error. I deleted ankihub and restarted anki then reinstalled ankihub and restarted anki and the error presisted.

The following is a log of the error:

Anki 24.04.1 (ccd9ca1a) (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045

Traceback (most recent call last):

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 256, in _send_request_with_retry
response = self._send_request_with_retry_inner(

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 289, in wrapped_f
return self(f, *args, **kw)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 379, in call
do = self.iter(retry_state=retry_state)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 326, in iter
raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x13f8b884c70 state=finished raised ReadTimeout>]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 264, 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\ekugu\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity_init_.py”, line 382, in call
result = fn(*args, **kwargs)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 277, in _send_request_with_retry_inner
return self.thread_local_session.get().send(

File “requests.sessions”, line 703, in send

File “requests.adapters”, line 532, in send

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host=‘app.ankihub.net’, port=443): Read timed out. (read 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\ekugu\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\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py”, line 39, in wrapper
return func(*args, **kwargs)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py”, line 119, in _on_sync_done
future.result()

File “concurrent.futures._base”, line 439, in result

File “concurrent.futures._base”, line 391, in __get_result

File “concurrent.futures.thread”, line 58, in run

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py”, line 111, in
task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py”, line 61, in update_decks_and_media
self._update_decks(ah_dids)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py”, line 84, in _update_decks
should_continue = self._update_single_deck(ah_did)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py”, line 98, in _update_single_deck
result = self._fetch_and_apply_deck_updates(ankihub_did)

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py”, line 120, in _fetch_and_apply_deck_updates
deck_updates = self._client.get_deck_updates(

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 736, in get_deck_updates
for chunk in self._get_deck_updates_inner(

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 796, in _get_deck_updates_inner
response = self._send_request(

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 238, in _send_request
response = self._send_request_with_retry(

File “C:\Users\ekugu\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py”, line 266, 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): Read timed out. (read timeout=20)

So as far as I understand I believe there is connection timing out. I tried to sign out and disable the addon then cycled a restart and reenabled the addon and signed in. But the error persisted. I think maybe there is an error in the connection keys which is probably invalidating the connection. But I am only a novice at this stuff so I am just assuming.

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

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x142aecd17c0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\bpool\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "C:\Users\bpool\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\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 96, in _update_single_deck
    self._update_deck_config(ankihub_did)

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\gui\deck_updater.py", line 112, in _update_deck_config
    deck = self._client.get_deck_by_id(ankihub_did)

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 894, in get_deck_by_id
    response = self._send_request(

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

  File "C:\Users\bpool\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
Trying to get the Anking deck onto my laptop by pressing the sync button. It would just say processing and then this error message would come up.

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.2.1-arm64-arm-64bit

Traceback (most recent call last):

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

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

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

  File "/Users/radhapatel/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 0x2c2882310 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/radhapatel/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "/Users/radhapatel/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/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 98, in _update_single_deck
    result = self._fetch_and_apply_deck_updates(ankihub_did)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 134, in _fetch_and_apply_deck_updates
    note_types = fetch_note_types_based_on_notes(notes_data=deck_updates.notes)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/main/note_types.py", line 13, in fetch_note_types_based_on_notes
    result = _fetch_note_types(mids)

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/main/note_types.py", line 19, in _fetch_note_types
    result = {mid: client.get_note_type(mid) for mid in mids}

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/main/note_types.py", line 19, in <dictcomp>
    result = {mid: client.get_note_type(mid) for mid in mids}

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 1041, in get_note_type
    response = self._send_request(

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

  File "/Users/radhapatel/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
Syncing Anki on my desktop

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.5-arm64-arm-64bit

Traceback (most recent call last):

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

  File "/Users/Antalique/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/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 91, in _update_decks
    raise e

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 102, in _update_single_deck
    result = self._fetch_and_apply_deck_extension_updates(ankihub_did)

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 178, in _fetch_and_apply_deck_extension_updates
    deck_extensions := self._client.get_deck_extensions_by_deck_id(ankihub_did)

  File "/Users/Antalique/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 1117, in get_deck_extensions_by_deck_id
    raise AnkiHubHTTPError(response)

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

Sentry link (for developers)

Before the error happened, I was syncing
[Anki 24.11 (87ccd24e) (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1.1-arm64-arm-64bit

Traceback (most recent call last):

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 256, in _send_request_with_retry
response = self._send_request_with_retry_inner(

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/init.py”, line 289, in wrapped_f
return self(f, *args, **kw)

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/init.py”, line 379, in call
do = self.iter(retry_state=retry_state)

File “/Users/salmamahfouz/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 0x12150fe80 state=finished raised ReadTimeout>]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 264, 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/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/init.py”, line 382, in call
result = fn(*args, **kwargs)

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 277, in _send_request_with_retry_inner
return self.thread_local_session.get().send(

File “requests.sessions”, line 703, in send

File “requests.adapters”, line 713, in send

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host=‘app.ankihub.net’, port=443): Read timed out. (read timeout=20)

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

Traceback (most recent call last):

File “aqt.taskman”, line 144, in _on_closures_pending

File “/Users/salmamahfouz/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/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py”, line 39, in wrapper
return func(*args, **kwargs)

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py”, line 76, in _sync_with_ankihub_inner
subscribed_decks = client.get_deck_subscriptions()

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 613, in get_deck_subscriptions
response = self._send_request(“GET”, API.ANKIHUB, “/decks/subscriptions/”)

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 238, in _send_request
response = self._send_request_with_retry(

File “/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py”, line 266, 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): Read timed out. (read timeout=20)
.]

Error message (don't change this)
Anki 24.11 (87ccd24e)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1.1-arm64-arm-64bit

Traceback (most recent call last):

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

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

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

  File "/Users/salmamahfouz/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 0x12ea5abb0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "/Users/salmamahfouz/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/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 98, in _update_single_deck
    result = self._fetch_and_apply_deck_updates(ankihub_did)

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 120, in _fetch_and_apply_deck_updates
    deck_updates = self._client.get_deck_updates(

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 736, in get_deck_updates
    for chunk in self._get_deck_updates_inner(

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 796, in _get_deck_updates_inner
    response = self._send_request(

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

  File "/Users/salmamahfouz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)