progressbar: java.lang.IllegalStateException: Unable to create a system terminal

When running the following Kotlin program

object Foo {
    @JvmStatic
    fun main(args: Array<String>) {
        LogManager.getLogManager().getLogger("").level = Level.FINEST

        ProgressBar.wrap(((1..10000).toList()), "Preparing Images").forEach { sleep(10) }
    }
}

in Jetbrains Intellj IDEA (v2018.1), I get the following error:

java.lang.IllegalStateException: Unable to create a system terminal
	at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:276)
	at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:222)
	at org.jline.terminal.TerminalBuilder.terminal(TerminalBuilder.java:62)
	at me.tongfei.progressbar.ProgressThread.<init>(ProgressThread.java:37)
	at me.tongfei.progressbar.ProgressBar.<init>(ProgressBar.java:51)
	at me.tongfei.progressbar.ProgressBar.<init>(ProgressBar.java:29)
	at me.tongfei.progressbar.wrapped.ProgressBarWrappedIterator.<init>(ProgressBarWrappedIterator.java:18)
	at me.tongfei.progressbar.wrapped.ProgressBarWrappedIterable.iterator(ProgressBarWrappedIterable.java:24)
	at Foo.main(ConvNet.kt:149)
	Suppressed: java.lang.NoClassDefFoundError: com/sun/jna/Platform
		at org.jline.terminal.impl.jna.JnaNativePty.current(JnaNativePty.java:40)
		at org.jline.terminal.impl.jna.JnaSupportImpl.current(JnaSupportImpl.java:16)
		at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:320)
		... 8 more
	Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
		at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
		at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
		at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
		at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
		... 11 more
	Suppressed: java.lang.UnsupportedOperationException
		at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:71)
		at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:330)
		... 8 more
	Suppressed: java.io.IOException: Not a tty
		at org.jline.terminal.impl.ExecPty.current(ExecPty.java:44)
		at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:339)
		... 8 more
	Caused by: java.io.IOException: Error executing 'tty': not a tty
		at org.jline.utils.ExecHelper.exec(ExecHelper.java:42)
		at org.jline.terminal.impl.ExecPty.current(ExecPty.java:41)
		... 9 more

Preparing Images  10% │██▎                  │  1093/10000 (0:00:12 / 0:01:38) 

The same does not report a stacktrace when being run as a java program in IDEA.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 15 (9 by maintainers)

Most upvoted comments

Also in progressbar 0.7.0 the printStackTrace() is suppressed so you would not see the stacktrace anymore.