Same issue for almost a year

Anki 26.09.3 (29bb700b) (ao)

Python 3.13.15 Qt 6.11.2 PyQt 6.11.0

Platform: macOS-26.7.1-x86_64-i386-64bit-Mach-O

Traceback (most recent call last):

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 3322, in execute_sql

cursor.execute(sql, params or ())

~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^

sqlite3.DatabaseError: database disk image is malformed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py”, line 152, in raise_exception

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py”, line 148, in _on_closures_pending

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py”, line 88, in

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py”, line 111, in wrapped_done

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/operations/_init_.py”, line 253, in wrapped_done

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py”, line 210, in on_failure

on_done(future_with_exception(exception))

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py”, line 100, in sync_with_ankiweb

future.result()

~~~~~~~~~~~~~^^

File “/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/_base.py”, line 453, in result

return self.__get_result()

~~~~~~~~~~~~~~~~~^^

File “/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/_base.py”, line 402, in __get_result

raise self._exception

File “/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/thread.py”, line 59, in run

result = self.fn(*self.args, **self.kwargs)

File “/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/operations/_init_.py”, line 243, in wrapped_op

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py”, line 199, in

op=lambda _: ah_deck_updater.update_decks_and_media(

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

ah_dids,

^^^^^^^^

raise_if_full_sync_required=raise_if_full_sync_required,

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

start_media_sync=start_media_sync,

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

),

^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py”, line 67, in update_decks_and_media

self._update_decks(ah_dids)

~~~~~~~~~~~~~~~~~~^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py”, line 90, in _update_decks

should_continue = self._update_single_deck(ah_did)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py”, line 104, in _update_single_deck

result = self._fetch_and_apply_deck_updates(ankihub_did)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py”, line 147, in _fetch_and_apply_deck_updates

import_result = self._importer.import_ankihub_deck(

ankihub_did=ankihub_did,

…<12 lines>…

clear_ah_note_types_before_import=True,

)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/main/importing.py”, line 224, in import_ankihub_deck

self._import_notes(

~~~~~~~~~~~~~~~~~~^

notes_data=notes,

^^^^^^^^^^^^^^^^^

…<2 lines>…

suspend_new_cards_of_existing_notes=suspend_new_cards_of_existing_notes,

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

)

^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/main/importing.py”, line 389, in _import_notes

upserted_notes_data, skipped_notes_data = ankihub_db.upsert_notes_data(

~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

ankihub_did=self._ankihub_did, notes_data=notes_data

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

)

^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/db/db.py”, line 127, in upsert_notes_data

skipped_notes = self._determine_notes_to_skip(notes_data, ankihub_did=ankihub_did)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/db/db.py”, line 189, in _determine_notes_to_skip

execute_list_query_in_chunks(

~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

lambda anki_nids: AnkiHubNote.select(AnkiHubNote.anki_note_id)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

…<6 lines>…

anki_nids,

^^^^^^^^^^

)

^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/db/db.py”, line 637, in execute_list_query_in_chunks

return execute_query_in_chunks(

query_func,

…<3 lines>…

chunk_size=chunk_size,

)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/db/db.py”, line 660, in execute_query_in_chunks

result = accumulator(result, result_chunk)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/db/db.py”, line 640, in

accumulator=lambda total, chunk: total + list(chunk),

~~~~^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 7287, in _iter_

self.execute()

~~~~~~~~~~~~^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 2036, in inner

return method(self, database, *args, **kwargs)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 2107, in execute

return self._execute(database)

~~~~~~~~~~~~~^^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 2280, in _execute

cursor = database.execute(self)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 3330, in execute

return self.execute_sql(sql, params)

~~~~~~~~~~~~~~~~^^^^^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 3320, in execute_sql

with _exception_wrapper_:

^^^^^^^^^^^^^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 3088, in _exit_

reraise(new_type, new_type(exc_value, *exc_args), traceback)

~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 196, in reraise

raise value.with_traceback(tb)

File “/Users/kazirahman/Library/Application Support/Anki2/addons21/1322529746/lib/peewee.py”, line 3322, in execute_sql

cursor.execute(sql, params or ())

~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^

peewee.DatabaseError: database disk image is malformed

Hello,

If you go to tools → Check database, does that fix it?