-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.13.0
-
Fix Version/s: 3.19.0
-
Labels:
When running Nexus repository manager on a unix-like system with certain versions of the termcap library, and the launching terminal has a capability with a numeric value above 255, you can receive an error message on startup. The error message is as follows:
[ERROR] Failed to construct terminal; falling back to unsupported java.lang.NumberFormatException: For input string: "0x100" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.java:766) at jline.internal.InfoCmp.parseInfoCmp(InfoCmp.java:59) at jline.UnixTerminal.parseInfoCmp(UnixTerminal.java:242) at jline.UnixTerminal.<init>(UnixTerminal.java:65) at jline.UnixTerminal.<init>(UnixTerminal.java:50) at jline.NoInterruptUnixTerminal.<init>(NoInterruptUnixTerminal.java:24) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at jline.TerminalFactory.getFlavor(TerminalFactory.java:211) at jline.TerminalFactory.create(TerminalFactory.java:102) at jline.TerminalFactory.create(TerminalFactory.java:51) at org.apache.karaf.shell.impl.console.TerminalFactory.init(TerminalFactory.java:37) at org.apache.karaf.shell.impl.console.TerminalFactory.getTerminal(TerminalFactory.java:30) at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:61) at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:112) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697) at org.apache.felix.framework.Felix.activateBundle(Felix.java:2238) at org.apache.felix.framework.Felix.startBundle(Felix.java:2144) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) at java.lang.Thread.run(Thread.java:745) _ __ / | / /__ _ ____ _______ / |/ / _ \| |/_/ / / / ___/ / /| / __/> </ /_/ (__ ) /_/ |_/\___/_/|_|\__,_/____/ Sonatype Nexus (3.13.0-01)
A simple example is ubuntu version 18.04, attempting to run repo manager inside of a tmux session. tmux will set the TERM environment variable to xterm-256color. Inside the session, if you run the infocmp command, you will see entries likely including the following:
colors#0x100, cols#80, it#8, lines#24, pairs#0x7fff,
The repo manager console is not currently capable of parsing the hexadecimal values.
Repo manager will continue to launch, but the console will be missing useful features such as scrolling the command buffer with the up and down arrow keys.