我试图用roboVM运行我的libGDX应用程序。但是,当我尝试在ios模拟器或配置的ios设备上运行它时,我收到以下致命错误:
[INFO] Building RoboVM app for: ios (thumbv7)
[INFO] Compiling RoboVM app, this could take a while, especially the first time round
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000012d10221a, pid=243, tid=6403
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C [librobovm-llvm4029610622620581913.dylib+0x30b21a] _ZL16getCopyFromPartsRN4llvm12SelectionDAGENS_5SDLocEPKNS_7SDValueEjNS_3MVTENS_3EVTEPKNS_5ValueENS_3ISD8NodeTypeE+0x161a
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/<user>/<project>/hs_err_pid243.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Abort trap: 6
如果它很重要,错误中提到的错误文件包含this。
我正在使用robovm maven插件,并且正在使用这个maven命令:
mvn clean integration-test -Pios
我的pom.xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[parent groupid]</groupId>
<artifactId>[parent artifactid]</artifactId>
<version>[parent version]</version>
</parent>
<artifactId>[artifactid]</artifactId>
<packaging>jar</packaging>
<properties>
<mainClass>[Main Class]</mainClass>
</properties>
<dependencies>
<dependency>
<groupId>[core groupid]</groupId>
<artifactId>[core artifactid]</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-backend-robovm</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>../assets</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-Djava.library.path=${project.build.directory}/natives/</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.robovm</groupId>
<artifactId>robovm-maven-plugin</artifactId>
<version>0.0.11.1</version>
<configuration>
<config>
<mainClass>${mainClass}</mainClass>
<os>ios</os>
<arch>x86</arch>
</config>
</configuration>
<executions>
<execution>
<id>iphone-sim</id>
<phase>integration-test</phase>
<goals>
<goal>iphone-sim</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我的robovm.xml看起来像这样:
<config>
<executableName>${app.executable}</executableName>
<mainClass>${app.mainclass}</mainClass>
<os>ios</os>
<arch>thumbv7</arch>
<target>ios</target>
<iosInfoPList>Info.plist.xml</iosInfoPList>
<resources>
<resource>
<directory>../assets</directory>
<includes>
<include>**</include>
</includes>
<skipPngCrush>true</skipPngCrush>
</resource>
</resources>
<forceLinkClasses>
<pattern>com.badlogic.gdx.scenes.scene2d.ui.*</pattern>
<pattern>org.apache.harmony.xnet.provider.jsse.OpenSSLProvider</pattern>
<pattern>org.apache.harmony.security.provider.cert.DRLCertFactory</pattern>
<pattern>com.android.org.bouncycastle.jce.provider.BouncyCastleProvider</pattern>
<pattern>org.apache.harmony.security.provider.crypto.CryptoProvider</pattern>
<pattern>org.apache.harmony.xnet.provider.jsse.JSSEProvider</pattern>
<pattern>com.android.org.bouncycastle.jce.provider.JDKKeyStore</pattern>
<pattern>org.apache.harmony.security.provider.cert.X509CertFactoryImpl</pattern>
<pattern>com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi</pattern>
<pattern>org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$MD5</pattern>
</forceLinkClasses>
<libs>
<lib>../res/libgdx.a</lib>
<lib>../res/libObjectAL.a</lib>
</libs>
<frameworks>
<framework>UIKit</framework>
<framework>OpenGLES</framework>
<framework>QuartzCore</framework>
<framework>CoreGraphics</framework>
<framework>OpenAL</framework>
<framework>AudioToolbox</framework>
<framework>AVFoundation</framework>
</frameworks>
</config>
我对这个错误的含义一无所知。我google了一下,无法找到任何人得到类似的错误,所以我不知道该怎么做。有谁知道问题可能是什么?
编辑:发生错误时似乎正在编译com.android.org.bouncycastle.asn1.x500.style.BCStyle
。启用调试时会显示:
[INFO] Compiling RoboVM app, this could take a while, especially the first time round
[DEBUG] Compiling com.android.org.bouncycastle.asn1.x500.style.BCStyle (ios thumbv7)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000013775c21a, pid=234, tid=6403
# etc...