genie-toolkit icon indicating copy to clipboard operation
genie-toolkit copied to clipboard

Parallel augmentation is incompatible with sqlite

Open gcampax opened this issue 2 years ago • 1 comments

SQLite doesn't like being called from workers, apparently. It dies with an error of the form:

FATAL ERROR: Error::ThrowAsJavaScriptException napi_throw
 1: 0xa24ed0 node::Abort() [node]
 2: 0x966115 node::FatalError(char const*, char const*) [node]
 3: 0x96611e  [node]
 4: 0x9f764b napi_fatal_error [node]
 5: 0x7fe3a802c92d  [/var/home/gcampagn/Projects/thingpedia-common-devices/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node]
 6: 0x7fe3a802dd63 Napi::Error::ThrowAsJavaScriptException() const [/var/home/gcampagn/Projects/thingpedia-common-devices/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node]
 7: 0x7fe3a8043ec6 node_sqlite3::Statement::Statement(Napi::CallbackInfo const&) [/var/home/gcampagn/Projects/thingpedia-common-devices/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node]
 8: 0x7fe3a8051ed3 Napi::ObjectWrap<node_sqlite3::Statement>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*)::{lambda()#1}::operator()() const [/var/home/gcampagn/Projects/thingpedia-common-devices/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node]
 9: 0x7fe3a8051236 Napi::ObjectWrap<node_sqlite3::Statement>::ConstructorCallbackWrapper(napi_env__*, napi_callback_info__*) [/var/home/gcampagn/Projects/thingpedia-common-devices/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node]
10: 0x9da63f  [node]
11: 0xc07ac5  [node]
12: 0xc080cf  [node]
13: 0xc086f6 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
14: 0x1427159  [node]

This means that parallel augmentation does not work, and using SQLite doesn't actually fix #778

gcampax avatar Dec 06 '21 05:12 gcampax

Underlying issue: https://github.com/mapbox/node-sqlite3/issues/1381

gcampax avatar Dec 06 '21 05:12 gcampax