finalshell 4.5.x在m1mac闪退

news2024/9/21 4:33:58

使用过程中会出现突然闪退,尤其在定位生产打开一堆窗口的情况下,绝绝子

闪退崩溃日志:

Thread 116 Crashed:: Java: pool-4-thread-28
0   libsystem_kernel.dylib        	       0x18e926600 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x18e95ef70 pthread_kill + 288
2   libsystem_c.dylib             	       0x18e86b908 abort + 128
3   libjvm.dylib                  	       0x1078e0140 os::abort(bool, void*, void const*) + 56
4   libjvm.dylib                  	       0x107aa6ef8 VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) + 2404
5   libjvm.dylib                  	       0x107aa6588 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) + 72
6   libjvm.dylib                  	       0x107aa72a8 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) + 36
7   libsystem_platform.dylib      	       0x18e994184 _sigtramp + 56
8   libjvm.dylib                  	       0x107460ca0 BlockLocationPrinter<G1CollectedHeap>::base_oop_or_null(void*) + 236
9   libjvm.dylib                  	       0x107460ca0 BlockLocationPrinter<G1CollectedHeap>::base_oop_or_null(void*) + 236
10  libjvm.dylib                  	       0x10745e334 BlockLocationPrinter<G1CollectedHeap>::print_location(outputStream*, void*) + 64
11  libjvm.dylib                  	       0x1078d4914 os::print_location(outputStream*, long, bool) + 220
12  libjvm.dylib                  	       0x1078db71c os::print_register_info(outputStream*, void const*, int&) + 180
13  libjvm.dylib                  	       0x107aa56d0 VMError::report(outputStream*, bool) + 10472
14  libjvm.dylib                  	       0x107aa6a14 VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) + 1152
15  libjvm.dylib                  	       0x107aa6588 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) + 72
16  libjvm.dylib                  	       0x107aa72a8 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) + 36
17  libsystem_platform.dylib      	       0x18e994184 _sigtramp + 56
18  libjvm.dylib                  	       0x107460ca0 BlockLocationPrinter<G1CollectedHeap>::base_oop_or_null(void*) + 236
19  libjvm.dylib                  	       0x107460ca0 BlockLocationPrinter<G1CollectedHeap>::base_oop_or_null(void*) + 236
20  libjvm.dylib                  	       0x10745e334 BlockLocationPrinter<G1CollectedHeap>::print_location(outputStream*, void*) + 64
21  libjvm.dylib                  	       0x1078d4914 os::print_location(outputStream*, long, bool) + 220
22  libjvm.dylib                  	       0x1078db71c os::print_register_info(outputStream*, void const*, int&) + 180
23  libjvm.dylib                  	       0x107aa40e8 VMError::report(outputStream*, bool) + 4864
24  libjvm.dylib                  	       0x107aa6a14 VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) + 1152
25  libjvm.dylib                  	       0x107aa6588 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) + 72
26  libjvm.dylib                  	       0x107aa72a8 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) + 36
27  libjvm.dylib                  	       0x10797dc84 JVM_handle_bsd_signal + 424
28  libsystem_platform.dylib      	       0x18e994184 _sigtramp + 56
29  libjvm.dylib                  	       0x1075de84c jni_SetByteArrayRegion + 428
30  ???                           	       0x113d39e10 ???
31  ???                           	       0x1142ad018 ???
32  ???                           	      0x2e000409b0 ???

以下为gpt分析的结果
在这里插入图片描述
查看原始finalshell中配置的启动参数,投喂gpt给出了一些解决方案

在这里插入图片描述

当前配置选项解释

  1. -Djpackage.app-version=4.5.2

    • 设置应用程序的版本号为 4.5.2。
    • 优化建议:这个选项无须更改,因为它只是设置版本信息。
  2. -Dsun.java2d.opengl=true

    • 启用 OpenGL 硬件加速。
    • 优化建议:如果你的应用程序不依赖 OpenGL 硬件加速,或者 OpenGL 可能导致不稳定,可以尝试禁用此选项以排除它作为潜在问题的可能性。
  3. -XX:MinHeapFreeRatio=10

    • 设置 JVM 最小空闲堆内存比例为 10%。
    • 优化建议:这个值比较低,可以尝试增加这个值,例如 20%,以确保 JVM 有足够的空闲内存进行垃圾回收。
  4. -XX:MaxHeapFreeRatio=30

    • 设置 JVM 最大空闲堆内存比例为 30%。
    • 优化建议:这个值也比较低,可以尝试增加这个值,例如 40%,以确保 JVM 有足够的空闲内存进行垃圾回收。
  5. --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED

    • 允许未命名模块访问 java.desktop 模块中的 com.apple.eawt 包。
    • 优化建议:如果你的应用程序需要访问 com.apple.eawt 包,这个选项是必要的,无须更改。

