Top 8 Latest Bugs in Java

.

This is a list of the top eight bugs with the most votes. This list is compiled on a daily basis, on sun bug database

1) Semantics of external process is not defined in JLS

By default, the child process's stdout and stderr are redirected to parent
process. If parent process does not read the pipe, the child process will
block when pipe is full.

2) Java2D incorrectly renders objects with large coordinates

Java2D behaves incorrectly (and very unpredictably) when rendering objects with large coordinates.

3)
ClassLoader.loadClass() throws java.lang.ClassNotFoundException: [Ljava.lang.String; in JDK 6.0

Consider this simple test program:

public class test {

public static void main(String[] args) throws Exception {

String[] s = new String[] { "123" };
String clName = s.getClass().getName();
test.class.getClassLoader().loadClass(clName);
}
}

This runs fine on JDK 1.5, but throws this exception on JDK 6.0:

4) Method.invoke access control does not understand inner class scoping

Running the following program, which should succeed, results in an
IllegalAccessException.

import java.lang.reflect.*;

public class TestPrivateAccess extends Object
{
TPAInnerClass inner = new TPAInnerClass();

private void privateMethod()
{System.out.println("private method.");}

class TPAInnerClass extends Object
{
void dynamicInvoke()
{
try
{
Method method =
TestPrivateAccess.class.getDeclaredMethod("privateMethod", new Class[] {});
method.invoke(TestPrivateAccess.this, new Object[] {});
}
catch (Exception e)
{e.printStackTrace();}
}
}

public static void main(String[] argv)
{
TestPrivateAccess tpa = new TestPrivateAccess();
tpa.inner.dynamicInvoke();
}
}

5)
Control-C does not end forked Java process (w2k, wnt)
FULL PRODUCT VERSION :
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)


FULL OPERATING SYSTEM VERSION :
customer Windows 2000 [Version 5.00.2195]

ADDITIONAL OPERATING SYSTEMS :
customer Windows NT


A DESCRIPTION OF THE PROBLEM :
When indirectly (e.g., through Ant) starting a Java process
in the original Windows console (DOS prompt) or in a third-
party console such as Cygwin, only the directly started
process can be killed by pressing Control-C.

That is, as can be seen in the Windows Task Manager, the
indirectly started process still runs and can therefore not
be restarted if it listens to a specific socket, or delete
(at start-up time) a temporary file it created, ...

Now this behaviour ("child" process being fully independent
of "parent" process") may be desired. The real problem is
that sometimes, when trying to End [the Java] Process in
the Task Manager, an "infinite" number of Java processes
are started so that the computer gets clogged and a
hardware reset is needed!

6) PermHeap bloat in and only in server VM

Description: With updating ClassLoader several times, jdk1.4.1_05 server VM will be down with an error java.lang.OutOfMemoryError.

Environment:
OS : Solaris8
MPU: sparcv9 processor 450 MHz * 2
Mem: 2048 Megabytes

Reproduction:
1. To unzip the attached tp.zip.
2. To change the direcotory to tp.
3. Set the JAVA_HOME variable viable in the script client.sh.
4. To type "sh client.sh" to launch the test program.
5. You will see the test program stop there and java.lang.OutOfMemoryError shown.
...

7)
Lost newly entered data in the cell when resizing column width

jdk 1.6 java swing data in the cellis lost when column width is resized

8) JMStudio doesn't playback any .avi file correctly, video always fail

JMStudio executable from sun, as well as a version compiled they both have the same problem. All the .avi files play OK with windows media player. However, couldn't play any of them from JMStudio. In two cases you can hear the audio but no video was displayed. An error stated that the header had an extra 1024 bits. In one 3 other cases neither the audio nor the video would play, and an Error message stated that the media could not be parsed from the input file.

Ref : Sun java Bug bank



2 comments:

Unknown said...

Thanks for sharing these bugs, specially CTRL+C bug. I always wonder why when I kill running tomcat process from my eclipse it never kill actual java process now I know

Peter Lawrey said...

I notice that atleast two of the bugs first appears in Java 1.4.x and are therefor more than 5 years old. Not sure if thats a good thing or not. ;)

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment