Eclipse 在 MacOS 上意外退出

Posted

技术标签:

【中文标题】Eclipse 在 MacOS 上意外退出【英文标题】:Eclipse quit Unexpectedly on MacOS 【发布时间】:2022-01-12 16:03:02 【问题描述】:

我昨天刚刚在 Mac OS Catalina 版本 10.15.7 上安装了面向企业 Java 和 Web 开发人员的 Eclipse IDE。我将 Eclipse.app 从 Downloads 文件夹拖到 Application 文件夹。它工作得很好。我创建了几个 servlet。但是今天点击应用打开,却收到问题报告(Error),所以打不开。

错误详情是..

自启动以来的唤醒时间:3300 秒

系统完整性保护:启用

崩溃的线程:0

异常类型:EXC_CRASH(代码签名无效)异常 代码:0x0000000000000000, 0x0000000000000000 异常说明: EXC_CORPSE_NOTIFY

终止原因:命名空间 CODESIGNING,代码 0x1

内核消息:

靠近 0 的 VM 区域 (cr2):

__TEXT                 000000000c447000-000000000c44b000 [   16K] r-x/r-x SM=COW  

线程 0 崩溃:0 ??? 0x0000000015674000 _dyld_start + 0

线程 0 因 X86 线程状态(64 位)而崩溃:rax: 0x0000000000000000 rbx:0x0000000000000000 rcx:0x0000000000000000 rdx: 0x0000000000000000 rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp:0x0000000000000000 rsp:0x00007ffee37bcc60 r8:0x0000000000000000 r9:0x0000000000000000 r10: 0x0000000000000000 r11:0x0000000000000000 r12:0x0000000000000000 r13:0x0000000000000000 r14:0x0000000000000000 r15: 0x0000000000000000 撕裂:0x0000000015674000 rfl:0x0000000000000200 cr2: 0x0000000000000000 逻辑 CPU: 0 错误代码: 0x00000000 陷阱号:0


事实上,我已经用谷歌搜索了这个问题,但对其他人有用的解决方案对我却不起作用。例如,我尝试了以下解决方案:

将 Eclipse.app 从 Application 文件夹中移出 eclipse -clean 我双击了可执行的eclipse,它在/Applications/Eclipse.app/Contents/MacOS

我想重新安装 Eclipse,但在此之前我想知道是否有解决此问题的方法。

【问题讨论】:

【参考方案1】:

代码签名无效 意味着应用程序以某种方式已损坏,导致签名不再匹配。重新安装是解决此问题的正确方法。

至于是什么原因造成的,是上次成功启动到第一次没有启动之间发生的事情。也许这是 Eclipse 本身的错误,也许是您采取的行动。事后很难弄清楚。如果它继续发生,Eclipse bugtracker 是报告它的正确位置。

【讨论】:

感谢您的回复。正如你所说,我将重新安装它。【参考方案2】:

现代 Eclipse(2021-09 甚至更早)与检查 Eclipse.app 包的 CODESIGNING 的 Gatekeeper 存在严重的不兼容性。 Apple 不允许自行修改捆绑包,因为它破坏了 macOS 的安全模型 - 作为恶意软件保护 (Xprotect)。见:https://eclecticlight.co/tag/gatekeeper/

我怀疑 Info.plist 在首次启动或修改某些用户首选项或 IDE 设置后会发生变化。

尝试手动进行代码设计之类的解决方法很麻烦,并且在 Catalina 上对我不起作用:

codesign -v -vvv --deep /Applications/Eclipse.app
/Applications/Eclipse.app: invalid Info.plist (plist or signature have been modified)
In architecture: x86_64

sudo codesign --force --sign -  /Applications/Eclipse.app
Password:
/Applications/Eclipse.app: replacing existing signature
/Applications/Eclipse.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Applications/Eclipse.app/Contents/MacOS/$user.home

对我有用的是通过递归删除隔离的特定扩展属性为 Gatekeeper 的 Xprotect 定义一个例外。在安装 Eclipse 之后和运行之前直接使用以下内容:

xattr -r -d com.apple.quarantine /Applications/Eclipse.app

见:https://eclecticlight.co/2019/06/17/what-to-do-when-you-cant-launch-an-app/

【讨论】:

以上是关于Eclipse 在 MacOS 上意外退出的主要内容,如果未能解决你的问题,请参考以下文章

macos苹果系统Clion意外退出和macos苹果系统JetBrains系列软件意外退出问题解决

Android Studio 在 Mac Catalina 测试版上意外退出

MacOS Catalina 10.15.4 版中的“Spotlight 意外退出”,安装 Xcode 12 后发生此崩溃

JavaFX应用程序无法启动(MacOS使用JDK11)

Xcode 为我的项目意外退出(不在 Xcode 4.6.3 中)

.m3u8 视频源仅在 macOS 上运行