java.lang.IllegalStateException: Queue is full! Cannot process another character.

Apache's JIRA Issue Tracker | Julián Lastiri | 4 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    I'm getting the following exception while disconnecting a threaded (readerThread=true) TelnetClient connection. {code} Exception in thread "Thread-160" java.lang.IllegalStateException: Queue is full! Cannot process another character. at org.apache.commons.net.telnet.TelnetInputStream.__processChar(TelnetInputStream.java:339) at org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream.java:647) at java.lang.Thread.run(Thread.java:722) {code} I noticed that when TelnetClient.disconnect() is called the attribute __threaded is set to false while the thread in the TelnetInputStream.run() method could call TelnetInputStream().__processChar(...) throwing IllegalStateException This is a test program to reproduce the issue {code} public class TestTelnetClient implements Runnable { /** * @param args */ public static void main(String[] args) { ArrayList<Thread> workers = new ArrayList<Thread>(); for( int i=0; i<1000; ++i){ Thread t = new Thread ( new TestTelnetClient() ); t.start(); workers.add(t); } for (Thread t : workers ) { try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } @Override public void run() { System.out.println("Starting thread..."); TelnetClient tc = new TelnetClient(); // tc.setReaderThread(false); try { tc.connect("localhost", 23); tc.setSoTimeout(1000); InputStream in = tc.getInputStream(); int ch; in.read(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { System.out.println("Disconnecting..."); try { tc.disconnect(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } {code} A telnet server (telnetd) is required. I also modified the initial banner ( /etc/issue.net ) with a lot of characters to get a better chance to receive information while calling disconnect.

    Apache's JIRA Issue Tracker | 4 years ago | Julián Lastiri
    java.lang.IllegalStateException: Queue is full! Cannot process another character.
  2. 0

    I'm getting the following exception while disconnecting a threaded (readerThread=true) TelnetClient connection. {code} Exception in thread "Thread-160" java.lang.IllegalStateException: Queue is full! Cannot process another character. at org.apache.commons.net.telnet.TelnetInputStream.__processChar(TelnetInputStream.java:339) at org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream.java:647) at java.lang.Thread.run(Thread.java:722) {code} I noticed that when TelnetClient.disconnect() is called the attribute __threaded is set to false while the thread in the TelnetInputStream.run() method could call TelnetInputStream().__processChar(...) throwing IllegalStateException This is a test program to reproduce the issue {code} public class TestTelnetClient implements Runnable { /** * @param args */ public static void main(String[] args) { ArrayList<Thread> workers = new ArrayList<Thread>(); for( int i=0; i<1000; ++i){ Thread t = new Thread ( new TestTelnetClient() ); t.start(); workers.add(t); } for (Thread t : workers ) { try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } @Override public void run() { System.out.println("Starting thread..."); TelnetClient tc = new TelnetClient(); // tc.setReaderThread(false); try { tc.connect("localhost", 23); tc.setSoTimeout(1000); InputStream in = tc.getInputStream(); int ch; in.read(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { System.out.println("Disconnecting..."); try { tc.disconnect(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } {code} A telnet server (telnetd) is required. I also modified the initial banner ( /etc/issue.net ) with a lot of characters to get a better chance to receive information while calling disconnect.

    Apache's JIRA Issue Tracker | 4 years ago | Julián Lastiri
    java.lang.IllegalStateException: Queue is full! Cannot process another character.
  3. Speed up your debug routine!

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalStateException

      Queue is full! Cannot process another character.

      at org.apache.commons.net.telnet.TelnetInputStream.__processChar()
    2. Commons Net
      TelnetInputStream.run
      1. org.apache.commons.net.telnet.TelnetInputStream.__processChar(TelnetInputStream.java:339)
      2. org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream.java:647)
      2 frames
    3. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:722)
      1 frame