[BUG] FSRS Desired Retention Simulator (Help Me Decide) Crash

When a deck has the default FSRS parameters, the Help Me Decide simulator gets stuck on processing after hitting simulate, it then gives this error and debug info

Error: 404: Invalid path: _anki/latestProgress
Anki 26.05 (e64c6b1a) (ao)
Python 3.13.13 Qt 6.11.0 PyQt 6.11.0
Platform: Windows-11-10.0.26200-SP0

Traceback (most recent call last):
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\progress.py", line 121, in handler
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\main.py", line 1578, in on_periodic_backup_timer
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\main.py", line 1629, in create_backup_with_progress
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init.py", line 263, in run_in_background
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init_.py", line 281, in _run
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 113, in with_progress
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 71, in run_in_background
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 148, in on_closures_pending
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 88, in 
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init.py", line 259, in wrapped_done
File "concurrent\futures_base.py", line 449, in result
File "concurrent\futures_base.py", line 401, in _get_result
File "concurrent\futures\thread.py", line 59, in run
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init.py", line 243, in wrapped_op
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\deckbrowser.py", line 163, in get_data
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki\scheduler\base.py", line 79, in deck_due_tree
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki_backend_generated.py", line 386, in deck_tree
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki_backend.py", line 162, in _run_command
pyo3_runtime.PanicException: called Result::unwrap() on an Err value: PoisonError { .. }

