Giter Site home page Giter Site logo

briss-2.0's Introduction

Briss 2.0

Java CI with Gradle

Briss is a small application to crop PDF files. It is useful for example to crop whitespaces at the edeges so text is rendered bigger on small screens like eInk displays or tablet PCs.

It helps the user to decide what should be cropped by creating an overlay of similar pages, e.g. all pages within a PDF having the same size or orientation. Even and odd pages are separated too.

Version 2.0 is intended to be a GUI Update for the Briss PDF cropping tool. It is based on Briss 0.9 which is located at sourceforge: http://sourceforge.net/projects/briss/ Note that version 2.0 in this repository is developed independently of the original author of 0.9.

Briss is running on Windows, MacOS and Linux and works with Java 8 and above.

Installation

Currently Briss 2.0 is in alpha therefore some features are still missing. If you want to give it a try you can download the pre release from https://github.com/mbaeuerle/Briss-2.0/releases. Starting with v2.0-alpha-5 the whole application including the dependencies is bundled in one Java jar file.

Usage

You can run the application by double-clicking on ./lib/Briss-2.0-all.jar or executing the following command in terminal:

./bin/Briss-2.0

or

./bin/Briss-2.0 cropthis.pdf

Commandline

If you prefer command line and trust the basic automatic detection algorithm use it this way:

./bin/Briss-2.0 -s [SOURCEFILE] [-d [DESTINATIONFILE]]

Example:

./bin/Briss-2.0 -s dogeatdog.pdf -d dogcrop.pdf
./bin/Briss-2.0 -s dogeatdog.pdf

the second line will create the cropped pdf into dogeatdog_cropped.pdf

To split according to columns/rows, respectively use the --split-col and --split-row arguments. For example:

./bin/Briss-2.0 -s dogeatdog.pdf -d dogcrop.pdf --split-col

Splitting columns will try to split the pdf into two columns. Splitting rows will try to split the pdf into two parts by cutting pages in half.

Images

Startscreen with drag and drop support: Image of BRISS 2.0 Startscreen Cropping view: Image of BRISS 2.0 Cropping View

Improvements done in Briss 2.0

  • Small refinements on gui which improve the workflow
  • Better file chooser than provided by swing
  • Added support for drag and drop
  • Fixed an issue with the image preview showing nothing when all pages look mostly the same

Build instructions

Prerequisites

Make sure you have JDK 11 or later installed.

Build

To build, run the following command:

./gradlew shadowDistZip

You can find the built version in build/distributions

Libraries used

briss-2.0's People

Contributors

camden-bock avatar cleydyr avatar crvv avatar eddycc avatar mbaeuerle avatar obaqueiro avatar raiju avatar smartlayer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

briss-2.0's Issues

Roadmap

We need a roadmap for the enhancement of the gui.

[feature request] page overlap mark

is it possible to draw a (dotted) subtle lines to indicate an overlap with a previous page?

For example, in this, draw the red line on page 2 so that my eye can quickly identify where I should read on after turning the page.

Some good-to-have's:

  1. it's not needed on page 1.
  2. when the edges of the pages overlap (or better, within the error of a few pixels), omit the line. So on page 2, there's only one line at where the bottom of page 1 is, not the two lines on page 1's left and right edges.

image

New Icon

The old logo is a bit outdated, we need a new one

UI without page merging?

Hello,

It doesn't seem to be possible, but I would like to check; is it possible to disable the page merging feature?

I would like to open a PDF, see all the pages (rather than them collapsed/merged), and individually chose regions to export on each page (i.e there is no uniform feature to the cropping I need to do).

This would be really useful.

Thanks,
S

Different cropped page widths from identically sized crop boxes

Very thankful for this app and the recent up. Thanks for your great work!

I wanted to raise something odd that occurs after cropping. Perhaps this is user error, but when I align crop boxes the exact same dimensions (see the Briss screenshot below) the cropped pdf has varying widths in the output (see screenshot of cropped pdf). I know the crop boxes in Briss are identical since I copy and paste them over each subsequent page overlay.

Any ideas why the output is producing various widths in the cropped pdf out when the crop boxes are identical prior to cropping?

Thanks again for your help!
Screenshot 2023-06-30 at 10 52 40 AM
Screenshot 2023-06-30 at 10 45 01 AM

Splitting pages

First, I appreciate your work on this tool. I use it several times a year.

Second, I'm trying to figure out how to split my pdf pages. An old thread on this that indicates this is possible with the original briss is here: https://askubuntu.com/a/56858/241361 However, I cannot figure out how to get two rectangles per page as indicated. Am I missing something?

./gradlew distZip not working properly

Here's a trace of the error:

./gradlew distZip
> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not download jai_core-1.1.3.jar (javax.media:jai_core:1.1.3)
      > Could not get resource 'http://maven.geotoolkit.org/javax/media/jai_core/1.1.3/jai_core-1.1.3.jar'.
         > Tag mismatch!

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 14s
1 actionable task: 1 executed

Should I use a version of Gradle < 7.0?

Running on MacOS

Hi,

I'm sorry to bother you with this, but I used to be able to double-click a file named "Briss-2.0" to launch the GUI, but it no longer works. Is that still possible? I downloaded the latest version of Briss, but that file is no longer present.

Add feature to exclude pages again

Currently in Briss 2.0 there is no way to exclude pages like it was possible in the classic Briss 0.9.
As a first step it might be enough to just have an input field in the main Gui where excluded pages can be set.

GitHub release?

I am looking forward to seeing new releases here on GitHub. When can 2.0 be expected?

Create Wizard like UI

Wizard like workflow:

  1. Select PDF to crop
  2. Choose which pages are cropped together
  3. Specify crop rectangles
  4. Crop PDF to file / show crop preview

Classpath location incorrect after build

After running ./gradlew shadowDistZip as per the build instructions, I tried executing the ./build/scriptsShadow/Briss-2.0 that's generated. It produced this error:

★ 𝞴 ./build/scriptsShadow/Briss-2.0 
Error: Unable to access jarfile /home/pawan/Downloads/Briss-2.0/build/lib/Briss-2.0-all.jar

