SEGFAULT in @vscode/sqlite3

yfwxisqw  于 3个月前  发布在  Vscode
关注(0)|答案(7)|浏览(77)

这个问题在所有扩展都被禁用时是否发生?:是

  • VS Code 版本:1.90.2
  • OS 版本:6.9.6-arch1-1

重现步骤:

  1. 在 Linux 系统上运行 VSCode
  2. 使用 KDE 的 "Crashed Processes Viewer"
    回溯:
#0  sqlite3VdbeExec (p=p@entry=0x2c03bc8ca0) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:98848
#1  0x00007ffff5566d24 in sqlite3Step (p=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91222
#2  sqlite3_step (pStmt=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91283
#3  sqlite3_step (pStmt=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91272
#4  0x00007ffff15edec6 in node_sqlite3::Statement::Work_Run(napi_env__*, void*) ()
    at /opt/visual-studio-code/resources/app/node_modules.asar.unpacked/@vscode/sqlite3/build/Release/vscode-sqlite3.node
#5  0x000055555ea7ab20 in ??? ()
#6  0x0000000000000214 in ??? ()
#7  0x0000000000000000 in ??? ()

模块仓库中的问题:microsoft/vscode-node-sqlite3#45

4nkexdtk

4nkexdtk1#

显然,使用code -n强制让VSCode打开一个干净的窗口,然后重新打开我的项目就解决了这个问题。

i2loujxw

i2loujxw2#

我确认在OSS-code 1.90.0上遇到了类似的错误。

flvlnr44

flvlnr443#

Stack trace of thread 3455:
                                                      #0  0x0000000001010101 n/a (n/a + 0x0)
                                                      #1  0x000072533f668d24 sqlite3_step (libsqlite3.so.0 + 0x4bd24)
                                                      #2  0x000072533d69de0b _ZN12node_sqlite39Statement8Work_RunEP10napi_env__Pv (vscode-sqlite3.node + 0x47e0b)
                                                      #3  0x00006214cc1cf3aa n/a (electron + 0x97123aa)
                                                      #4  0x00006214cc1cf281 n/a (electron + 0x9712281)
                                                      #5  0x00006214c41df14e n/a (electron + 0x172214e)
                                                      #6  0x00007253427ccded n/a (libc.so.6 + 0x92ded)
                                                      #7  0x00007253428500dc n/a (libc.so.6 + 0x1160dc)

不允许我上传.zst核心转储。

b0zn9rqh

b0zn9rqh4#

我在这里也看到了类似的堆栈跟踪(Arch Linux最新版本,VS Code 1.91):

#0  0x0000000001010101 in ?? ()
#1  0x000079bb5352edc7 in sqlite3VdbeExec (p=p@entry=0x23b803234ca0) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:98848
#2  0x000079bb53536d24 in sqlite3Step (p=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91222
#3  sqlite3_step (pStmt=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91283
#4  sqlite3_step (pStmt=<optimized out>) at /usr/src/debug/sqlite/sqlite-src-3460000/sqlite3.c:91272
#5  0x000079bb4c3edec6 in node_sqlite3::Statement::Work_Run(napi_env__*, void*) () from /opt/visual-studio-code/resources/app/node_modules.asar.unpacked/@vscode/sqlite3/build/Release/vscode-sqlite3.node
#6  0x00006302a2f3fb20 in ?? ()
#7  0x00000000000002f0 in ?? ()
#8  0x0000000000000000 in ?? ()

它显然与项目状态的恢复有关,因为如上所述,code -n修复了这个问题。如果我能可靠地重现错误,我会进一步报告。

pzfprimi

pzfprimi5#

嗯...所以我可以从头开始可靠地重现这个,但我不能公开分享我正在使用的存储库。@deepak1556 如果有什么方法可以与您分享有关此项目的相关信息,请告诉我。

6qfn3psc

6qfn3psc6#

看到相同的问题。除了核心转储和使用core -n可以解决这个问题外,我没有什么其他可以补充的。

线程215120的堆栈跟踪:


# 0 0x0000000001010101 n/a (n/a + 0x0)

[#1](https://github.com/microsoft/vscode/issues/1)  0x00007973794b2d24 sqlite3_step (libsqlite3.so.0 + 0x4bd24)
[#2](https://github.com/microsoft/vscode/issues/2)  0x0000797376a9de0b _ZN12node_sqlite39Statement8Work_RunEP10napi_env__Pv (vscode-sqlite3.node + 0x47e0b)
[#3](https://github.com/microsoft/vscode/issues/3)  0x000064fd90d15ada n/a (electron + 0x9688ada)
[#4](https://github.com/microsoft/vscode/issues/4)  0x000064fd90d159b1 n/a (electron + 0x96889b1)
[#5](https://github.com/microsoft/vscode/issues/5)  0x000064fd88da93f1 n/a (electron + 0x171c3f1)
[#6](https://github.com/microsoft/vscode/issues/6)  0x000079737c5afded n/a (libc.so.6 + 0x92ded)
[#7](https://github.com/microsoft/vscode/issues/7)  0x000079737c6330dc n/a (libc.so.6 + 0x1160dc)
wtlkbnrh

wtlkbnrh7#

在我机器上有两种不同的崩溃。一种与matthewwardrop之前的评论相符,在启用调试信息后出现,而另一种崩溃则是由于堆栈混乱导致的。

这种崩溃通常发生在使用Remote-SSH时,我的远程机器是OpenCloudOS,拥有相当旧的库(sqlite 3.26.0,建于2018年)。考虑到堆栈混乱以及堆栈中的奇怪0x0000000001010101,可能是版本不匹配和struct布局不同导致了这个问题?

相关问题