This page belongs to Jim White aka Pagesmiths.

MS JVM getThreadGroup security manager bug.

The problem is that the applet SecurityManager throws a SecurityException when an untrusted applet class calls Thread.getThreadGroup when Thread.currentThread is a thread in the main thread group. This occurs in IE 4 on Frame.layout and Frame.handleEvent calls.

As of 12/26/97, this bug is in all versions of the Java VM for IE 4 so far (IE 4.72.2106.8 - Java 2339).

This is *incorrect* behavior. There is no checkAccess SecurityException defined for Thread.getThreadGroup (doc). The SecurityManager.checkAccess (doc) check is only performed for operations which will *modify* the ThreadGroup.

There are many valid solutions to this problem, but throwing an exception in Thread.getThreadGroup is not one of them!

10/19/99 - This bug has never been fixed in IE4. There is however a workaround. Turns out that you will not get a security exception if you do getThreadGroup on another thread in the same thread group. So the following will work:

	(new Thread().getThreadGroup())

Sources:

PrintThread.java

PrintFrame.java