After updating to 26.05, I keep having problems getting the FSRS Desired Retention Simulator to work for some decks. Whenever I try to simulate, it shows `Error: 404: Invalid path: _anki/latestProgress. The only decks affected are ones for which I have the Ignore cards reviewed before filled (set to 01/05/2026). The following is the debug info:

Anki 26.05 (e64c6b1a)
Python 3.13.13 Qt 6.11.0 PyQt 6.11.0
Platform: Windows-11-10.0.26200-SP0

Traceback (most recent call last):
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 148, in on_closures_pending
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 88, in 
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\taskman.py", line 111, in wrapped_done
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init.py", line 259, in wrapped_done
File "concurrent\futures_base.py", line 449, in result
File "concurrent\futures_base.py", line 401, in _get_result
File "concurrent\futures\thread.py", line 59, in run
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\operations_init.py", line 243, in wrapped_op
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\main.py", line 1596, in backup
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki\collection.py", line 343, in create_backup
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki_backend_generated.py", line 172, in create_backup
File "D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\anki_backend.py", line 162, in _run_command
pyo3_runtime.PanicException: called Result::unwrap() on an Err value: PoisonError { .. }

After running the Simulate button on the FSRS desired retention simulator, it thinks for a bit before crashing with a fatal error, which leads to a segfault.

It gives me the error “Error: 404: Invalid path: _anki/latestProgress”, with the following traceback:

Anki 26.05 (e64c6b1a) (ao)Python 3.13.11 Qt 6.11.0 PyQt 6.11.0Platform: macOS-15.7.3-arm64-arm-64bit-Mach-O

Traceback (most recent call last):File "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/progress.py", line 121, in handlerFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/main.py", line 1578, in on_periodic_backup_timerFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/main.py", line 1629, in _create_backup_with_progressFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/operations/init.py", line 263, in run_in_backgroundFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/operations/init.py", line 281, in _runFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py", line 113, in with_progressFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/taskman.py", line 71, in run_in_backgroundFile "/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_pendingFile "/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/operations/init.py", line 259, in wrapped_doneFile "/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/_base.py", line 449, in resultreturn self.__get_result()~~~~~~~~~~~~~~~~~^^File "/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_resultraise self._exceptionFile "/Applications/Anki.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/concurrent/futures/thread.py", line 59, in runresult = 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_opFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/aqt/deckbrowser.py", line 163, in get_dataFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/anki/scheduler/base.py", line 79, in deck_due_treeFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/anki/_backend_generated.py", line 386, in deck_treeFile "/Users/runner/work/anki/anki/out/installer/build/anki/macos/app/Anki.app/Contents/Resources/app_packages/anki/_backend.py", line 162, in _run_commandpyo3_runtime.PanicException: called Result::unwrap() on an Err value: PoisonError { .. }

This is followed by a SIGSEGV:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Anki [3090]
Path:                  /Applications/Anki.app/Contents/MacOS/Anki
Identifier:            net.ankiweb.anki
Version:               26.5 (1)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2026-07-09 12:19:55.3782 -0400
OS Version:            macOS 15.7.3 (24G419)
Report Version:        12
Anonymous UUID:        6DA7E170-71BD-1CB8-49FB-9A0C14D599B9

Sleep/Wake UUID:       45F88728-0998-4720-908C-F82CC60E21BD

Time Awake Since Boot: 1300000 seconds
Time Since Wake:       1735 seconds

System Integrity Protection: enabled

Crashed Thread:        0  CrBrowserMain  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000010
Exception Codes:       0x0000000000000001, 0x0000000000000010

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [3090]

VM Region Info: 0x10 is not in any region.  Bytes before following region: 4369203184
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      1046cc000-1046d0000    [   16K] r-x/r-x SM=COW  /Applications/Anki.app/Contents/MacOS/Anki

Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0   QtWebEngineCore               	       0x14d9fb500 QWebEnginePage::setVisible(bool) + 20
1   QtWebEngineWidgets.abi3.so    	       0x108f06794 sipQWebEngineView::hideEvent(QHideEvent*) + 148
2   QtWidgets                     	       0x10bc13eb8 QWidget::event(QEvent*) + 132
3   QtWebEngineWidgets.abi3.so    	       0x108f04f3c sipQWebEngineView::event(QEvent*) + 224
4   QtWidgets                     	       0x10bbc51a8 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
5   QtWidgets                     	       0x10bbc6d98 QApplication::notify(QObject*, QEvent*) + 3484
6   QtWidgets.abi3.so             	       0x10cd44038 sipQApplication::notify(QObject*, QEvent*) + 248
7   QtCore                        	       0x1099ada08 QCoreApplication::sendEvent(QObject*, QEvent*) + 172
8   QtWidgets                     	       0x10bc12cd4 QWidgetPrivate::hideChildren(bool) + 1140
9   QtWidgets                     	       0x10bc12c98 QWidgetPrivate::hideChildren(bool) + 1080
10  QtWidgets                     	       0x10bc12758 QWidgetPrivate::hide_helper() + 288
11  QtWidgets                     	       0x10bc137b0 QWidgetPrivate::setVisible(bool) + 984
12  QtWidgets                     	       0x10bc13148 QWidget::setVisible(bool) + 792
13  QtWidgets                     	       0x10bc13cc0 QWidgetPrivate::handleClose(QWidgetPrivate::CloseMode) + 488
14  QtWidgets                     	       0x10bc2cb88 0x10bbb8000 + 478088
15  QtGui                         	       0x10c4b9d88 QWindow::event(QEvent*) + 528
16  QtWidgets                     	       0x10bbc51a8 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
17  QtWidgets                     	       0x10bbc6200 QApplication::notify(QObject*, QEvent*) + 516
18  QtWidgets.abi3.so             	       0x10cd44038 sipQApplication::notify(QObject*, QEvent*) + 248
19  QtCore                        	       0x1099adb34 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) + 176
20  QtGui                         	       0x10c45ce30 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 2444
21  QtGui                         	       0x10c4c8434 0x10c3cc000 + 1033268
22  QtGui                         	       0x10c4b8ff4 QWindow::close() + 132
23  QtWidgets                     	       0x10bc01668 QWidget::~QWidget() + 932
24  QtWidgets.abi3.so             	       0x10cc8e550 sipQMainWindow::~sipQMainWindow() + 64
25  QtCore.abi3.so                	       0x1090a7d6c cleanup_qobject(_sipSimpleWrapper*, void*) + 224
26  sip.cpython-313-darwin.so     	       0x108b5e874 sip_api_visit_wrappers + 100
27  QtCore.abi3.so                	       0x1090a7618 cleanup_on_exit(_object*, _object*) + 16
28  Python                        	       0x10598b094 cfunction_vectorcall_NOARGS + 100
29  Python                        	       0x105b8b7f4 atexit_callfuncs + 128
30  Python                        	       0x105b54bec _Py_Finalize + 180
31  Python                        	       0x105b59338 Py_Exit + 64
32  Python                        	       0x105b5dd44 _PyErr_PrintEx + 76
33  QtCore.abi3.so                	       0x1090a7e00 pyqt6_err_print() + 128
34  QtCore.abi3.so                	       0x1090b0298 PyQtSlotProxy::unislot(void**) + 112
35  QtCore.abi3.so                	       0x1090b01f4 PyQtSlotProxy::qt_metacall(QMetaObject::Call, int, void**) + 68
36  QtCore                        	       0x109a026b8 0x109910000 + 992952
37  QtCore                        	       0x109a15f80 QTimer::timerEvent(QTimerEvent*) + 204
38  QtCore.abi3.so                	       0x108f77660 sipQTimer::timerEvent(QTimerEvent*) + 148
39  QtCore                        	       0x1099f9d54 QObject::event(QEvent*) + 104
40  QtCore.abi3.so                	       0x108f774ac sipQTimer::event(QEvent*) + 220
41  QtWidgets                     	       0x10bbc51a8 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 332
42  QtWidgets                     	       0x10bbc6200 QApplication::notify(QObject*, QEvent*) + 516
43  QtWidgets.abi3.so             	       0x10cd44038 sipQApplication::notify(QObject*, QEvent*) + 248
44  QtCore                        	       0x1099ada08 QCoreApplication::sendEvent(QObject*, QEvent*) + 172
45  QtCore                        	       0x109b5b284 QTimerInfoList::activateTimers() + 1268
46  libqcocoa.dylib               	       0x10e4bf8a8 0x10e4a8000 + 96424
47  CoreFoundation                	       0x19105ea64 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
48  CoreFoundation                	       0x19105e9f8 __CFRunLoopDoSource0 + 172
49  CoreFoundation                	       0x19105e764 __CFRunLoopDoSources0 + 232
50  CoreFoundation                	       0x19105d3b8 __CFRunLoopRun + 840
51  CoreFoundation                	       0x19105c9e8 CFRunLoopRunSpecific + 572
52  HIToolbox                     	       0x19cafd27c RunCurrentEventLoopInMode + 324
53  HIToolbox                     	       0x19cb004e8 ReceiveNextEventCommon + 676
54  HIToolbox                     	       0x19cc8b484 _BlockUntilNextEventMatchingListInModeWithFilter + 76
55  AppKit                        	       0x194f7da34 _DPSNextEvent + 684
56  AppKit                        	       0x19591c940 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
57  libqcocoa.dylib               	       0x10e4c04e0 0x10e4a8000 + 99552
58  QtCore                        	       0x1099b70f8 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 588
59  QtCore                        	       0x1099ad700 QCoreApplication::exec() + 228
60  QtWidgets.abi3.so             	       0x10ce4eb64 meth_QApplication_exec(_object*, _object*) + 96
61  Python                        	       0x10598a384 cfunction_call + 116
62  Python                        	       0x105ab19b8 _PyEval_EvalFrameDefault + 40016
63  Python                        	       0x105aa53a8 PyEval_EvalCode + 132
64  Python                        	       0x105a9f0f0 builtin_exec + 396
65  Python                        	       0x10598afdc cfunction_vectorcall_FASTCALL_KEYWORDS + 88
66  Python                        	       0x105ab1664 _PyEval_EvalFrameDefault + 39164
67  Anki                          	       0x1046cd3d8 main + 2328
68  dyld                          	       0x190bd2b98 start + 6076

That report is truncated, if you need something else from it, let me know.

As an aside, this forum is not good for bug reports. I tried to see if this bug was reported, but I can’t even tell what is a closed bug and what isn’t!

Appears to be the same issue as:

(I previously tried but was not able to reproduce this problem behavior.)

Yes same cause it would seem, so thanks for finding that. I can give more information if you’re having trouble with repro.

My bug was probably actually two bugs, and the second one wasn’t represented here; that the crash lead to a segfault. Maybe not as urgent (or worth opening a second report), since anki has already crashed before it segfaults, but worth noting.