-
Notifications
You must be signed in to change notification settings - Fork 67
Closed
Labels
Description
Hey folks,
I am running a Ubuntu 24.04.1 on my Turing RK1 SoC. The build process aborts with failed Java2Swift execution.
[711/711] Linking Java2Swift
Build complete! (125.83s)
mkdir -p Sources/JavaKit/generated
.build/aarch64-unknown-linux-gnu/debug/Java2Swift --module-name JavaKit -o Sources/JavaKit/generated java.lang.Object=JavaObject java.util.Enumeration java.lang.Throwable java.lang.Exception java.lang.RuntimeException java.lang.Error=JavaError
π£ Program crashed: Bad pointer dereference at 0x00616c434c525530
Thread 0 "Java2Swift" crashed:
0 0x0000ffffb181c16c swift_release + 36 in libswiftCore.so
1 closure #1 in methodMangling<each A>(parameterTypes:resultType:) + 1171 in Java2Swift at /home/segabor/src/swift-java/Sources/JavaKit/JavaObject+MethodCalls.swift:27:32
25β initializedCount in
26β for parameterType in repeat each parameterTypes {
27β buffer[initializedCount] = parameterType.javaType
β β²
28β initializedCount += 1
29β }
2 methodMangling<each A>(parameterTypes:resultType:) + 1371 in Java2Swift at /home/segabor/src/swift-java/Sources/JavaKit/JavaObject+MethodCalls.swift:23:40
21β resultType: JavaType
22β ) -> String {
23β let parameterTypesArray = [JavaType].init(unsafeUninitializedCapacity: countArgs(repeat each parameterTypes)) {
β β²
24β buffer,
25β initializedCount in
3 static AnyJavaObject.javaMethodLookup<A>(thisClass:methodName:parameterTypes:resultType:in:) + 979 in Java2Swift at /home/segabor/src/swift-java/Sources/JavaKit/JavaObject+MethodCalls.swift:69:27
67β ) throws -> jmethodID {
68β // Compute the method signature.
69β let methodSignature = methodMangling(
β β²
70β parameterTypes: repeat (each Param).self,
71β resultType: resultType
4 static AnyJavaObject.dynamicJavaNewObject<A>(in:arguments:) + 1599 in Java2Swift at /home/segabor/src/swift-java/Sources/JavaKit/JavaObject+MethodCalls.swift:254:29
252β // Compute the method signature so we can find the right method, then look up the
253β // method within the class.
254β let methodID = try Self.javaMethodLookup(
β β²
255β thisClass: thisClass,
256β methodName: javaConstructorName,
5 JavaToSwift.run(environment:) + 1827 in Java2Swift at /home/segabor/src/swift-java/Sources/Java2Swift/JavaToSwift.swift:115:23
113β
114β // Load all of the requested classes.
115β let classLoader = URLClassLoader(
β β²
116β try classPathWithJarFile.map { try URL("file://\($0)", environment: environment) },
117β environment: environment
6 JavaToSwift.run() + 527 in Java2Swift at /home/segabor/src/swift-java/Sources/Java2Swift/JavaToSwift.swift:74:9
72β javaVirtualMachine = jvm
73β
74β try run(environment: jvm.environment)
β β²
75β }
76β
7 static ParsableCommand.main(_:) + 487 in Java2Swift at /home/segabor/src/swift-java/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/ParsableCommand.swift:158:19
156β do {
157β var command = try parseAsRoot(arguments)
158β try command.run()
β β²
159β } catch {
160β exit(withError: error)
8 static ParsableCommand.main() + 51 in Java2Swift at /home/segabor/src/swift-java/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/ParsableCommand.swift:175:10
173β /// if necessary.
174β public static func main() {
175β self.main(nil)
β β²
176β }
177β }
9 Java2Swift_main + 11 in Java2Swift at /home/segabor/src/swift-java/Sources/Java2Swift/JavaToSwift.swift:30:8
28β /// Command-line utility to drive the export of Java classes into Swift types.
29β @main
30β struct JavaToSwift: ParsableCommand {
β β²
31β static var _commandName: String { "Java2Swift" }
32β
10 0x0000ffffaf3f84c4 <unknown> in libc.so.6
11 0x0000ffffaf3f8598 <unknown> in libc.so.6
Backtrace took 3.46s
make: *** [Makefile:56: generate-JavaKit] Segmentation fault (core dumped)
Environment
OS: Linux alfa 6.1.0-1025-rockchip #25-Ubuntu SMP Mon Aug 26 23:01:14 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
Swift:
Swift version 6.0.1 (swift-6.0.1-RELEASE)
Target: aarch64-unknown-linux-gnu
Java:
openjdk version "23" 2024-09-17
OpenJDK Runtime Environment Temurin-23+37 (build 23+37)
OpenJDK 64-Bit Server VM Temurin-23+37 (build 23+37, mixed mode, sharing)