Quarkus 原生镜像崩溃

问题描述 投票:0回答:3

我已经使用 Quarkus/Graal 成功构建了一个本机镜像,我可以在终端中运行它(还没有容器)。但是,它崩溃并显示“分段错误(核心转储)”消息。我如何获得有关该错误的更多信息?是否有标志要传递给本机可执行文件或构建映像时?

我正在使用 GraalVM 版本 20.2.0(Java 版本 11.0.8)

非常感谢任何帮助。

谢谢。

quarkus graalvm
3个回答
1
投票

这可能是本机图像实现中的一个错误。请向 GraalVM 团队报告:github.com/oracle/graal。

您还可以尝试调试可执行文件:https://github.com/oracle/graal/blob/master/substratevm/DebugInfo.md

您还可以通过传递标志

-H:Optimize=N
来构建具有不同优化级别的本机映像,其中 N 为 0, 1, 2。也许行为会有所不同 - 这表明编译器中存在错误。

构建原生镜像时,您是否使用类似

--report-unsupported-elements-at-runtime
之类的东西?如果是,请尝试将其删除,也许它会告诉您可能出了什么问题。与
--allow-incomplete-classpath
一样吗?

一般来说,最好是向 GraalVM 团队报告。


0
投票

我的代码中的一个条件导致了这种行为。修复代码后,原生图像现在就像魅力一样。感谢您的帮助。


0
投票

对我来说,

SIGSEGV
错误会随机出现,而且只是有时出现。我通过停止系统上的防病毒应用程序完全解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.