Investigating, it looks like the script is setting this (where APP_HOME is set to pwd -P:

CLASSPATH=$APP_HOME/lib/Briss-2.0-all.jar

But the built libs are in $APP_HOME/libs (notice the plural). I mv-ed the directory to match what the script was expecting and the app launched successfully.

I think the config (and issue) may come from the upstream library, but I am not sure.

P.S. This is on an Ubuntu 20.04 system.

Does not compile

$ ./gradlew distZip
> Task :compileJava FAILED
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:28: error: package javafx.application does not exist
import javafx.application.Platform;
                         ^
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:29: error: package javafx.embed.swing does not exist
import javafx.embed.swing.JFXPanel;
                         ^
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:30: error: package javafx.stage does not exist
import javafx.stage.FileChooser;
                   ^
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:73: error: cannot find symbol
    private final FileChooser fileChooser;
                  ^
  symbol:   class FileChooser
  location: class BrissGUI
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:87: error: cannot find symbol
        new JFXPanel(); // used for initializing javafx thread
            ^
  symbol:   class JFXPanel
  location: class BrissGUI
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:88: error: cannot find symbol
        fileChooser = new FileChooser();
                          ^
  symbol:   class FileChooser
  location: class BrissGUI
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:94: error: package FileChooser does not exist
        FileChooser.ExtensionFilter pdfFilter = new FileChooser.ExtensionFilter("PDF files (*.pdf)", "*.pdf");
                   ^
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:94: error: package FileChooser does not exist
        FileChooser.ExtensionFilter pdfFilter = new FileChooser.ExtensionFilter("PDF files (*.pdf)", "*.pdf");
                                                               ^
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:278: error: cannot find symbol
        Platform.runLater(() -> {
        ^
  symbol:   variable Platform
  location: class BrissGUI
Briss-2.0/src/main/java/at/laborg/briss/BrissGUI.java:291: error: cannot find symbol
        Platform.runLater(() -> {
        ^
  symbol:   variable Platform
  location: class BrissGUI
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Briss-2.0/src/main/java/at/laborg/briss/utils/FileDrop.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
10 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
1 actionable task: 1 executed

Installed is openjfx 11.0.2 as well as openjdk-11-jre.

Would it be possible to add a precompiled jar file, like Briss .9 has?

getting an error while trying to open the load window

Debian Testig x64

bin/Briss-2.0                                                                                                                                           [35/86]
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel                                                             
        at at.laborg.briss.BrissGUI.<init>(BrissGUI.java:87)                                                                                       
        at at.laborg.briss.Briss.main(Briss.java:34)                                                                                               
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel                                                                           
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)         
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)       
        ... 2 more                                                                                                                                 
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javafx/application/Platform
        at at.laborg.briss.BrissGUI.showOpenFileDialog(BrissGUI.java:291)    
        at at.laborg.briss.BrissGUI.lambda$init$6(BrissGUI.java:192)                                                                               
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632) 
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)                                                                                
        at java.desktop/java.awt.Component.processEvent(Component.java:6397)                                                                                          
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)      
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)                                                                  
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)                                                                  
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)                                                                                         
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)                                                                        
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)                                                                         
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)                                                                                                     
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)                                                                                                             
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)                                                                                                                   
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)                                                                                                                 
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)                                                                                                            
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)                         
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)                         
        at java.base/java.security.AccessController.doPrivileged(Native Method)                                                                                                               
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)                                                                  
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)                                                                  
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)                         
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)                         
        at java.base/java.security.AccessController.doPrivileged(Native Method)                                                                                                               
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)                                                                  
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)                                                                                                                
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)                                                                                     
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)                                                                                        
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)                                                                                     
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)                                                                                                 
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)                                                                                                 
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)                                                                                                         
Caused by: java.lang.ClassNotFoundException: javafx.application.Platform                       
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)                                                                                            
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)                                                                                         
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)                                                                                                                    
        ... 37 more                            
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javafx/application/Platform                                                                                            
        at at.laborg.briss.BrissGUI.showOpenFileDialog(BrissGUI.java:291)                                                                                                                     
        at at.laborg.briss.BrissGUI.lambda$init$6(BrissGUI.java:192)                           
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)             

Loading a new PDF after opening one leads to NPE and empty screen

  1. Load any PDF
  2. Go to File->Load and load any PDF
  3. Crop window stays empty and following exception is showing up in the console:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at at.laborg.briss.BrissGUI.copyCropsToClusters(BrissGUI.java:661)
	at at.laborg.briss.BrissGUI.updateWorkingSet(BrissGUI.java:649)
	at at.laborg.briss.BrissGUI.setStateAfterClusteringFinished(BrissGUI.java:621)
	at at.laborg.briss.BrissGUI$ClusterPagesTask.done(BrissGUI.java:682)
	at java.desktop/javax.swing.SwingWorker$5.run(SwingWorker.java:750)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847)
	at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857)
	at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:317)
	at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:249)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Build fails: could not determine java version from '9.0.1'

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

output of stacktrace

* Exception is:
java.lang.IllegalArgumentException: Could not determine java version from '9.0.1'.
        at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:70)
        at org.gradle.api.JavaVersion.current(JavaVersion.java:80)
        at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:32)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:174)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:31)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

infinite loading...

I built the code on the master branch...
Below is the log from the terminal...
I can't proceed to load the pdf file....(Infinite loading)
image

./bin/Briss-2.0-master
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at at.laborg.briss.BrissGUI.setStateAfterClusteringFinished(BrissGUI.java:626)
at at.laborg.briss.BrissGUI$ClusterPagesTask.done(BrissGUI.java:682)
at java.desktop/javax.swing.SwingWorker$5.run(SwingWorker.java:750)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847)
at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857)
at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:317)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:249)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Crash on launch - macOS

Hi—
I'm glad to see someone working to update Briss.

I'm on macOS Sonoma (14.1.2), using Briss 2.0-alpha 5.

When I try to open Briss (either by double clicking the .jar file or running the bin from terminal) I instantly get a crash report.

