Zum Inhalt springen

Interne Fehler

Interne Fehler signalisieren einen Assertion-Fehler innerhalb von DuckDB. Sie treten in der Regel durch unerwartete Bedingungen oder Fehler in der Programmlogik auf.

Beispielsweise führt das Ausführen von Issue 17002 auf DuckDB v1.2.1 zu einem internen Fehler.

Terminal window
INTERNAL Error:
Attempted to access index 3 within vector of size 3

Das Problem ist in DuckDB v1.2.2 und neueren Versionen behoben.

Nach einem internen Fehler wechselt DuckDB in den „restricted mode“. Jede weitere Operation führt dann zu folgender Fehlermeldung:

Terminal window
FATAL Error:
Failed: database has been invalidated because of a previous fatal error.
The database must be restarted prior to being used again.

Um mit derselben Datenbank weiterzuarbeiten, starten Sie eine neue DuckDB-Sitzung auf derselben Datenbank.

DuckDB wechselt in den „restricted mode“, weil die Datenbank in einem undefinierten Zustand ist. Interne Fehler sind per Definition Bugs, die nie auftreten sollten; der Codepfad wird daher nie getestet.

Wenn Sie auf einen internen Fehler stoßen, erstellen Sie bitte ein möglichst kleines reproduzierbares Beispiel und reichen Sie ein Issue im DuckDB-Issue-Tracker ein.