其他优化建议

  1. 增加堆栈大小

    • 如果你的应用程序可能因为堆栈溢出而崩溃,可以增加 JVM 堆栈大小,例如:
      -Xss2m
      
    • 默认堆栈大小通常是 1MB,你可以尝试增加到 2MB 或更大。
  2. 启用详细的垃圾收集日志

    • 以便更好地监控垃圾收集情况和内存使用情况:
      -Xlog:gc*:file=gc.log:time,uptime:filecount=5,filesize=10m
      
  3. 启用崩溃日志

    • 以便在 JVM 崩溃时生成更多的调试信息:
      -XX:+CreateCoredumpOnCrash
      -XX:+HeapDumpOnOutOfMemoryError
      -XX:HeapDumpPath=/path/to/dump
      
  4. 增加初始堆内存和最大堆内存

    • 例如:
      -Xms512m
      -Xmx2g
      

最终优化后的内容,目前使用中暂时未遇到闪退
文件路径 /Applications/FinalShell.app/Contents/app/FinalShell.cfg

[Application]
app.classpath=$APPDIR/finalshell.jar
app.mainclass=st
app.classpath=$APPDIR/lib-run/bcprov.jar

[JavaOptions]
java-options=-Djpackage.app-version=4.5.2
java-options=-Dsun.java2d.opengl=true
java-options=-XX:MinHeapFreeRatio=20
java-options=-XX:MaxHeapFreeRatio=40
java-options=--add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED
java-options=-Xss2m
java-options=-Xms512m
java-options=-Xmx2g

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111730.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于opencv实现双目立体匹配点云距离

双目相机或两个单目相机。 一、相机标定 MATLAB软件&#xff0c;打开双目标定app。 点击add images&#xff0c;弹出加载图像的窗口&#xff0c;分别导入左图和右图&#xff0c;设置黑白格长度&#xff08;标定板的长度一般为20&#xff09;。 点击确定&#xff0c;弹出加载…

ArrayList,LinkedList

ArrayList集合 底层原理 1.利用空参创建的集合&#xff0c;在底层创建一个默认长度为0的数组 2.添加第一个元素时&#xff0c;底层会创建一个新的长度为10的数组 3.存满时&#xff0c;会扩容1.5倍 4.如果一次添加多个元素&#xff0c;1.5倍还放不下&#xff0c;则新创建数…

【C++】list的使用与简单模拟实现

目录 1、list的介绍和使用&#xff1a; 1、结构&#xff1a; 2、接口函数&#xff1a; 迭代器遍历&#xff1a; 增删查改&#xff1a; 翻转与排序&#xff1a; 2、list的模拟实现&#xff1a; 1、节点的封装&#xff1a; 2、迭代器的封装&#xff1a; 3、list的模拟实…

Flutter中自定义气泡框效果的实现

在用户界面的设计中&#xff0c;气泡框&#xff08;Bubble&#xff09;是一种非常有效的视觉工具&#xff0c;它可以用来突出显示信息或提示用户。气泡框广泛应用于聊天应用、通知提示等场景。在 Flutter 中&#xff0c;虽然有很多现成的气泡框组件&#xff0c;但如果你想要更多…

关于 ubuntu系统install的cmake版本较低无法编译项目升级其版本 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/141933927 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

django摄影竞赛小程序论文源码调试讲解

2系统关键技术及工具简介 系统开发过程中设计的关键技术是系统的核心&#xff0c;而开发工具则会影响的项目开发的进程和效率。第二部分便描述了系统的设计与实现等相关开发工具。 2.1 Python简介 Python 属于一个高层次的脚本语言&#xff0c;以解释性&#xff0c;编译性&am…

Android Studio调试Flutter项目

run运行项目中途&#xff0c;点击Flutter Attach 等一会就可以调试&#xff01; 或者&#xff0c;直接Debug允行项目。

C++相关概念和易错语法(32)(单例模式、类型转换)

1.单例模式 &#xff08;1&#xff09;设计模式是什么&#xff1f; 简单来说&#xff0c;被反复使用&#xff0c;多数人知晓、经过分类的代码设计经验的总结就叫设计模式&#xff0c;它建立在特殊类的设计之上&#xff0c;实现特殊的功能&#xff0c;运用的知识也十分综合。如…

协议集合(学习笔记)

