Hello, I recently updated my application to use JavaFX 27 and Java 27. When running on a Mac today, I got a segmentation fault. I've been using this application for years, and this is the first time I've had it happen. If this is something I'm doing in my application to cause this issue I'm not sure how to fix it.
Below is additional information about the machine and JDK used. If there are any additional logs I can provide to troubleshoot this let me know. This was running on maxOS Sequoia 15.7.7 on an Apple M3 Pro. Here is the information I got from the segmentation fault. 💣 Program crashed: Bad pointer dereference at 0x0000000000000010 Thread 17 "Java: QuantumRenderer-0" crashed: 0 0x000000019937d820 objc_msgSend + 32 in libobjc.A.dylib 1 0x0000000101e032c0 Java_com_sun_prism_mtl_MTLContext_nUpdateRenderTarget + 36 in libprism_mtl.dylib 2 0x000000014588af68 3 0x00000001457e6070 Backtrace took 15.33s /ktquery-macos_arm64/bin/ktquery: line 4: 68847 Segmentation fault: 11 $DIR/java $JLINK_VM_OPTIONS -m com.kafkasource.visualkafka/ com.kafkasource.visualkafka.App "$@" Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. Here is the JVM I'm using. bin % java -version openjdk version "27" 2026-09-15 OpenJDK Runtime Environment Homebrew (build 27) OpenJDK 64-Bit Server VM Homebrew (build 27, mixed mode, sharing) Here is the jlink report of the modules pulled in. INFO] --- javafx:0.0.8:jlink (default-cli) @ visualkafka --- atlantafx.base file:///Users/preisc2/.m2/repository/io/github/mkpaz/atlantafx-base/2.1.0/atlantafx-base-2.1.0.jar ch.qos.logback.classic file:///Users/preisc2/.m2/repository/ch/qos/logback/logback-classic/1.5.18/logback-classic-1.5.18.jar ch.qos.logback.core file:///Users/preisc2/.m2/repository/ch/qos/logback/logback-core/1.5.18/logback-core-1.5.18.jar com.fasterxml.jackson.annotation file:///Users/preisc2/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.19.0/jackson-annotations-2.19.0.jar com.fasterxml.jackson.core file:///Users/preisc2/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.19.0/jackson-core-2.19.0.jar com.fasterxml.jackson.databind file:///Users/preisc2/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.19.0/jackson-databind-2.19.0.jar com.fasterxml.jackson.datatype.jsr310 file:///Users/preisc2/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.19.0/jackson-datatype-jsr310-2.19.0.jar com.kafkasource.visualkafka file:///Users/preisc2/temp/visualkafka/visualkafka-ui/target/classes/ com.kafkasource.visualkafka.fx file:///Users/preisc2/.m2/repository/com/kafkasource/visualkafka/visualkafka-fx/1.0-SNAPSHOT/visualkafka-fx-1.0-SNAPSHOT.jar com.kafkasource.visualkafka.lib file:///Users/preisc2/.m2/repository/com/kafkasource/visualkafka/visualkafka-lib/1.0-SNAPSHOT/visualkafka-lib-1.0-SNAPSHOT.jar java.base file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.base.jmod java.datatransfer file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.datatransfer.jmod java.desktop file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.desktop.jmod java.logging file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.logging.jmod java.management file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.management.jmod java.naming file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.naming.jmod java.net.http file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.net.http.jmod java.prefs file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.prefs.jmod java.scripting file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.scripting.jmod java.security.jgss file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.security.jgss.jmod java.security.sasl file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.security.sasl.jmod java.sql file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.sql.jmod java.transaction.xa file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.transaction.xa.jmod java.xml file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/java.xml.jmod javafx.base file:///Users/preisc2/.m2/repository/org/openjfx/javafx-base/27/javafx-base-27-mac-aarch64.jar javafx.controls file:///Users/preisc2/.m2/repository/org/openjfx/javafx-controls/27/javafx-controls-27-mac-aarch64.jar javafx.fxml file:///Users/preisc2/.m2/repository/org/openjfx/javafx-fxml/27/javafx-fxml-27-mac-aarch64.jar javafx.graphics file:///Users/preisc2/.m2/repository/org/openjfx/javafx-graphics/27/javafx-graphics-27-mac-aarch64.jar javafx.media file:///Users/preisc2/.m2/repository/org/openjfx/javafx-media/27/javafx-media-27-mac-aarch64.jar javafx.swing file:///Users/preisc2/.m2/repository/org/openjfx/javafx-swing/27/javafx-swing-27-mac-aarch64.jar javafx.web file:///Users/preisc2/.m2/repository/org/openjfx/javafx-web/27/javafx-web-27-mac-aarch64.jar jdk.jsobject file:///Users/preisc2/.m2/repository/org/openjfx/jdk-jsobject/27/jdk-jsobject-27-mac-aarch64.jar jdk.management file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/jdk.management.jmod jdk.unsupported file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/jdk.unsupported.jmod jdk.unsupported.desktop file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/jdk.unsupported.desktop.jmod jdk.xml.dom file:///opt/homebrew/Cellar/openjdk/27/libexec/openjdk.jdk/Contents/Home/jmods/jdk.xml.dom.jmod org.apache.commons.codec file:///Users/preisc2/.m2/repository/commons-codec/commons-codec/1.18.0/commons-codec-1.18.0.jar org.apache.commons.compress file:///Users/preisc2/.m2/repository/org/apache/commons/commons-compress/1.27.1/commons-compress-1.27.1.jar org.apache.commons.csv file:///Users/preisc2/.m2/repository/org/apache/commons/commons-csv/1.14.0/commons-csv-1.14.0.jar org.apache.commons.io file:///Users/preisc2/.m2/repository/commons-io/commons-io/2.18.0/commons-io-2.18.0.jar org.apache.commons.jexl3 file:///Users/preisc2/.m2/repository/org/apache/commons/commons-jexl3/3.6.2/commons-jexl3-3.6.2.jar org.apache.commons.lang3 file:///Users/preisc2/.m2/repository/org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar org.apache.commons.logging file:///Users/preisc2/.m2/repository/commons-logging/commons-logging/1.3.5/commons-logging-1.3.5.jar org.jfree.chart file:///Users/preisc2/.m2/repository/org/jfree/jfreechart/2.0.0-SNAPSHOT/jfreechart-2.0.0-SNAPSHOT.jar org.jfree.chart.fx file:///Users/preisc2/.m2/repository/org/jfree/org.jfree.chart.fx/2.0.4-SNAPSHOT/org.jfree.chart.fx-2.0.4-SNAPSHOT.jar org.jfree.fxgraphics2d file:///Users/preisc2/.m2/repository/org/jfree/org.jfree.fxgraphics2d/2.1.6-SNAPSHOT/org.jfree.fxgraphics2d-2.1.6-SNAPSHOT.jar org.jfxmodules.avro file:///Users/preisc2/.m2/repository/org/jfxmodules/avro-module/1.12.0-SNAPSHOT/avro-module-1.12.0-SNAPSHOT.jar org.jfxmodules.jose4j file:///Users/preisc2/.m2/repository/org/jfxmodules/jose4j-module/0.9.5-SNAPSHOT/jose4j-module-0.9.5-SNAPSHOT.jar org.jfxmodules.kafka.clients file:///Users/preisc2/.m2/repository/org/jfxmodules/kafka-clients-module/4.1.1-SNAPSHOT/kafka-clients-module-4.1.1-SNAPSHOT.jar org.jfxmodules.mods file:///Users/preisc2/.m2/repository/org/jfxmodules/mods/1.1-SNAPSHOT/mods-1.1-SNAPSHOT.jar org.slf4j file:///Users/preisc2/.m2/repository/org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar Providers: com.fasterxml.jackson.core provides com.fasterxml.jackson.core.JsonFactory not used by any observable module com.fasterxml.jackson.databind provides com.fasterxml.jackson.core.ObjectCodec used by com.fasterxml.jackson.core com.fasterxml.jackson.datatype.jsr310 provides com.fasterxml.jackson.databind.Module used by com.fasterxml.jackson.databind java.desktop provides java.net.ContentHandlerFactory used by java.base java.base provides java.nio.file.spi.FileSystemProvider used by java.base java.naming provides java.security.Provider used by java.base java.security.jgss provides java.security.Provider used by java.base java.security.sasl provides java.security.Provider used by java.base java.desktop provides javax.print.PrintServiceLookup used by java.desktop java.desktop provides javax.print.StreamPrintServiceFactory used by java.desktop org.apache.commons.jexl3 provides javax.script.ScriptEngineFactory used by java.scripting java.management provides javax.security.auth.spi.LoginModule used by java.base java.desktop provides javax.sound.midi.spi.MidiDeviceProvider used by java.desktop java.desktop provides javax.sound.midi.spi.MidiFileReader used by java.desktop java.desktop provides javax.sound.midi.spi.MidiFileWriter used by java.desktop java.desktop provides javax.sound.midi.spi.SoundbankReader used by java.desktop java.desktop provides javax.sound.sampled.spi.AudioFileReader used by java.desktop java.desktop provides javax.sound.sampled.spi.AudioFileWriter used by java.desktop java.desktop provides javax.sound.sampled.spi.FormatConversionProvider used by java.desktop java.desktop provides javax.sound.sampled.spi.MixerProvider used by java.desktop java.logging provides jdk.internal.logger.DefaultLoggerFinder used by java.base ch.qos.logback.classic provides org.slf4j.spi.SLF4JServiceProvider used by org.slf4j java.desktop provides sun.datatransfer.DesktopDatatransferService used by java.datatransfer jdk.management provides sun.management.spi.PlatformMBeanProvider used by java.management jdk.unsupported.desktop provides sun.swing.InteropProvider used by java.desktop Warning: The 0 argument for --compress is deprecated and may be removed in a future release [INFO] Building zip: /Users/preisc2/temp/visualkafka/visualkafka-ui/target/ktquery-macos_arm64.zip
