Minecraft 26.2 Snapshot 1/2使用软件包仓库里的jdk-openjdk 26.u35-1时崩溃,有人遇到吗?

如题,当使用目前最新的jdk-openjdk 26.u35-1启动同样是最新的Minecraft 26.2 Snapshot 2(确保使用的是默认的Vulkan渲染器),在启动到主界面后数秒后就SIGSEGV了。大家可以帮忙确认下吗,看看会不会这样会崩。

关键是什么,我如果使用这个官方的jdk-openjdkPKGBUILD,在我本地makepkg构建,再安装自己构建的openjdk来启动,问题就消失了。毫无没有任何头绪,使用jvm的-XX:+PrintFlagsFinal参数看了,源里的openjdk和我本地构建的openjdk在运行时也是完全一模一样的flags,无法确定是什么问题,也不知这是不是个Arch打包的问题,还是我本地其他环境有所影响。

不算是个求助贴吧,所以先不贴各种日志什么的了。我想寻求一下反馈来进一步排除,不知道都是这样还是就我的问题(MC bugtracker有人提交了一份貌似是此问题的报告,但奇怪的是按说用Arch和尝试MC最新快照的人应该不少,但却没看到有人报告此问题)。

有啊,昨天群里就讨论过。用别家编译的jre就没问题,用Arch打包的就会坏掉,25和26都这样。我也不知道是什么原因,我这里没有生成coredump。

也许可以去给打包者提个bug报告。

啊?……我在网上根本就没搜到啥消息,MC bugtracker倒有一份,但也没更多进展了……唉,消息闭塞都是。

这是我的进展,包括coredump以及workaround,这些细节context贴一下吧。我甚至最开始不知道是Arch打包的影响,发到openjdk邮件列表去了。但就是不懂,为什么Arch打包可以影响到jvm的行为,而且我本地是用的一模一样的PKGBUILD以及编译参数,行为就是不一样。

不过还在等那个Arch GitLab allowlist给我通过……否则就去给打包那边报告一下了。

这是昨天刚发在archlinux bbs里的,虽然还没回复。就很奇怪。用arch和测试MC最新版的就没啥人吗,我还以为就我遇到了这个问题。

嗯……因为是昨天即时聊天软件里的消息。现在的互联网已经太多地方都变成「深网」了。

害。行吧。那我就先不管了。既然确实是跟arch的打包有关。等看看后面gitlab账号给我通过了我去提一提看。或者其他人也有兴趣的就去给他们提提。

之后有什么新进展的话也麻烦就来这告知一下或那个MC报告下更新一下。现在的workaround就是要么使用其他openjdk(比如oracle的或者自己编译,要么就是加那个jvm参数)。

那个MC bug报告下说让我们测试官方启动器会不会出问题,不过我没兴趣测 因为一直用的HMCL不想再装他们那个,而且我寻思着用官方的启动器如果也是用系统的openjdk 25&26那问题应该照样有。

好。

我用的是PrismLauncher,用Arch的Java也有问题。但是MC提供的Java是没问题的。

我也遇到了,不过我想问你在mcbug追踪器上提交过bug吗,因为bugs追踪器居然提示我没有权限,java版本列表页加载不出来

没,我都是只发过评论的。好像要登录吧它这个追踪器

对的,我登陆了,看来挺奇怪的

诶那不懂了你研究下。那我先放个截图在这。

我查看了.BUILDINFO文件并进一步测试了,是LTO引起的。Arch构建的OpenJDK开启了LTO,但我本地的/etc/makepkg.conf里是没开lto的,所以造成了不一致性。

如果使用的是Arch构建的带LTO的OpenJDK,可以使用-XX:CompilerThreadStackSize=2048(或者可以再调高一些。默认是1024)参数作为workaround。或者如果是自己构建带LTO的,又不想使用额外JVM参数的,可以在构建时使用--with-extra-cflags="-fno-inline-functions-called-once" --with-extra-cxxflags="-fno-inline-functions-called-once"

我也更新了MC bugtracker和邮件列表,这个就先关闭了。