[原创] 解决IntelliJ idea启动崩溃:error occurred during error reporting (), id 0x6, SIGABRT (0x6) at pc=...

有时候,一个用了好久、一直好用的方法突然失灵,并且还折腾了几天,真的会逼疯人。
前几天我就遇到了这种破事:在Ubuntu开发机上自己升级IntelliJ idea到最新版之后,就无法再启动它。
启动时永远会崩溃,无论是重启系统、删除IntelliJ idea的本地缓存,或者使用回旧版,都无法再启动它(仿佛什么文件被"污染"了,再也回不去了),十分烦人。经过几天各种方法的尝试,终于解决了问题,我的解决办法不具有普适性,但如果你遇到了此类问题,或许可以为你提供一些解决思路。

OS:Ubuntu 20.04.6 LTS
JDK:1.8.0_382
原来安装的IntelliJ idea版本:idea-IC-232.8660.185
从JetBrains官网上下载的新版IntelliJ idea版本:idea-IC-233.14808.21
我当时不是利用IDE里的升级功能来升级的,而是自己下载了新版的压缩包,解压出来一个 idea-IC-233.14808.21 目录,直接进入 bin 目录下执行 idea.sh 来跑的新版。众所周知,这样跑起来之后,新版会自动把旧版里的配置引入进来,只要没有问题,是可以无缝切换到新版不需要重新配置的。
文章来源:https://www.codelast.com/
然而,启动新版的时候挂了,最后看到命令行报错:

[error occurred during error reporting (), id 0x6, SIGABRT (0x6) at pc=0x00007fed3c5cf00b]
Aborted (core dumped)
进不了IDE主界面。同时在/home目录下生成了一个内容超长的错误报告文件 java_error_in_idea_xxx.log
我一开始并没有看这个log文件,而是按网上搜到的方法,分别尝试了:
1、重启系统
2、删除IntelliJ idea的缓存
3、使用回旧版IntelliJ idea
4、仿照这个类似的问题,卸载了snap又重新安装
以上方法都没用。
实在没辙了,只能硬着头皮看崩溃产生的日志文件 java_error_in_idea_xxx.log,没想到一看就发现了端倪。
开头有一段内容是:

# Problematic frame:
# C  [x86_64-linux-gnu-tree-sitter-cpp.so+0x38ec09]  tree_sitter_cpp_external_scanner_deserialize+0x179
虽然我不知道它是什么确切的意思,但是这里写的是"问题帧",说明崩溃和它有关。
文章来源:https://www.codelast.com/
再往下看日志,会看到:

---------------  T H R E A D  ---------------
 
Current thread (0x00007fec7c02b370):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=352672, stack(0x00007feb95ae5000,0x00007feb95be6000)]
 
Stack: [0x00007feb95ae5000,0x00007feb95be6000],  sp=0x00007feb95be0310,  free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [x86_64-linux-gnu-tree-sitter-cpp.so+0x38ec09]  tree_sitter_cpp_external_scanner_deserialize+0x179
C  [x86_64-linux-gnu-tree-sitter.so+0x30b3e]  ts_parser_reset+0x30e
C  [x86_64-linux-gnu-tree-sitter.so+0x2e329]  ts_parser_set_language+0x399
C  [x86_64-linux-gnu-tree-sitter.so+0xb4875]  Java_org_treesitter_TSParser_ts_1parser_1set_1language+0x25
j  org.treesitter.TSParser.ts_parser_set_language(JJ)Z+0
j  org.treesitter.TSParser.setLanguage(Lorg/treesitter/TSLanguage;)Z+10
j  ai.codegeex.plugin.lang.agent.d.a()V+64
j  ai.codegeex.plugin.lang.agent.d.<init>()V+365
j  ai.codegeex.plugin.lang.agent.d.a()Lai/codegeex/plugin/lang/agent/d;+10
j  ai.codegeex.plugin.lang.agent.CodegeexAgentCompletionService.e()V+0
j  ai.codegeex.plugin.lang.agent.CodegeexAgentCompletionService.<init>()V+266
可见,和出问题的"x86_64-linux-gnu-tree-sitter-cpp.so+0x38ec09"有关系的插件,第一个出现的就是"ai.codegeex.plugin",这个对应的就是我安装的CodeGeeX插件。
所以我怀疑,删除这个插件可以解决IntelliJ idea启动崩溃的问题。
在Ubuntu系统上,插件安装在这个目录下:~/.local/share/JetBrains/IdeaIC2023.3
其中,IdeaIC2023.3是IntelliJ idea的版本号,每升级一个版本,~/.local/share/JetBrains 目录下都会生成一个新的目录。
在这个目录下,会看到有一个名为"CodeGeeX"的目录,这个目录就是CodeGeeX插件的安装目录,删除它即可。
然后再次尝试启动IntelliJ idea,发现已经可以正常启动了。
虽然我现在还不知道为什么CodeGeeX插件会引起这个问题,但是如果你像我一样,实在找不到IDE崩溃的原因时,删除可能有问题的插件或许是解决问题的一个办法。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):
wechat qrcode of codelast
以及我的微信视频号:

发表评论