Crash in Metal Framework macOS 14.4 beta

Hello, I have a crash in the Metal framework under Sonoma 14.4 public beta on a Mac Mini M1 2020:

Thread 1 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000 x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000 x8: 0x17c2770b7ca20001 x9: 0x17c2770b7ca20001 x10: 0x0000000000000025 x11: 0x0000000000000001 x12: 0x000000016bb555b2 x13: 0x0000000000000000 x14: 0x0000000104acc7e9 x15: 0x0000000207c5c5b0 x16: 0xfffffffffffffff4 x17: 0x0000000211f42c48 x18: 0x0000000000000000 x19: 0x000000016bb55898 x20: 0x0000600002901180 x21: 0x0000600003cd0e20 x22: 0x0000000000000003 x23: 0x0000000277b7e040 x24: 0x00000000000002ec x25: 0x0000000000000001 x26: 0x0000000000000000 x27: 0x0000000000000000 x28: 0x0000000207c96b50 fp: 0x000000016bb55880 lr: 0x2d648001a439d394 sp: 0x000000016bb557b0 pc: 0x00000001a439d394 cpsr: 0x60001000 far: 0x0000000000000000 esr: 0xf2000001 (Breakpoint) brk 1

Binary Images: 0x139c00000 - 0x139c6bfff com.apple.AppleMetalOpenGLRenderer (1.0) <8b69c871-19c2-3d46-b8de-8dbc62e532cd> /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle/Contents/MacOS/AppleMetalOpenGLRenderer 0x109b74000 - 0x109baffff libjogl_mobile.dylib () <9c3ef505-8828-36ab-a776-5ffdb9d4cd79> /Applications/scilab-2024.0.0.app/Contents/lib/thirdparty/libjogl_mobile.dylib 0x13b494000 - 0x13b50ffff libjogl_desktop.dylib () <543b42ae-90a4-325c-8850-84951b1fa6ee> /Applications/scilab-2024.0.0.app/Contents/lib/thirdparty/libjogl_desktop.dylib 0x108588000 - 0x10858ffff libnativewindow_macosx.dylib (*) <2c256988-735b-38b7-9712-0bfc58c3ff90> /Applications/scilab-2024.0.0.app/Contents/lib/thirdparty/libnativewindow_macosx.dylib

How can I get rid of ot ?

S.

Here is the source of the program , which uses joGL (https://jogamp.org/deployment/jogamp-current/fat/jogamp-fat.jar) and the commands (conda openJDK 17):

(base) mottelet@macmottelet-cr-1 ~ % uname -a
Darwin macmottelet-cr-1.utc 23.4.0 Darwin Kernel Version 23.4.0: Fri Jan 12 22:41:06 PST 2024; root:xnu-10063.100.610.0.2~19/RELEASE_ARM64_T8103 arm64

(base)mottelet@macmottelet-cr-1 ~ % javac -cp jogamp-fat.jar HelloWorld.java

(base) mottelet@macmottelet-cr-1 ~ % java -cp jogamp-fat.jar:. HelloWorld                      
zsh: trace trap  java -cp jogamp-fat.jar:. HelloWorld

stack trace is attached to this message

import com.jogamp.opengl.*;    
import com.jogamp.opengl.awt.GLCanvas;   
import javax.swing.JFrame;

public class HelloWorld implements GLEventListener {

        @Override
        public void init(GLAutoDrawable arg0)
        {

        }

        @Override
        public void display(GLAutoDrawable drawable) {
                final GL2 gl = drawable.getGL().getGL2();
                //Draw H
                gl.glBegin(GL2.GL_LINES);
                gl.glVertex2d(-0.8, 0.6);
                gl.glVertex2d(-0.8, -0.6);
                gl.glVertex2d(-0.8, 0.0);
                gl.glVertex2d(-0.4, 0.0);
                gl.glVertex2d(-0.4, 0.6);
                gl.glVertex2d(-0.4, -0.6);
                gl.glEnd();
                //Draw W
                gl.glBegin(GL2.GL_LINES);
                gl.glVertex2d(0.4,0.6);
                gl.glVertex2d(0.4,-0.6);
                gl.glVertex2d(0.4,-0.6);
                gl.glVertex2d(0.6,0);
                gl.glVertex2d(0.6,0);
                gl.glVertex2d(0.8,-0.6);
                gl.glVertex2d(0.8,-0.6);
                gl.glVertex2d(0.8,0.6);
                gl.glEnd();
        }
        @Override
        public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
        {

        }
        @Override
        public void dispose(GLAutoDrawable arg0)
        {

        }

        public static void main(String[] args) {

                final GLProfile gp = GLProfile.get(GLProfile.GL2);
                GLCapabilities cap = new GLCapabilities(gp);

                final GLCanvas gc = new GLCanvas(cap);
                HelloWorld sq = new HelloWorld();
                gc.addGLEventListener(sq);
                gc.setSize(400, 400);

                final JFrame frame = new JFrame("Hello World");
                frame.add(gc);
                frame.setSize(500,400);
                frame.setVisible(true);
        }
}

[full stack trace](https://forums.developer.apple.com/forums/content/attachment/6d44b489-7b70-4649-91d9-beba20356044)

It has been solved in latest beta (14.4 beta 23E5191e).

S.

Crash in Metal Framework macOS 14.4 beta
 
 
Q