Skip to content

segfault on promisified calls #1549

Open
@Silur

Description

@Silur

Wrapping sqlite3 calls using node's builtin promisify results in a segfault on node 17.6.0:

const sqlite = require('sqlite3');
const util = require('util');
const db = new sqlite.Database(':memory:');
const db_get = util.promisify(db.get);
const db_run = util.promisify(db.run);


(async () => {
  await db_run('CREATE TABLE IF NOT EXISTS people (id TEXT PRIMARY KEY, name TEXT, age INTEGER');
  await db_get('SELECT COUNT(*) FROM people WHERE id = ?', [1]); // <--- segfault happens here!
})();
Segfault core dump
Mar 06 00:19:07 titania systemd-coredump[26042]: [🡕] Process 26029 (node) of user 1000 dumped core.
                                                 Module /home/silur/.nvm/versions/node/v17.6.0/bin/node with build-id 42d5f221f3acf2c76c7ba36f70817a0a5fd55261
                                                 Module /tmp/mmbot/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node with build-id 7055b5a91a71d5b1aafb465c70bf254fdd9485fb
                                                 Module linux-vdso.so.1 with build-id 351b3072a0555d16594b35d390715fc2f77d54e3
                                                 Module ld-linux-x86-64.so.2 with build-id c09c6f50f6bcec73c64a0b4be77eadb8f7202410
                                                 Module libc.so.6 with build-id 85766e9d8458b16e9c7ce6e07c712c02b8471dbc
                                                 Module libpthread.so.0 with build-id 7fa8b52fae071a370ba4ca32bf9490a30aff31c4
                                                 Module libgcc_s.so.1 with build-id 5d817452a709ca3a213341555ddcf446ecee37fa
                                                 Module libm.so.6 with build-id 596b63a006a4386dcab30912d2b54a7a61827b07
                                                 Module libstdc++.so.6 with build-id 88ad4eff81a00c684abfe0f863e87434123d8943
                                                 Module libdl.so.2 with build-id bb9bd2657bfba9f60bd34d2050cc63a7eb024bc4
                                                 Stack trace of thread 26029:
                                                 #0  0x0000000000ae003a n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6e003a)
                                                 #1  0x00007f4453440228 n/a (/tmp/mmbot/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node + 0x40228)
                                                 #2  0x00007f445344036e n/a (/tmp/mmbot/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node + 0x4036e)
                                                 #3  0x00007f4453443f8f n/a (/tmp/mmbot/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node + 0x43f8f)
                                                 #4  0x00007f4453443236 n/a (/tmp/mmbot/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node + 0x43236)
                                                 #5  0x0000000000ad7cfd n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6d7cfd)
                                                 #6  0x0000000000d7cf2e n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x97cf2e)
                                                 #7  0x0000000000d7d4f7 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x97d4f7)
                                                 #8  0x0000000001632979 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x1232979)
                                                 #9  0x00000000015beff8 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11beff8)
                                                 #10 0x00000000016c7e08 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x12c7e08)
                                                 #11 0x00000000015c1a0e n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11c1a0e)
                                                 #12 0x00000000015c1a0e n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11c1a0e)
                                                 #13 0x000000000167bbd7 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x127bbd7)
                                                 #14 0x00000000015beff8 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11beff8)
                                                 #15 0x00000000016c7e08 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x12c7e08)
                                                 #16 0x00000000015c1a0e n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11c1a0e)
                                                 #17 0x00000000015c1a0e n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11c1a0e)
                                                 #18 0x00000000015f19bf n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11f19bf)
                                                 #19 0x000000000167d578 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x127d578)
                                                 #20 0x00000000015e32f2 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11e32f2)
                                                 #21 0x00000000015bfa03 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x11bfa03)
                                                 #22 0x0000000000e4b7fe n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0xa4b7fe)
                                                 #23 0x0000000000e4c090 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0xa4c090)
                                                 #24 0x0000000000e4c5aa n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0xa4c5aa)
                                                 #25 0x0000000000e7564a n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0xa7564a)
                                                 #26 0x0000000000e75a12 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0xa75a12)
                                                 #27 0x0000000000a649f1 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6649f1)
                                                 #28 0x0000000000a64f71 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x664f71)
                                                 #29 0x0000000000aef402 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6ef402)
                                                 #30 0x0000000000a692d7 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6692d7)
                                                 #31 0x0000000000b70e45 n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x770e45)
                                                 #32 0x0000000000af1cda n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6f1cda)
                                                 #33 0x00007f44623ab310 __libc_start_call_main (libc.so.6 + 0x2d310)
                                                 #34 0x00007f44623ab3c1 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2d3c1)
                                                 #35 0x0000000000a634cc n/a (/home/silur/.nvm/versions/node/v17.6.0/bin/node + 0x6634cc)
                                                 ELF object binary architecture: AMD x86-64

System: Arch linux x86_64, node 17.6.0 (NVM)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions