Bug#1100935: jython: interpreter stops with NoClassDefFoundError

Pierre Gruet pgt at debian.org
Mon Apr 7 19:51:55 BST 2025


Control: reassign -1 src:jline2
Control: affects -1 src:jython
Control: found -1 2.14.6-5
Control: tags -1 pending confirmed

Hi,

On Thu, 20 Mar 2025 17:46:30 +0100 Bastian Germann <bage at debian.org> wrote:
 > Package: jython
 > Version: 2.7.3+repack1-1
 > Severity: grave
 > Justification: renders package unusable
 >
 > Starting the jython interpreter fails since bookworm (where
 > libjline2-java moved from libjansi-java to libjansi1-java):
 >
 > Jython 2.7.3-DEV (-dirty:uncontrolled, Jan 7 2023, 16:12:55)
 > [OpenJDK 64-Bit Server VM (Debian)] on java21.0.7-ea
 > Type "help", "copyright", "credits" or "license" for more information.
 > >>> java.lang.NoClassDefFoundError: org/fusesource/jansi/AnsiOutputStream
 > at jline.internal.Ansi.stripAnsi(Ansi.java:28)
 > at jline.console.ConsoleReader.setPrompt(ConsoleReader.java:499)
 > at jline.console.ConsoleReader.readLine(ConsoleReader.java:2425)
 > at jline.console.ConsoleReader.readLine(ConsoleReader.java:2378)
 > at jline.console.ConsoleReader.readLine(ConsoleReader.java:2366)
 > at org.python.util.JLineConsole.readerReadLine(JLineConsole.java:210)
 > at org.python.util.JLineConsole.access$100(JLineConsole.java:28)
 > at org.python.util.JLineConsole$Stream.getLine(JLineConsole.java:164)
 > at 
org.python.util.ConsoleInputStream.fillBuffer(ConsoleInputStream.java:101)
 > at org.python.util.ConsoleInputStream.read(ConsoleInputStream.java:180)
 > at 
java.base/java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:316)
 > at org.python.core.io.StreamIO.readinto(StreamIO.java:123)
 > at org.python.core.io.BufferedReader.peek(BufferedReader.java:102)
 > at org.python.core.io.BufferedReader.read1(BufferedReader.java:116)
 > at org.python.core.io.TextIOBase.readChunk(TextIOBase.java:255)
 > at org.python.core.io.BinaryIOWrapper.readline(BinaryIOWrapper.java:101)
 > at org.python.core.io.TextIOWrapper.readline(TextIOWrapper.java:178)
 > at org.python.core.PyFile.file_readline(PyFile.java:364)
 > at org.python.core.PyFile.readline(PyFile.java:372)
 > at org.python.core.__builtin__.readline(__builtin__.java:984)
 > at org.python.core.__builtin__.raw_input(__builtin__.java:1008)
 > at 
org.python.util.InteractiveConsole.raw_input(InteractiveConsole.java:209)
 > at 
org.python.util.InteractiveConsole._interact(InteractiveConsole.java:150)
 > at 
org.python.util.InteractiveConsole.interact(InteractiveConsole.java:127)
 > at org.python.util.jython.runStream(jython.java:446)
 > at org.python.util.jython.main(jython.java:700)
 > Caused by: java.lang.ClassNotFoundException: 
org.fusesource.jansi.AnsiOutputStream
 > 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:526)
 > ... 26 more
 > java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: 
org/fusesource/jansi/AnsiOutputStream
 >
 > It is quite surprising that this has not yet been caught. Let's fix
 > trixie's jython or get rid of it.
 >

Indeed, that's surprising.


The bug is rather in jline2, a common classpath issue. I am preparing a fix.

Cheers,

-- 
Pierre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-maintainers/attachments/20250407/42fb8281/attachment.sig>


More information about the pkg-java-maintainers mailing list