oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
74.27k stars 2.77k forks source link

Running Sequelize on Bun using sqlite3 produces undefined symbol: uv_close error #9403

Closed jerrywoo96 closed 8 months ago

jerrywoo96 commented 8 months ago

What version of Bun is running?

v1.0.30

What platform is your computer?

Linux 4.4.302+ x86_64 unknown

What steps can reproduce the bug?

// npm -i sequelize

import { DataTypes, Op, Sequelize, col, fn, where } from 'sequelize';

export const SessionDb = new Sequelize({ logging: false, dialect: 'sqlite', storage: dbList.Session });

What is the expected behavior?

Code continues running with no errors.

What do you see instead?

TypeError: /nodejs/app/node_modules/sqlite3/build/Release/node_sqlite3.node: undefined symbol: uv_close at bindings (/nodejs/app/node_modules/bindings/bindings.js:112:48) at /nodejs/app/node_modules/sqlite3/lib/sqlite3-binding.js:1:8 at /nodejs/app/node_modules/sqlite3/lib/sqlite3.js:2:7 at _loadDialectModule (/nodejs/app/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:49:14) at new ConnectionManager (/nodejs/app/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:18:16) at new SqliteDialect (/nodejs/app/node_modules/sequelize/lib/dialects/sqlite/index.js:13:30) at new Sequelize (/nodejs/app/node_modules/sequelize/lib/sequelize.js:194:20) at /nodejs/app/utils/db.js:8:26

Additional information

uv_close belongs to the libuv library.

I'm using the oven/bun:alpine docker image.

Running the code above in Node.js works as expected, but running on bun produces the error above instead.

I decided to try out bun to replace node.js for my express app as bun has more performance than node.js.

here is the issue tracker on sqlite3's repo: https://github.com/TryGhost/node-sqlite3/issues/1769

Electroid commented 8 months ago

Duplicate of #4290