在没有参数的情况下运行时,Java Web Start 会出现段错误

在没有参数的情况下运行时,Java Web Start 会出现段错误

我们正在使用 Java Web Start 从网页运行 Java 应用程序。单击 jnlp 链接时,jnlp 已下载,但什么也没发生。没有错误,没有弹出窗口,什么都没有。

在 Linux 中手动运行命令行发现了一个段错误:

javaws myJnlp

(<unknown>:11624): Gtk-CRITICAL **: IA__gtk_message_dialog_set_markup: assertion `GTK_IS_MESSAGE_DIALOG (message_dialog)' failed
Segmentation fault (core dumped)

但是使用任何命令行参数运行 javaws 一切运行正常

javaws -verbose myJnlp

jnlp 文件似乎无关紧要。我可以输入任何文件,甚至输入不存在的文件,javaws 似乎在到达指定的 jnlp 文件之前就崩溃了。

这是一个间歇性问题。它只出现在某些版本的 Java 中,而不会出现在其他版本中。但我们的用户可能拥有崩溃的版本。我已确认它至少会在这个版本中崩溃:java-1.7.0-ibm-1.7.0.7.0.x86_64。

不幸的是,更新 Java 并不总是有效,因为用户系统上可能会安装多个版本的 Java(ibm、openjdk),这会导致替代程序混淆,从而使用错误的/旧的版本。

关于如何防止这次事故的任何想法都会有所帮助。

答案1

我使用 oracle jdk 时也遇到了同样的问题。似乎是在之前使用 IcedTea 时发生错误并中断时发生的。

尽管唯一的区别是一个时间戳,但删除后~/.java/deployment/config.cache问题得到了解决。

相关内容