Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Why does applet sometimes receive a ThreadDeath Error?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why does applet sometimes receive a ThreadDeath Error?



Rob Lockstone wrote:

>This isn't a question specific to Apple's JVM, but this problem does
>occur with Apple's (and Sun's, at least on Windows) JVM's.

Maybe the problem lies in the Java Plugin.  This seems to be supported by
the package-names in the stack trace, notably "sun.plugin.*".


>Environment: Java 1.5.0_06 (OS X), Java 1.4.2_12 (Windows), and
>probably others, but those are the only ones I've confirmed.

Which browsers?  Do they all use Java Plugin?


>The threads from the previous incarnation of
>the applet HAVE been cleaned up and have gone away. So why does JVM
>send this ThreadDeath Error? And why send it to my newly created
>thread which was running along perfectly fine?

 From the symptoms and the stack trace, my guess is that something in the
Java Plugin is getting confused.

I think there are circumstances in which applets are identified by name.
If that name returns two different instances at two points in time, then
one part of Sun's Java Plugin code might have already replaced the
referred-to applet with a new instance, while another asynchronous part is
still trying to kill off what it thinks is the old running applet.  Boom,
the new instance gets a ThreadDeath.

The fact that it only occurs occasionally is going to make it hard to track
down, but the overall problem looks very much like a synchronization bug.
That is, something is happening in parallel (or indeterminate sequence)
that should only be happening in a strict and certain sequence.

  -- GG


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.