Below is as much of the crash report as will fit in the character limit. Any help would be appreciated

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               java [40664]
Path:                  /opt/homebrew/*/java
Identifier:            java
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        JavaLauncher [39693]
User ID:               501

Date/Time:             2023-12-05 12:35:11.7702 -0600
OS Version:            macOS 14.1.2 (23B92)
Report Version:        12
Anonymous UUID:        82A0EAF8-4951-6EEF-1266-2B9DE3B8E10E

Sleep/Wake UUID:       A69BF8A7-8725-4F4A-840B-7762E04425A9

Time Awake Since Boot: 86000 seconds
Time Since Wake:       6081 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000001, 0x0000000190ef64e4

Termination Reason:    Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process:   exc handler [40664]

Application Specific Information:
References to Carbon menus are disallowed with AppKit menu system (see rdar://101002625). Use instances of NSMenu and NSMenuItem directly instead.


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   AppKit                        	       0x190ef64e4 _NSCarbonMenuCrashIfNeeded + 488
1   AppKit                        	       0x190ef6294 _NSGetCarbonMenu + 24
2   JavaRuntimeSupport            	       0x1f8499de8 -[JRSMenu installCarbonEventHandlers:] + 172
3   CoreFoundation                	       0x18cc26820 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
4   CoreFoundation                	       0x18ccba8ec ___CFXRegistrationPost_block_invoke + 88
5   CoreFoundation                	       0x18ccba834 _CFXRegistrationPost + 440
6   CoreFoundation                	       0x18cbf548c _CFXNotificationPost + 764
7   Foundation                    	       0x18dce7030 -[NSNotificationCenter postNotificationName:object:userInfo:] + 88
8   AppKit                        	       0x190400a50 -[NSMenu insertItem:atIndex:] + 520
9   Foundation                    	       0x18dd562d8 __NSThreadPerformPerform + 264
10  CoreFoundation                	       0x18cc31cfc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
11  CoreFoundation                	       0x18cc31c90 __CFRunLoopDoSource0 + 176
12  CoreFoundation                	       0x18cc31a00 __CFRunLoopDoSources0 + 244
13  CoreFoundation                	       0x18cc305f0 __CFRunLoopRun + 828
14  CoreFoundation                	       0x18cc2fc5c CFRunLoopRunSpecific + 608
15  HIToolbox                     	       0x1971ac448 RunCurrentEventLoopInMode + 292
16  HIToolbox                     	       0x1971ac284 ReceiveNextEventCommon + 648
17  HIToolbox                     	       0x1971abfdc _BlockUntilNextEventMatchingListInModeWithFilter + 76
18  AppKit                        	       0x19040ac54 _DPSNextEvent + 660
19  AppKit                        	       0x190be0ebc -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716
20  libosxapp.dylib               	       0x100aaf810 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 136
21  AppKit                        	       0x1903fe100 -[NSApplication run] + 476
22  libosxapp.dylib               	       0x100aaf630 +[NSApplicationAWT runAWTLoopWithApp:] + 132
23  libawt_lwawt.dylib            	       0x100e2f504 +[AWTStarter starter:headless:] + 380
24  libosxapp.dylib               	       0x100ab0de8 +[ThreadUtilities invokeBlockCopy:] + 28
25  Foundation                    	       0x18dd562d8 __NSThreadPerformPerform + 264
26  CoreFoundation                	       0x18cc31cfc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
27  CoreFoundation                	       0x18cc31c90 __CFRunLoopDoSource0 + 176
28  CoreFoundation                	       0x18cc31a00 __CFRunLoopDoSources0 + 244
29  CoreFoundation                	       0x18cc305f0 __CFRunLoopRun + 828
30  CoreFoundation                	       0x18cc2fc5c CFRunLoopRunSpecific + 608
31  libjli.dylib                  	       0x100a13290 CreateExecutionEnvironment + 400
32  libjli.dylib                  	       0x100a0f4f0 JLI_Launch + 1128
33  java                          	       0x10058bbac main + 392
34  dyld                          	       0x18c7d90e0 start + 2360

Thread 1:
0   libsystem_kernel.dylib        	       0x18cb1666c __ulock_wait + 8
1   libsystem_pthread.dylib       	       0x18cb5749c _pthread_join + 608
2   libjli.dylib                  	       0x100a13940 CallJavaMainInNewThread + 184
3   libjli.dylib                  	       0x100a12570 ContinueInNewThread + 148
4   libjli.dylib                  	       0x100a10380 JLI_Launch + 4856
5   java                          	       0x10058bbac main + 392
6   libjli.dylib                  	       0x100a14190 apple_main + 88
7   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
8   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 2:
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   Foundation                    	       0x18e4bd8ec -[_NSThreadPerformInfo wait] + 44
3   Foundation                    	       0x18dd2841c -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 728
4   libawt_lwawt.dylib            	       0x100dfcca4 Java_sun_lwawt_macosx_CMenuItem_nativeCreate + 224
5   ???                           	       0x14f53ca48 ???
6   ???                           	       0x14f539098 ???
7   ???                           	       0x14f539098 ???
8   ???                           	       0x14f539548 ???
9   ???                           	       0x14f539098 ???
10  ???                           	       0x14f539098 ???
11  ???                           	       0x14f53917c ???
12  ???                           	       0x14f53917c ???
13  ???                           	       0x14f539420 ???
14  ???                           	       0x14f53917c ???
15  ???                           	       0x14f53917c ???
16  ???                           	       0x14f53917c ???
17  ???                           	       0x14f53917c ???
18  ???                           	       0x14f538f70 ???
19  ???                           	       0x14f538f70 ???
20  ???                           	       0x14f53917c ???
21  ???                           	       0x14f53917c ???
22  ???                           	       0x14f53917c ???
23  ???                           	       0x14f53917c ???
24  ???                           	       0x14f53917c ???
25  ???                           	       0x14f534140 ???
26  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
27  libjvm.dylib                  	       0x101df8630 jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, JavaThread*) + 188
28  libjvm.dylib                  	       0x101dfb22c jni_CallStaticVoidMethod + 204
29  libjli.dylib                  	       0x100a11000 JavaMain + 1968
30  libjli.dylib                  	       0x100a13988 ThreadJavaMain + 12
31  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
32  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 3:: Java: GC Thread#0
0   libsystem_kernel.dylib        	       0x18cb14830 semaphore_wait_trap + 8
1   libjvm.dylib                  	       0x1020acf98 OSXSemaphore::wait() + 24
2   libjvm.dylib                  	       0x10222c4cc WorkerTaskDispatcher::worker_run_task() + 32
3   libjvm.dylib                  	       0x10222c9b0 WorkerThread::run() + 32
4   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
5   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
6   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 4:: Java: G1 Main Marker
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a80 PlatformMonitor::wait(unsigned long long) + 120
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x101cdcce4 G1ConcurrentMarkThread::wait_for_next_cycle() + 84
5   libjvm.dylib                  	       0x101cdcb8c G1ConcurrentMarkThread::run_service() + 56
6   libjvm.dylib                  	       0x101c071fc ConcurrentGCThread::run() + 36
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 5:: Java: G1 Conc#0
0   libsystem_kernel.dylib        	       0x18cb14830 semaphore_wait_trap + 8
1   libjvm.dylib                  	       0x1020acf98 OSXSemaphore::wait() + 24
2   libjvm.dylib                  	       0x10222c4cc WorkerTaskDispatcher::worker_run_task() + 32
3   libjvm.dylib                  	       0x10222c9b0 WorkerThread::run() + 32
4   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
5   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
6   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 6:: Java: G1 Refine#0
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a80 PlatformMonitor::wait(unsigned long long) + 120
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x101ce22a4 G1PrimaryConcurrentRefineThread::wait_for_completed_buffers() + 80
5   libjvm.dylib                  	       0x101ce1ea0 G1ConcurrentRefineThread::run_service() + 60
6   libjvm.dylib                  	       0x101c071fc ConcurrentGCThread::run() + 36
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 7:: Java: G1 Service
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x101d16780 G1ServiceThread::wait_for_task() + 196
5   libjvm.dylib                  	       0x101d16938 G1ServiceThread::run_service() + 20
6   libjvm.dylib                  	       0x101c071fc ConcurrentGCThread::run() + 36
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 8:: Java: VM Periodic Task Thread
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x102020b30 WatcherThread::sleep() const + 156
5   libjvm.dylib                  	       0x102020c18 WatcherThread::run() + 80
6   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
7   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
8   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
9   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 9:: Java: VM Thread
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x10220cf5c VMThread::wait_for_operation() + 264
5   libjvm.dylib                  	       0x10220c504 VMThread::loop() + 76
6   libjvm.dylib                  	       0x10220c3ac VMThread::run() + 132
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 10:
0   libsystem_pthread.dylib       	       0x18cb4fe28 start_wqthread + 0

Thread 11:
0   libsystem_pthread.dylib       	       0x18cb4fe28 start_wqthread + 0

Thread 12:: Java: Reference Handler
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a80 PlatformMonitor::wait(unsigned long long) + 120
3   libjvm.dylib                  	       0x10200fd08 Monitor::wait(unsigned long long) + 124
4   libjvm.dylib                  	       0x101e3b8ec JVM_WaitForReferencePendingList + 140
5   ???                           	       0x14f53ca48 ???
6   ???                           	       0x14f53917c ???
7   ???                           	       0x14f53917c ???
8   ???                           	       0x14f534140 ???
9   libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
10  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
11  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
12  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
13  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
14  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
15  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
16  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
17  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
18  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 13:: Java: Finalizer
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045130 PlatformEvent::park() + 120
3   libjvm.dylib                  	       0x102028bbc ObjectMonitor::wait(long, bool, JavaThread*) + 1192
4   libjvm.dylib                  	       0x10217895c ObjectSynchronizer::wait(Handle, long, JavaThread*) + 260
5   libjvm.dylib                  	       0x101e2b93c JVM_MonitorWait + 308
6   ???                           	       0x14f53ca48 ???
7   ???                           	       0x14f53917c ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f53917c ???
10  ???                           	       0x14f53917c ???
11  ???                           	       0x14f538f70 ???
12  ???                           	       0x14f538f70 ???
13  ???                           	       0x14f534140 ???
14  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
15  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
16  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
17  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
18  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
19  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
20  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
21  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
22  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
23  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 14:: Java: Signal Dispatcher
0   libsystem_kernel.dylib        	       0x18cb14830 semaphore_wait_trap + 8
1   libjvm.dylib                  	       0x1020acf98 OSXSemaphore::wait() + 24
2   libjvm.dylib                  	       0x102116a84 os::signal_wait() + 192
3   libjvm.dylib                  	       0x10203a4a0 signal_thread_entry(JavaThread*, JavaThread*) + 76
4   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
5   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
6   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
7   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
8   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
9   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 15:: Java: Service Thread
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a80 PlatformMonitor::wait(unsigned long long) + 120
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x1020aeb24 ServiceThread::service_thread_entry(JavaThread*, JavaThread*) + 476
5   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
6   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 16:: Java: Monitor Deflation Thread
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x102005d04 MonitorDeflationThread::monitor_deflation_thread_entry(JavaThread*, JavaThread*) + 252
5   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
6   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 17:: Java: C2 CompilerThread0
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fd08 Monitor::wait(unsigned long long) + 124
4   libjvm.dylib                  	       0x101bf2d80 CompileQueue::get(CompilerThread*) + 392
5   libjvm.dylib                  	       0x101bf5964 CompileBroker::compiler_thread_loop() + 428
6   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
7   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
8   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
9   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
10  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
11  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 18:: Java: C1 CompilerThread0
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fd08 Monitor::wait(unsigned long long) + 124
4   libjvm.dylib                  	       0x101bf2d80 CompileQueue::get(CompilerThread*) + 392
5   libjvm.dylib                  	       0x101bf5964 CompileBroker::compiler_thread_loop() + 428
6   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
7   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
8   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
9   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
10  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
11  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 19:: Java: Notification Thread
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a80 PlatformMonitor::wait(unsigned long long) + 120
3   libjvm.dylib                  	       0x10200fc74 Monitor::wait_without_safepoint_check(unsigned long long) + 48
4   libjvm.dylib                  	       0x1020211d0 NotificationThread::notification_thread_entry(JavaThread*, JavaThread*) + 176
5   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
6   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
7   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
8   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
9   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
10  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 20:: Java: Common-Cleaner
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x10204556c Parker::park(bool, long) + 260
3   libjvm.dylib                  	       0x1021c7938 Unsafe_Park(JNIEnv_*, _jobject*, unsigned char, long) + 192
4   ???                           	       0x14f53ca48 ???
5   ???                           	       0x14f53917c ???
6   ???                           	       0x14f53917c ???
7   ???                           	       0x14f5394fc ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f538f70 ???
10  ???                           	       0x14f538f70 ???
11  ???                           	       0x14f53962c ???
12  ???                           	       0x14f53917c ???
13  ???                           	       0x14f53917c ???
14  ???                           	       0x14f534140 ???
15  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
16  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
17  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
18  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
19  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
20  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
21  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
22  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
23  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
24  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 21:
0   libsystem_pthread.dylib       	       0x18cb4fe28 start_wqthread + 0

Thread 22:
0   libsystem_pthread.dylib       	       0x18cb4fe28 start_wqthread + 0

Thread 23:: Java: AWT-Shutdown
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045130 PlatformEvent::park() + 120
3   libjvm.dylib                  	       0x102028bbc ObjectMonitor::wait(long, bool, JavaThread*) + 1192
4   libjvm.dylib                  	       0x10217895c ObjectSynchronizer::wait(Handle, long, JavaThread*) + 260
5   libjvm.dylib                  	       0x101e2b93c JVM_MonitorWait + 308
6   ???                           	       0x14f53ca48 ???
7   ???                           	       0x14f53917c ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f53917c ???
10  ???                           	       0x14f53962c ???
11  ???                           	       0x14f53917c ???
12  ???                           	       0x14f534140 ???
13  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
14  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
15  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
16  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
17  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
18  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
19  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
20  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
21  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
22  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 24:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	       0x18cb148b4 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x18cb26d30 mach_msg2_internal + 80
2   libsystem_kernel.dylib        	       0x18cb1d4f0 mach_msg_overwrite + 476
3   libsystem_kernel.dylib        	       0x18cb14c38 mach_msg + 24
4   CoreFoundation                	       0x18cc31ea4 __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x18cc3076c __CFRunLoopRun + 1208
6   CoreFoundation                	       0x18cc2fc5c CFRunLoopRunSpecific + 608
7   AppKit                        	       0x190534404 _NSEventThread + 144
8   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
9   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 25:: Java: Java2D Queue Flusher
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x1020452a0 PlatformEvent::park_nanos(long) + 152
3   libjvm.dylib                  	       0x102028970 ObjectMonitor::wait(long, bool, JavaThread*) + 604
4   libjvm.dylib                  	       0x10217895c ObjectSynchronizer::wait(Handle, long, JavaThread*) + 260
5   libjvm.dylib                  	       0x101e2b93c JVM_MonitorWait + 308
6   ???                           	       0x14f53ca48 ???
7   ???                           	       0x14f53917c ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f53962c ???
10  ???                           	       0x14f53917c ???
11  ???                           	       0x14f534140 ???
12  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
13  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
14  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
15  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
16  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
17  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
18  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
19  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
20  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
21  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 26:: Java: Java2D Disposer
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045580 Parker::park(bool, long) + 280
3   libjvm.dylib                  	       0x1021c7938 Unsafe_Park(JNIEnv_*, _jobject*, unsigned char, long) + 192
4   ???                           	       0x14f53ca48 ???
5   ???                           	       0x14f53917c ???
6   ???                           	       0x14f53917c ???
7   ???                           	       0x14f5394fc ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f53917c ???
10  ???                           	       0x14f53962c ???
11  ???                           	       0x14f53917c ???
12  ???                           	       0x14f538f70 ???
13  ???                           	       0x14f538f70 ???
14  ???                           	       0x14f53962c ???
15  ???                           	       0x14f53917c ???
16  ???                           	       0x14f534140 ???
17  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
18  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
19  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
20  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
21  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
22  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
23  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
24  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
25  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
26  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 27:: Java: Image Fetcher 3
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x1020452a0 PlatformEvent::park_nanos(long) + 152
3   libjvm.dylib                  	       0x102028970 ObjectMonitor::wait(long, bool, JavaThread*) + 604
4   libjvm.dylib                  	       0x10217895c ObjectSynchronizer::wait(Handle, long, JavaThread*) + 260
5   libjvm.dylib                  	       0x101e2b93c JVM_MonitorWait + 308
6   ???                           	       0x14f53ca48 ???
7   ???                           	       0x14f53917c ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f538f70 ???
10  ???                           	       0x14f53917c ???
11  ???                           	       0x14f534140 ???
12  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
13  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
14  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
15  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
16  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
17  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
18  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
19  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
20  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
21  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 28:: Java: AWT-EventQueue-0
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x1020452a0 PlatformEvent::park_nanos(long) + 152
3   libjvm.dylib                  	       0x102027bc4 ObjectMonitor::EnterI(JavaThread*) + 452
4   libjvm.dylib                  	       0x1020275d0 ObjectMonitor::enter(JavaThread*) + 756
5   libjvm.dylib                  	       0x102177d64 ObjectSynchronizer::enter(Handle, BasicLock*, JavaThread*) + 388
6   libjvm.dylib                  	       0x101d8ca6c InterpreterRuntime::monitorenter(JavaThread*, BasicObjectLock*) + 160
7   ???                           	       0x14f548560 ???
8   ???                           	       0x14f53917c ???
9   ???                           	       0x14f53917c ???
10  ???                           	       0x14f53917c ???
11  ???                           	       0x14f53917c ???
12  ???                           	       0x14f538f70 ???
13  ???                           	       0x1480e0d98 ???
14  ???                           	       0x14f538f70 ???
15  ???                           	       0x14f538f70 ???
16  ???                           	       0x14f539420 ???
17  ???                           	       0x14f538f70 ???
18  ???                           	       0x1480e0d98 ???
19  ???                           	       0x14f538f70 ???
20  ???                           	       0x14f539420 ???
21  ???                           	       0x14f53917c ???
22  ???                           	       0x14f53917c ???
23  ???                           	       0x14f53917c ???
24  ???                           	       0x14f53917c ???
25  ???                           	       0x14f53917c ???
26  ???                           	       0x14f53917c ???
27  ???                           	       0x14f534140 ???
28  libjvm.dylib                  	       0x101d9493c JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) + 604
29  libjvm.dylib                  	       0x101d93d08 JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*) + 248
30  libjvm.dylib                  	       0x101d93dd0 JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*) + 100
31  libjvm.dylib                  	       0x101e39f54 thread_entry(JavaThread*, JavaThread*) + 156
32  libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
33  libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
34  libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
35  libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
36  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
37  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 29:: CVDisplayLink
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb55628 _pthread_cond_wait + 1272
2   CoreVideo                     	       0x1954ef528 CVDisplayLink::waitUntil(unsigned long long) + 328
3   CoreVideo                     	       0x1954ee5f4 CVDisplayLink::runIOThread() + 504
4   libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
5   libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8

Thread 30:: Java: C2 CompilerThread1
0   libsystem_kernel.dylib        	       0x18cb180ac __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18cb555fc _pthread_cond_wait + 1228
2   libjvm.dylib                  	       0x102045a68 PlatformMonitor::wait(unsigned long long) + 96
3   libjvm.dylib                  	       0x10200fd08 Monitor::wait(unsigned long long) + 124
4   libjvm.dylib                  	       0x101bf2d80 CompileQueue::get(CompilerThread*) + 392
5   libjvm.dylib                  	       0x101bf5964 CompileBroker::compiler_thread_loop() + 428
6   libjvm.dylib                  	       0x101da4c90 JavaThread::thread_main_inner() + 132
7   libjvm.dylib                  	       0x101da4aec JavaThread::run() + 336
8   libjvm.dylib                  	       0x1021a0a98 Thread::call_run() + 140
9   libjvm.dylib                  	       0x10203ea54 thread_native_entry(Thread*) + 204
10  libsystem_pthread.dylib       	       0x18cb55034 _pthread_start + 136
11  libsystem_pthread.dylib       	       0x18cb4fe3c thread_start + 8


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x9c7451924fb3008e   x9: 0x9c7451924fb3008e  x10: 0x000000000000000d  x11: 0x0000000000000001
   x12: 0x000000016f8731f2  x13: 0x0000000000000000  x14: 0x000000010059412e  x15: 0x00000001e2d205d8
   x16: 0xfffffffffffffff4  x17: 0x00000001ebcf4938  x18: 0x0000000000000000  x19: 0x0000600002002d00
   x20: 0x0000000000000010  x21: 0x00000001e4551798  x22: 0x00000001e45517b8  x23: 0x000060000056a220
   x24: 0x0000000000000023  x25: 0x0000000000000010  x26: 0x0000000000000005  x27: 0x0000000000000005
   x28: 0x0000000000000005   fp: 0x000000016f873510   lr: 0x500a800190ef64e4
    sp: 0x000000016f8733f0   pc: 0x0000000190ef64e4 cpsr: 0x60001000
   far: 0x0000000000000000  esr: 0xf2000001 (Breakpoint) brk 1

Binary Images:
       0x10afcc000 -        0x10afd7fff libosxui.dylib (*) <9ee9f9b4-bf61-339b-a4e3-851382986393> /opt/homebrew/*/libosxui.dylib
       0x101248000 -        0x101253fff libobjc-trampolines.dylib (*) <c9ce7923-2f2d-31eb-a6e4-0f3b7a78f895> /usr/lib/libobjc-trampolines.dylib
       0x1008e0000 -        0x1008ebfff libfontmanager.dylib (*) <f420c918-21b4-3f88-8c15-a372fdc78f41> /opt/homebrew/*/libfontmanager.dylib
       0x100efc000 -        0x100fb7fff libharfbuzz.0.dylib (*) <5c2fa5f7-2c3c-3157-8edf-73b749ac5233> /opt/homebrew/*/libharfbuzz.0.dylib
       0x100d20000 -        0x100d83fff libfreetype.dylib (*) <67346d03-4076-32d1-87a0-07527be599c5> /opt/homebrew/*/libfreetype.dylib
       0x1010c0000 -        0x10113bfff libfreetype.6.dylib (*) <166fea07-2eb1-3cc6-bd74-1f25515bc9e0> /opt/homebrew/*/libfreetype.6.dylib
       0x101288000 -        0x101377fff libglib-2.0.0.dylib (*) <1ac205a6-f0f5-3342-a252-e40ab984ee26> /opt/homebrew/*/libglib-2.0.0.dylib
       0x100c98000 -        0x100caffff libintl.8.dylib (*) <42a7633b-14d0-3835-84d1-2a4eb38fdc29> /opt/homebrew/*/libintl.8.dylib
       0x100adc000 -        0x100aeffff libgraphite2.3.2.1.dylib (*) <1bbb20c8-b0d3-318a-a229-f81c8a8dd304> /opt/homebrew/*/libgraphite2.3.2.1.dylib
       0x100cc0000 -        0x100ce3fff libpng16.16.dylib (*) <6557e5a9-1005-3d77-b69f-62f552ee7570> /opt/homebrew/*/libpng16.16.dylib
       0x101160000 -        0x1011d3fff libpcre2-8.0.dylib (*) <2a661909-9b11-3fd4-b022-97709debc0e7> /opt/homebrew/*/libpcre2-8.0.dylib
       0x100dc8000 -        0x100e7ffff libawt_lwawt.dylib (*) <06f73803-8570-3f55-a8c1-df75f5d68c86> /opt/homebrew/*/libawt_lwawt.dylib
       0x100aa8000 -        0x100ab3fff libosxapp.dylib (*) <c411252d-05c2-3e68-8a39-9c1cd08817ba> /opt/homebrew/*/libosxapp.dylib
       0x100c00000 -        0x100c53fff libawt.dylib (*) <3bc05cbc-0a41-390b-a76e-3c457c4f2fd5> /opt/homebrew/*/libawt.dylib
       0x100938000 -        0x10097ffff libmlib_image.dylib (*) <041bc6cd-7809-3876-b5c8-c10b1b309067> /opt/homebrew/*/libmlib_image.dylib
       0x100884000 -        0x10088bfff libzip.dylib (*) <ac70bda7-a9ac-3c26-913f-134d1f9fff14> /opt/homebrew/*/libzip.dylib
       0x1008a4000 -        0x1008affff libnio.dylib (*) <6361fffd-3dd3-30ea-854d-dc7eb54fe20a> /opt/homebrew/*/libnio.dylib
       0x1008c4000 -        0x1008cffff libnet.dylib (*) <2909bafb-b125-37df-bff6-ab94dc1773c9> /opt/homebrew/*/libnet.dylib
       0x1005f4000 -        0x100607fff libjava.dylib (*) <f7b6ada0-2fcc-350b-adb4-0c8bea47a56b> /opt/homebrew/*/libjava.dylib
       0x1005b0000 -        0x1005b3fff libjimage.dylib (*) <daffe83a-d2b0-3a55-b16c-97e6bfaa7e95> /opt/homebrew/*/libjimage.dylib
       0x1019d4000 -        0x102373fff libjvm.dylib (*) <9cf6bb58-2d48-3a4a-a623-5c09bc9192a9> /opt/homebrew/*/libjvm.dylib
       0x100a08000 -        0x100a17fff libjli.dylib (*) <fc30c608-2d70-3af9-b548-52b25e96fe80> /opt/homebrew/*/libjli.dylib
       0x100588000 -        0x10058bfff java (*) <0910ee5a-c5fa-3eae-a9ee-faa6cf7cb35e> /opt/homebrew/*/java
       0x1903d1000 -        0x1916e5fff com.apple.AppKit (6.9) <b475e541-691d-39c6-8ca4-e414b0d3dd88> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x1f8494000 -        0x1f849ffff com.apple.JavaRuntimeSupport (80) <cf2076bb-79a9-372f-a1e1-b48e05e63452> /System/Library/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport
       0x18cbb4000 -        0x18d08bfff com.apple.CoreFoundation (6.9) <9f046e36-7286-3a6e-a280-699d6e47cfaf> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
       0x18dcde000 -        0x18e92bfff com.apple.Foundation (6.9) <2126fd9a-52ce-3eb2-8640-b57535e073b8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
       0x19717c000 -        0x19743bfff com.apple.HIToolbox (2.1.1) <4dffb7eb-bbcd-3ff6-a203-5a0b97358ee8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
       0x18c7d3000 -        0x18c867317 dyld (*) <ec7a3ba0-f9bf-3ab8-a0f4-8622e5606b20> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
       0x18cb13000 -        0x18cb4dfef libsystem_kernel.dylib (*) <b7751381-1442-30b5-91b9-ad7be461bebe> /usr/lib/system/libsystem_kernel.dylib
       0x18cb4e000 -        0x18cb5aff3 libsystem_pthread.dylib (*) <daf95373-5de6-39a1-a6ce-d87f3f0629cc> /usr/lib/system/libsystem_pthread.dylib
       0x1954ec000 -        0x195549fff com.apple.CoreVideo (1.8) <e392a14b-42a2-3376-a46b-e7ff0aa4c272> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.2G resident=0K(0%) swapped_out_or_unallocated=1.2G(100%)
Writable regions: Total=2.0G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=2.0G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        2 
Activity Tracing                   256K        1 
CG image                          8256K        2 
ColorSync                          592K       27 
CoreAnimation                      256K       16 
CoreGraphics                        32K        2 
CoreUI image data                  736K        5 
Foundation                         112K        2 
Image IO                          1024K        1 
Kernel Alloc Once                   32K        1 
MALLOC                             1.3G       49 
MALLOC guard page                  192K       12 
STACK GUARD                       1040K       31 
Stack                             57.6M       31 
Stack Guard                       56.2M       16 
VM_ALLOCATE                        9.2G      173 
VM_ALLOCATE (reserved)           300.0M        6         reserved VM address space (unallocated)
__AUTH                             948K      210 
__AUTH_CONST                      16.0M      375 
__CTF                               824        1 
__DATA                            5197K      382 
__DATA_CONST                      19.5M      399 
__DATA_DIRTY                       921K      116 
__FONT_DATA                          4K        1 
__LINKEDIT                       892.8M       24 
__OBJC_RO                         70.8M        1 
__OBJC_RW                         2156K        1 
__TEXT                           323.5M      414 
dyld private memory                272K        2 
mapped file                      322.7M       28 
shared memory                     1376K       15 
===========                     =======  ======= 
TOTAL                             12.6G     2346 
TOTAL, minus reserved VM space    12.3G     2346 



-----------
Full Report
-----------

{"app_name":"java","timestamp":"2023-12-05 12:35:11.00 -0600","app_version":"","slice_uuid":"0910ee5a-c5fa-3eae-a9ee-faa6cf7cb35e","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 14.1.2 (23B92)","roots_installed":0,"incident_id":"1099ADF3-0558-4AC5-BC99-1D3B3C269719","name":"java"}
{
  "uptime" : 86000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro18,3",
  "coalitionID" : 19723,
  "osVersion" : {
    "train" : "macOS 14.1.2",
    "build" : "23B92",
    "releaseType" : "User"
  },
 

Can I pass the --splitcol argument without executing it?

I'm not sure how briss determines how many rectangles it suggests after loading a file (or where to position them), but the default seems to be one rectangle per page cluster and it seems to select all text on the page (I believe it only selected the text on left half of the page in briss 0.9).

Since we typically use briss to split double-page pdfs into single-page pdfs, I think the 0.9 behaviour makes more sense, but it would be even better if we get two rectangles on each page to work with from the start. I was hoping that the --splitcol argument would do that but found that it will immediately execute the split without giving me a chance to make corrections.

So I wonder whether there is any way of telling briss (in manual mode) that each page should be split into columns?

If it is not yet possible, a basic version could be implemented by adding a routine that splits the existing rectangles exactly into half (almost the same as right-clicking on the rectangle and selecting "Split into columns", except that the split is currently not in the middle of the rectangle, I don't know why).

Another thing: In briss 0.9, it was also possible to set all rectangles to the width and height of the biggest one (by ctrl-left clicking). Is this feature no longer available?

Finally (while I'm at it): is there any way of stopping the briss window from maximizing itself after loading a page. I don't see the point... (if only because it makes the "Crop" and "Preview" buttons harder to find...
Briss-2023-02-27 at 10 08 13@2x

Change Filechooser

Currently the used filechooser is a JFileChooser which is very ugly and cumbersome to use. Either we change it to AWTs FileDialog or we need another alternative like the one from SWT or a native one through JNI

Can't execute Briss 2.0 on Windows 11

Windows 11 Home
21H2 (22000.613)

Java version

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Execute Briss-2.0.bat and get the following stacktrace:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
        at at.laborg.briss.BrissGUI.<init>(BrissGUI.java:148)
        at at.laborg.briss.Briss.main(Briss.java:34)
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 2 more

Save some cropping settings to use in command line

Hello, I have been using this tool to batch cropping some ebay labels. However, because of the recent changes from ebay, Briss failed to detect correct regions and my batch command can never work now.

It would be good to have a custom region setting and use it in each batching job.

The command may be something as:

briss -s some.pdf -d cropped.pdf -c config.txt

Thanks.

feature_request(crop): more than 25 pages crop

1. Summary

I can't crop my PDF books, if they have more than 25 pages.

2. Steps to reproduce

I run Briss → FileLoad file → I load this book.

3. Expected behavior

Ability to crop all pages.

4. Actual behavior

I can crop only initial 25 pages.

Briss__Crop_25_and_26_pages

After 25th page I get white squares that I can't crop.

Thanks.

Briss fails to fully load document

This is not strictly related to the 2.0 overhaul:
I've been using Briss for years - and frequently ran into the problem of pdf-files not fully loading when 'Load file' is selected. - Helped myself by splitting up the pdf into many and processed them individually. Does somebody have a better solution or know what causes this?
Thank you very much!

Broken PDF

I would like to create a job on my Synology NAS which automatically processes the incoming PDF files. Unfortunately, I get a "broken" PDF that cannot open on Adobe Acrobat on my Windows.
Java version: 11.0.12.7-1

uL8gxZ6cFQ

./Briss-2.0 -s "test.pdf" -d "test_cropped.pdf"
Clustering PDF: test.pdf
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.itextpdf.text.io.ByteBufferRandomAccessSource$1 (file:/volume1/Dateien/Test_PDFcrop/Briss-2.0/Briss-2.0/lib/itextpdf-5.5.10.jar) to method java.nio.DirectByteBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of com.itextpdf.text.io.ByteBufferRandomAccessSource$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Created 2 clusters.
Starting to render clusters......................Fontconfig error: Cannot load default config file
Exception in thread "Thread-0" java.lang.InternalError: java.lang.reflect.InvocationTargetException
        at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
        at java.desktop/java.awt.Font.getFont2D(Font.java:497)
        at java.desktop/java.awt.Font.getFontName(Font.java:1469)
        at java.desktop/java.awt.Font.getFontName(Font.java:1451)
        at org.jpedal.objects.acroforms.formData.SwingData.recalcFontSize(Unknown Source)
        at org.jpedal.objects.acroforms.formData.SwingData.scaleComponent(Unknown Source)
        at org.jpedal.objects.acroforms.formData.SwingData.setField(Unknown Source)
        at org.jpedal.objects.acroforms.formData.SwingData.completeField(Unknown Source)
        at org.jpedal.objects.acroforms.rendering.DefaultAcroRenderer.createField(Unknown Source)
        at org.jpedal.objects.acroforms.rendering.DefaultAcroRenderer.createDisplayComponentsForPage(Unknown Source)
        at org.jpedal.PDFtoImageConvertor.convert(Unknown Source)
        at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
        at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
        at at.laborg.briss.utils.ClusterRenderWorker.run(ClusterRenderWorker.java:42)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)
        ... 15 more
Caused by: java.lang.NullPointerException
        at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
        at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
        at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
        at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:379)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:324)
        at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
        at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
        ... 20 more
finished!
Calculating crop rectangles.
Starting to crop files.
Cropping succesful. Cropped to:/volume1/Dateien/Test_PDFcrop/Briss-2.0/Briss-2.0/bin/test_cropped.pdf

Could you please help me on this?

Missing shortcuts

Having processed a sizeable number of pdf with the original Briss, this version is missing the keyboard shortcuts. ('A' for selecting all, and 'S' to input the size come to mind).

New crop rectangles are created behind older ones

When a new crop rectangle is created, it will be put behind the others. So when this rectangle is overlapping with an already existing one it cannot be selected. This is not intuitive and doesn't behave that way in other apps.
It would make more sense that the new rect is put in front of the others.
Maybe it even makes sense to add an option for moving a rect to the bottom / top.

Does not render PDF correctly

I've been trying to use BRISS to select parts of a document to crop so we can print only the required parts, on the whole this works well, the only issue I have is when it loads the file so you can select the areas you want to keep the file is not loaded correctly so this leaves us guessing when the selections need to go.

image

I've attached the original file.

Environment is
Windows 10
Java Build 1.8.0_191-b12
carton labels - FBA15BRWG0BD.pdf

Problems Launching on Briss 2.0

Greetings! I am a grateful user of Briss 0.9 for some time. It is a great app. I recently stumbled upon this update when I upgraded to Ventura and Briss 0.9 no longer works. I was very excited to learn about this upgrade! It is such a useful utility!

However, I am having a difficult time installing Briss 2.0. I am at a very, very rudimentary level of technical understanding. I just upgraded to Ventura on my MacOs. When I try to launch the Briss 2.0 file I get the following error (see image below).

This may not be the correct spot to ask for help on the install problems, but I would be grateful for any help in getting this newer version of Briss 2.0 to work on my upgraded MacOs.

Can anyone provide some help?

Thanks in advance! (And thanks for your great work on this utility!)

Screenshot 2023-01-22 at 9 26 20 PM

How to install it?

I downloaded the files, I tried clicking on some of them, but the program didn't start. The „Installation” section in the manual is not about installation, but about something else. I've been using Briss 0.9 for years and all I needed to do was to download it and open briss-0.9.jar. There's no such file in Briss 2.0 or I can't see it.

If I need to learn something to run in, could you help me by telling what this skill/action/process is? I don't even know what to put in my search engine. The manual seems to run on an assumption that it's obvious to everyone.

Crop rectangle disappears

The crop rectangle disappears if it has negative width and height. This happens if the handle at the top left is dragged over the handle at the bottom right.

Build fails when using JDK 8

Steps to reproduce

  1. checkout master or download source zip file based on branch master
  2. on the project root folder, run ./gradlew distZip

Expected behavior

The project builds successfully.

Current behavior

The build fails with an error message (see below).

Reproduced on master 066f376

Java version

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Also tested with Docker container (imageopenjdk:8-buster)

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

Console output/errors

FAILURE: Build failed with an exception.

* What went wrong:
java.lang.UnsupportedClassVersionError: org/openjfx/gradle/JavaFXPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
> org/openjfx/gradle/JavaFXPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

Destructive crop for conversion to epub

When a PDF is cropped with BRISS and then converted to epub, the headers and footers that are cropped still appear in the epub because briss doesn't actually remove the text outside crop. It just hides it.

I use TTS to read my books since my vision is bad and for this, I need to convert the book to epub.

Can destructive crop be added to BRISS 2.0.

Or can some one atleast point to a software that postprocess BRISS cropped PDF into a PDF that doesn't destructive crop of data outside view?

clarify whether Briss crops losslessly

Documentation request: Does Briss crop losslessly? Put another way: are images embedded in PDF pages decoded and re-encoded/re-rastered (which, in the case of lossy images, would result in a potential quality degredation)? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.