繁体   English   中英

Redhawk因Java错误而崩溃 - 被信号6,SIGABRT杀死

[英]Redhawk crashing with Java error - Killed by signal 6, SIGABRT

Centos 6.6

Redhawk 1.10

我可以在Redhawk中执行一系列操作(编程USRP的IP),这会导致程序崩溃并出现以下错误:

资料来源:java-1.7.0-openjdk

问题:进程/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/bin/java被信号6(SIGABRT)杀死

有关如何防止这种情况的任何想法?

另外,我对Redhawk和Linux一般都很新,所以请ELI5。

在某个方面比我更聪明的主题:

这是一个刚刚推出CentOS6.6的问题,因为它使用了比CentOS6.5更新版本的gtk2。 Eclipse检测到这一点并错误地假设它可以使用cairo图形API,该API在预期版本中不可用或不可用。 它实际上是v1.10和v1.9系列REDHAWK IDE使用的Eclipse版本中的一个错误。 有关该问题的信息可以在这个eclipse论坛上找到。 Eclipse已经在其最新的代码库中解决了这个问题。

对1.10和1.9用户最简单的修复是应用论坛帖子中提到的修复。 导航到包含eclipse可执行文件(REDHAWK IDE可执行文件)的目录,应该有一个名为“eclipse.ini”的配置文件。 将以下参数添加到声明的选项列表中:

-Dorg.eclipse.swt.internal.gtk.cairoGraphics = FALSE

这将禁用cairo图形的使用,这些图形首先没有被使用。

我发现发生此错误是因为我正在对想要生成两个单独的JVM实例的进程进行远程调试。 一个执行测试运行器,一个执行实际测试。 如果您使用以下命令运行程序:

export _JAVA_OPTIONS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7002"

实例都尝试使用端口7002并且出现信号中止,因为7002正在用于第二个实例。

相反,你可以使用:

export _JAVA_OPTIONS="agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7002"

通过将suspend设置为yes,可以防止实例同时运行。 虽然您必须记住两次连接远程调试器以获取要执行的单独实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM