java-native-access / java-native-access/jna

JVM crash on touchbar mac (other platforms work fine)

Open
#1,151 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
8.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

The Java VM crashes on a 2018 Touchbar Macbook pro. Other platforms (and macs without touchbar) work great. When using a standard AWT/Swing build of the same code, there is no crash.

> Task :runJvmFirstThread FAILED
-XstartOnFirstThread not supported via Jogl, switching to an experimental native jna-based implementation
pixelFormat: 140203200597728
openGLContext: 140203226417888
contentView: 140203200489312
NSDefaultRunLoopMode: native@0x7fff849d1540
[timerWithTimeInterval:invocation:repeats:, timerWithFireDate:target:selector:userInfo:, scheduledTimerWithTimeInterval:repeats:block:, timerWithTimeInterval:repeats:block:, allocWithZone:, timerWithTimeInterval:target:selector:userInfo:repeats:, scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:, scheduledTimerWithTimeInterval:invocation:repeats:]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fff61e56415, pid=919, tid=775
#
# JRE version: OpenJDK Runtime Environment (11.0.4+10) (build 11.0.4+10-b304.77)
# Java VM: OpenJDK 64-Bit Server VM (11.0.4+10-b304.77, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libobjc.A.dylib+0xb415]  class_conformsToProtocol+0x138
#
# No core dump will be written. 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/nicolaiemig/dev/engineEmi/hs_err_pid919.log
#
# If you would like to submit a bug report, please visit:
#   https://youtrack.jetbrains.com
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

JVM crashlog is on pastebin, because its huge

  1. Version of JNA and related jars
    gluegen: 2.3.2
    jna: 5.5.0
    joal: 2.3.2
    jog: 2.3.2
  2. Version and vendor of the java virtual machine
    13.0.1 (Oracle Corporation 13.0.1+9) (other VMs give this error woo
  3. Operating system / System architecture
    Mac OS X 10.15.1 x86_64
  4. Steps to reproduce
    A) Download Sample project here. Its a gradle project:
    B) Import build.gradle file
    C) Run gradle task "runJvmFirstThread for JNA implementation (crashes) or gradle task runJvm for AWT/Swing implementation (does not crash). The tasks are unter gradle -> korge-run group
Bildschirmfoto 2019-12-03 um 18 37 48

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked jvmcrashtest sample project and its build.gradle, then run the korge-run tasks runJvmFirstThread and runJvm on the reported Touchbar Mac setup. Compare the JNA-based crash with the AWT/Swing path and inspect the JVM crash log, including the class_conformsToProtocol frame. Done means runJvmFirstThread no longer crashes while the standard runJvm task remains functional.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, macos
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.