GP-2269: Preventing AWTError when checking Taskbar.isTaskbarSupported()

This commit is contained in:
Ryan Kurtz 2022-08-21 01:52:28 -04:00
parent db3ced7f96
commit 6845463e06
3 changed files with 8 additions and 11 deletions

View file

@ -15,6 +15,7 @@
*/ */
package ghidra; package ghidra;
import java.awt.AWTError;
import java.awt.Taskbar; import java.awt.Taskbar;
/** /**
@ -41,9 +42,13 @@ public class Ghidra {
// fully qualified class name (with . replaced by -). If we don't do this here, the next // fully qualified class name (with . replaced by -). If we don't do this here, the next
// time it gets done is in a new thread, which results in the application name being set to // time it gets done is in a new thread, which results in the application name being set to
// "java-lang-thread". // "java-lang-thread".
if (!Boolean.getBoolean("java.awt.headless")) { try {
Taskbar.isTaskbarSupported(); Taskbar.isTaskbarSupported();
} }
catch (AWTError e) {
// This can happen if we are running in a headless environment. We don't need to
// worry about setting the application name in this case.
}
// Forward args to GhidraLauncher, which will perform the launch // Forward args to GhidraLauncher, which will perform the launch
GhidraLauncher.launch(args); GhidraLauncher.launch(args);

View file

@ -15,14 +15,10 @@ LAUNCH_MODE=fg
# NOTE: This variable is ignored if not launching in a debugging mode. # NOTE: This variable is ignored if not launching in a debugging mode.
DEBUG_ADDRESS=127.0.0.1:13002 DEBUG_ADDRESS=127.0.0.1:13002
# Run Java in headless mode
VMARG_LIST="-Djava.awt.headless=true "
# Limit the # of garbage collection and JIT compiler threads in case many headless # Limit the # of garbage collection and JIT compiler threads in case many headless
# instances are run in parallel. By default, Java will assign one thread per core # instances are run in parallel. By default, Java will assign one thread per core
# which does not scale well on servers with many cores. # which does not scale well on servers with many cores.
VMARG_LIST+="-XX:ParallelGCThreads=2 " VMARG_LIST="-XX:ParallelGCThreads=2 -XX:CICompilerCount=2 "
VMARG_LIST+="-XX:CICompilerCount=2 "
# Resolve symbolic link if present and get the directory this script lives in. # Resolve symbolic link if present and get the directory this script lives in.
# NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD # NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD

View file

@ -16,14 +16,10 @@ set LAUNCH_MODE=fg
:: NOTE: This variable is ignored if not launching in a debugging mode. :: NOTE: This variable is ignored if not launching in a debugging mode.
set DEBUG_ADDRESS=127.0.0.1:13002 set DEBUG_ADDRESS=127.0.0.1:13002
:: Run Java in headless mode
set VMARG_LIST=-Djava.awt.headless=true
:: Limit the # of garbage collection and JIT compiler threads in case many headless :: Limit the # of garbage collection and JIT compiler threads in case many headless
:: instances are run in parallel. By default, Java will assign one thread per core :: instances are run in parallel. By default, Java will assign one thread per core
:: which does not scale well on servers with many cores. :: which does not scale well on servers with many cores.
set VMARG_LIST=%VMARG_LIST% -XX:ParallelGCThreads=2 set VMARG_LIST=-XX:ParallelGCThreads=2 -XX:CICompilerCount=2
set VMARG_LIST=%VMARG_LIST% -XX:CICompilerCount=2
:: Store current path (%0 gets modified below by SHIFT) :: Store current path (%0 gets modified below by SHIFT)
set "SCRIPT_DIR=%~dp0" set "SCRIPT_DIR=%~dp0"