lmdb-js
lmdb-js copied to clipboard
Cannot read properties of undefined (reading 'maxLength')
This issue happens during local development with Deno.
Hot reloading is enabled. When a file is changed, the program stops working until I manually kill and restart the server:
Watcher File change detected! Restarting!
error: Uncaught TypeError: Cannot read properties of undefined (reading 'maxLength')
at file:///home/alex/.cache/deno/npm/registry.npmjs.org/lmdb/2.7.11/read.js:8:20
Watcher Process finished. Restarting on file change...
https://github.com/kriszyp/lmdb-js/blob/master/read.js#L8
How do you do hot reloading in Deno? I suspect that hot reloading is possibly not reloading the NAPI module or getting the reference incorrectly, but not sure how to reproduce.
Use deno run --watch myfile.ts
Simply open a database in this app, add a comment or something and save.
Ok, thank you. I believe this actually appears to be a bug in Deno. lmdb-js uses two the NAPI modules (one for lmdb and one for msgpackr) and it is returning the wrong one after reloading (it is probably caching a single/last NAPI module). We should probably come up with a more isolated test case to submit to Deno. In the meantime you can set this env variable to disable the msgpackr NAPI module MSGPACKR_NATIVE_ACCELERATION_DISABLED=true.