按照数据的传送方式&#xff0c;通信协议可分为以下2种。 串行通信&#xff1a;串行&#xff08;Serial&#xff09;指的是逐个传输数据位&#xff0c;一次只传输一个位。 并行通信&#xff1a;并行&#xff08;Parallel&#xff09;指的是同时传输多个数据位&#xff0c;一次…

VMware 中 kali Linux的安装与使用

文章目录 前言 一、安装虚拟机 二、使用步骤 总结 前言 随着信息技术的飞速发展&#xff0c;虚拟化技术已经成为现代企业和个人用户不可或缺的一部分。通过虚拟化技术&#xff0c;我们可以在一台物理计算机上运行多个独立的操作系统和应用程序&#xff0c;从而实现资源的高效利…

基于WiFi的智能照明控制系统的设计与实现(论文+源码)

1系统方案设计 本设计智能照明控制系统&#xff0c;结合STM32F103单片机、光照检测模块、显示模块、按键模块、太阳能板、LED灯模块、WIFI模块等器件构成整个系统&#xff0c;在功能上可以实现光照强度检测&#xff0c;并且在自动模式下可以自动调节照明亮度&#xff0c;在手动…

【spring】例子2:mvc web开发

领域类 开发时编译时用lombok提供支持 最终生成的包里不包含lombok

【Android】程序开发组件—探究Jetpack

引言 Jetpack是一个开发组件工具集&#xff0c;它的主要目的是帮助我们编写出更加简洁的代码&#xff0c;并简化我们的开发过程&#xff0c;在这么多的组件当中&#xff0c;最需要我们关注的其实还是架构组件&#xff0c;接下来就对Jetpack的主要架构组件进行学习&#xff01;…

数据结构-----栈、队列

一、栈 1、栈(stack)是限定仅在表尾进行插入和删除操作的线性表。 把允许插入和删除的一端称为栈顶&#xff08;top)&#xff0c;另一端称为栈底&#xff08;bottom)&#xff0c;不含任何数据元素的栈称为空栈。栈又称为后进先出&#xff08;Last In First Out)的线性表,简称L…

OpenAI gym: Trouble installing Atari dependency (Mac OS X)

题意&#xff1a; 使用OpenAI Gym库时&#xff0c;安装Atari环境可能会遇到一些依赖问题&#xff0c;尤其是在Mac OS X系统上 问题背景&#xff1a; Im new to OpenAI gym. Ive successfully installed OpenAI gym on my Mac OS X (High Sierra 10.13.3) laptop and made a D…

C语言程序设计(算法的概念及其表示)

一、算法的概念 一个程序应包括两个方面的内容: 对数据的描述:数据结构 对操作的描述:算法 著名计算机科学家沃思提出一个公式: 数据结构 +算法 =程序 完整的程序设计应该是: 数据结构+算法+程序设计方法+语言工具 广义地说,为解决一个问题而采取的方法和步骤…

学不会虚拟列表?10分钟带你实现高度固定的Vue虚拟列表方案及原理

前言 本文主要介绍长列表的一种优化方案&#xff1a;虚拟列表。本文主要是对传统的虚拟列表方案进行更加详尽的刨析&#xff0c;以便我们能够更加深入理解虚拟列表的原理。 虚拟列表目录 1、为什么需要使用虚拟列表2、什么是虚拟列表与懒加载的区别(重要) 3、实现思路4、通过节…

企业选ETL还是ELT架构?

作为数据处理的重要工具&#xff0c;ETL工具被广泛使用&#xff0c;同时ETL也是数据仓库中的重要环节。本文将从解释ETL工具是怎么处理数据&#xff0c;同时介绍ELT和ETL工具在企业搭建数据仓库的重要优势。 一、什么是ETL? ETL是Extract-Transform-Load的缩写&#xff0c;将…

【深度学习】多层感知机的从零开始实现与简洁实现

可以说&#xff0c;到现在我们才真正接触到深度网络。最简单的深度网络称为多层感知机。 多层感知机由多层神经元组成&#xff0c;每一层与它的上一层相连&#xff0c;从中接收输入&#xff1b;同时每一层也与它的下一层相连&#xff0c;影响当前层的神经元。 和以前相同&…

【深入解析】AI工作流中的HTTP组件:客户端与服务端执行的区别

在当今快速发展的技术环境中&#xff0c;AI工作流的设计和实现变得愈发重要。尤其是在处理HTTP组件时&#xff0c;前端执行与后端执行之间的区别&#xff0c;往往会对系统的安全性和数据的准确性产生深远的影响。今天&#xff0c;我们就来深入探讨这一话题&#xff0c;揭示前端…