libgcj/8711: abnormal program termination during loop starts CPU overload

davit@users.sf.net davit@users.sf.net
Tue Nov 26 01:56:00 GMT 2002


>Number:         8711
>Category:       libgcj
>Synopsis:       abnormal program termination during loop starts CPU overload
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Nov 26 01:56:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     David Young
>Release:        3.2.1
>Organization:
>Environment:
System: Linux 2.4.19 i686 unknown, glibc v.2.2.90-23
Host: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Configuration: --prefix=/usr/local/encap/gcc-3.2.1 -enable-shared --enable-languages=c,c++,java --program-suffix=-3.2 --enable-threads=posix
>Description:
When the terminal that starts a program and is exited in the middle of a loop process by closing the terminal's window, the CPU overloads until the program is manually ended.

Abnormal termination by closing the window causes this behavior, but <CTRL-C> does not.
>How-To-Repeat:
-Compile with "gcj --main=hello1 -o hello1 Hello1.java".  -Invoke in an xterm or similar console via "./hello1".
-Exit by closing the terminal's window (e.g. <Alt-F4> in Gnome).
-CPU overload begins until manual termination.

import java.io.*; 

public class Hello1 {
	public static void main(String[] args) {
		System.out.println("Hello.");
		while (true) {
			BufferedReader reader  = 
				new BufferedReader(new 
				InputStreamReader(System.in));
			try {
				reader.readLine();
			} catch(IOException e) {
			}
		}
	}
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Java-prs mailing list