JDK-6242244 : applet crashes with 1.5.0_01 in flushPendingEvent
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 5.0u1
  • Priority: P2
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2005-03-17
  • Updated: 2010-04-02
  • Resolved: 2006-02-28
Related Reports
Relates :  
Description
Customer is using 1.5.0_01 for their banking applet.
They occasionally see a crash.  This has happened on multiple machines and they are using Internet explorer.

user dump, log file and error logs are at
/net/cores.central/cores/64456782
dump file is IEXPLORE2708#1.zip.gz
Running with SA the thread shows
----------------- 29 -----------------
0x04c803a9      0x04c803a9      * java.awt.EventQueue.postEvent(java.awt.AWTEven
t) bci:5 methodOop:0x2b3f8350 (Compiled frame; information may be imprecise)
0x04ae29a4      * javax.swing.TimerQueue.run() bci:8 methodOop:0x2b575070 (Inter
preted frame)
0x04ae2c29      * java.lang.Thread.run() bci:11 methodOop:0x2b2b1700 (Interprete
d frame)
0x04ae0155      <StubRoutines>
0x6d6c176e      jvm!JavaCalls::call_helper + 0x12b
0x6d71481d      jvm!os::os_exception_wrapper + 0x5e
0x6d6c163f      jvm!JavaCalls::call + 0x1b
0x6d6c139c      jvm!JavaCalls::call_virtual + 0x31
0x6d6dc05c      jvm!thread_entry + 0x71
0x6d73eece      jvm!JavaThread::thread_main_inner + 0x30
0x6d73ee9c      jvm!JavaThread::run + 0x7d
0x780060ce      msvcrt!beginthreadex + 0xb2
0x7c57b388      KERNEL32!lstrcmpiW + 0xb7

Java Stack Trace for TimerQueue
Thread state = IN_JAVA

 - public void postEvent(java.awt.AWTEvent) @0x2b3f8350 @bci = 5, pc = 0x04c803a9 (Compiled; information ma
y be imprecise)
 - public synchronized void run() @0x2b575070 @bci = 8, pc = 0x04ae29a4 (Interpreted)
 - public void run() @0x2b2b1700 @bci = 11, pc = 0x04ae2c29 (Interpreted)


looking at the postEvent:

public void postEvent(java.awt.AWTEvent) @0x2b3f8350
Holder Class
public class java.awt.EventQueue @0x2b3f89e0
Compiled Code
Disassembly for compiled method [public void postEvent(java.awt.AWTEvent) @0x2b3f8350 ] @0x04c61108
Bytecode
bci����bytecode
0����invokestatic #422 [Method void flushPendingEvents()] of public abstract class sun.awt.SunToolkit @0x2b38
7b78
3����aload_0
4����aload_1
sr1-unsh01-05{msusko}44: !!
more cibcsarun.txt
Java Stack Trace for TimerQueue
Thread state = IN_JAVA

 - public void postEvent(java.awt.AWTEvent) @0x2b3f8350 @bci = 5, pc = 0x04c803a9 (Compiled; information may be imprecise)
 - public synchronized void run() @0x2b575070 @bci = 8, pc = 0x04ae29a4 (Interpreted)
 - public void run() @0x2b2b1700 @bci = 11, pc = 0x04ae2c29 (Interpreted)


looking at the postEvent:

public void postEvent(java.awt.AWTEvent) @0x2b3f8350
Holder Class
public class java.awt.EventQueue @0x2b3f89e0
Compiled Code
Disassembly for compiled method [public void postEvent(java.awt.AWTEvent) @0x2b3f8350 ] @0x04c61108
Bytecode
bci����bytecode
0����invokestatic #422 [Method void flushPendingEvents()] of public abstract class sun.awt.SunToolkit @0x2b387b78
3����aload_0
4����aload_1
5����invokevirtual #373 [Method void postEventPrivate(java.awt.AWTEvent)] of public class java.awt.EventQueue @0x2b3f89e0
8����return


Compiled Code
Disassembly for compiled method [public static void flushPendingEvents() @0x2b3871d8 ] @0x04c5cec8
Bytecode
bci����bytecode
0����invokestatic #751 [Method sun.awt.AppContext getAppContext()] of public final class sun.awt.AppContext @0x2b37e0d0
3����astore_0
4����aload_0
5����ldc #11 <String "PostEventQueue">
7����invokevirtual #752 [Method java.lang.Object get(java.lang.Object)] of public final class sun.awt.AppContext @0x2b37e0d0
10����checkcast #411 [Class sun.awt.PostEventQueue]
13����astore_1
14����aload_1
15����ifnull 22
18����aload_1
19����invokevirtual #759 [Method void flush()] of class sun.awt.PostEventQueue @0x2b3f9640
22����return

###@###.### 2005-03-17 17:08:53 GMT

Comments
EVALUATION The crash happens in JIT-genenerated java code and it is highly unlikely that AWT causes it. Most probably the crash is caused by a bug in JVM JIT. You should try reproducing the bug with the latest 5.0 update release, and (if possible) with Mustang. If it is still reproducible, it should be reassigned to JVM team.
12-10-2005

EVALUATION I wonder why it is unable to look how this applet works with JDK6.0? Is there are any specific options needed on client machine?
16-08-2005

EVALUATION The stack trace shows it crashes in AWT code. Reassign it to AWT team for further evaluation. ###@###.### 2005-03-24 01:15:49 GMT I also curious is this occur with JDK6.0 build? ###@###.### 2005-03-24 09:39:02 GMT Asking submitter about further info. ###@###.### 2005-03-25 14:11:52 GMT Unfortunatley was unable to reproduce because the applet couldn't connect to the server to take init-file. I'm lookint into applet code and found the place where error might happen. AWTTree.AWTTreeRoot() calls for treeScrollPane.newAWTTreeRoot(node1, node2). As far as I could see it replaces one of the Component in hierarchy with another one. However, node1 is the Container which contains four Components. Somehow calling Component.removeNotify() leads to access violation in native code where we post WM_AWT_DISPOSE message. ###@###.### 2005-04-13 13:19:44 GMT I couldn't find any problem with similar symptoms. I should ask submitter to check if this applet crashes with JDK1.5.0b64, JDK1.5.0_02, JDK6.0(one of the latest builds). ###@###.### 2005-04-14 12:52:07 GMT
24-03-2005