JDK-6300533 : RI crashes on Windows when executing tests.api.java.awt.Toolkit.CursorTests
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 5.0
  • Priority: P2
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_xp
  • CPU: generic
  • Submitted: 2005-07-22
  • Updated: 2011-01-19
  • Resolved: 2006-11-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
1.4.2_15Fixed 6Resolved
Description
Filed By                 : JCK Team
JDK                        : JDK1.5.0
JCK                        : JCK 6.0 Build B01
Platform[s]            : Windows XP
JCK test owner    : http://javaweb.sfbay/jct/sqe/JCK-tck/usr/owners.jto 
Failing Test [s]     : api/java/awt/Toolkit/CursorTests


Test source location: 
===================== 
api test source: 
/java/re/jck/6.0/promoted/beta/b01/


Problem description:
====================
Tests may randomly crash due to memory access violation inside a native method.
It can be reproduced using the Reference Implementation for Windows.
Running the test under Reference Implementation for Windows many times, 
failure rate is about 15-20 crashes per 100 consecutive runs.


How to reproduce: 
==================== 
Crash takes place not on every run.
Tests should be executed in standalone mode:

cd %JCK_HOME%\classes
%JAVA_HOME%\bin\java.exe javasoft/sqe/tests/api/java/awt/Toolkit/CursorTests -TestURL file://%JCK_HOME%/tests/api/java_awt/Toolkit


Test output: 
============= 
RI crashes with post-mortem message like this:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9010f3, pid=204, tid=2436
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-b64 mixed mode)
# Problematic frame:
# C  [ntdll.dll+0x10f3]
#

---------------  T H R E A D  ---------------

Current thread (0x00a86130):  JavaThread "Finalizer" daemon [_thread_in_native, id=2436]

siginfo: ExceptionCode=0xc0000005, writing address 0x0adc507c

Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x0ab8f6a0, EDX=0x0adc5074
ESP=0x0ab8f6b0, EBP=0x0ab8f6e0, ESI=0x0adc5060, EDI=0x0adc5074
EIP=0x7c9010f3, EFLAGS=0x00010246

Top of Stack: (sp=0x0ab8f6b0)
0x0ab8f6b0:   6d147768 0adc5074 0adc5060 00a861ec
0x0ab8f6c0:   6d139159 00a86130 06d507c0 06d507c8
0x0ab8f6d0:   0ab8f6c4 0ab8f808 6d162fe4 00000000
0x0ab8f6e0:   0ab8f70c 00ad826f 00a861ec 0ab8f71c
0x0ab8f6f0:   0ab8f6f0 00000000 0ab8f71c 06d51128
0x0ab8f700:   00000000 06d507c8 0ab8f71c 0ab8f73c
0x0ab8f710:   00ad2923 00000000 00ad6449 02b63b00
0x0ab8f720:   0ab8f720 06d50747 0ab8f744 06d51128 

Instructions: (pc=0x7c9010f3)
0x7c9010e3:   24 00 00 00 00 90 90 90 90 90 8b 54 24 04 33 c0
0x7c9010f3:   ff 4a 08 75 26 89 42 0c f0 ff 4a 04 7d 03 c2 04 


Stack: [0x0ab50000,0x0ab90000),  sp=0x0ab8f6b0,  free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x10f3]
j  java.awt.Cursor.finalizeImpl()V+0
j  java.awt.Cursor.finalize()V+7
v  ~StubRoutines::call_stub
V  [jvm.dll+0x8168d]
V  [jvm.dll+0xd4179]
V  [jvm.dll+0x8155e]
V  [jvm.dll+0x86845]
C  [java.dll+0x1fd8]
j  java.lang.ref.Finalizer.runFinalizer()V+38
j  java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;)V+1
j  java.lang.ref.Finalizer$FinalizerThread.run()V+11
v  ~StubRoutines::call_stub
V  [jvm.dll+0x8168d]
V  [jvm.dll+0xd4179]
V  [jvm.dll+0x8155e]
V  [jvm.dll+0x812bb]
V  [jvm.dll+0x9bbe9]
V  [jvm.dll+0xfe77f]
V  [jvm.dll+0xfe74d]
C  [MSVCRT.dll+0x2a3b0]
C  [kernel32.dll+0xb50b]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.awt.Cursor.finalizeImpl()V+0
j  java.awt.Cursor.finalize()V+7
v  ~StubRoutines::call_stub
j  java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V+0
j  java.lang.ref.Finalizer.runFinalizer()V+38
j  java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;)V+1
j  java.lang.ref.Finalizer$FinalizerThread.run()V+11
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x0adb6e90 JavaThread "AWT-Shutdown" [_thread_blocked, id=1172]
  0x0ac95c50 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1660]
  0x0ad4b0a0 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=532]
  0x0ad2b7c0 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3700]
  0x00a90cc0 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4016]
  0x00a8f898 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2556]
  0x00a8ec20 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1912]
=>0x00a86130 JavaThread "Finalizer" daemon [_thread_in_native, id=2436]
  0x00a84ca0 JavaThread "Reference Handler" daemon [_thread_blocked, id=2520]
  0x00035c38 JavaThread "main" [_thread_blocked, id=3364]

Other Threads:
  0x00a822d0 VMThread [id=2112]
  0x00a91e98 WatcherThread [id=3204]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 576K, used 57K [0x02ad0000, 0x02b70000, 0x02fb0000)
  eden space 512K,   6% used [0x02ad0000, 0x02ad8b00, 0x02b50000)
  from space 64K,  35% used [0x02b60000, 0x02b65b50, 0x02b70000)
  to   space 64K,   0% used [0x02b50000, 0x02b50000, 0x02b60000)
 tenured generation   total 1408K, used 366K [0x02fb0000, 0x03110000, 0x06ad0000)
   the space 1408K,  26% used [0x02fb0000, 0x0300b928, 0x0300ba00, 0x03110000)
 compacting perm gen  total 8192K, used 3488K [0x06ad0000, 0x072d0000, 0x0aad0000)
   the space 8192K,  42% used [0x06ad0000, 0x06e38198, 0x06e38200, 0x072d0000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x0040c000 	c:\DevEnvironment\jdk1.5.0\bin\java.exe
0x7c900000 - 0x7c9b0000 	C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f4000 	C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000 	C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000 	C:\WINDOWS\system32\RPCRT4.dll
0x77c10000 - 0x77c68000 	C:\WINDOWS\system32\MSVCRT.dll
0x6d6b0000 - 0x6d835000 	c:\DevEnvironment\jdk1.5.0\jre\bin\client\jvm.dll
0x77d40000 - 0x77dd0000 	C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f56000 	C:\WINDOWS\system32\GDI32.dll
0x76b40000 - 0x76b6d000 	C:\WINDOWS\system32\WINMM.dll
0x6d2f0000 - 0x6d2f8000 	c:\DevEnvironment\jdk1.5.0\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 	C:\WINDOWS\system32\PSAPI.DLL
0x6d680000 - 0x6d68c000 	c:\DevEnvironment\jdk1.5.0\jre\bin\verify.dll
0x6d370000 - 0x6d38d000 	c:\DevEnvironment\jdk1.5.0\jre\bin\java.dll
0x6d6a0000 - 0x6d6af000 	c:\DevEnvironment\jdk1.5.0\jre\bin\zip.dll
0x6d070000 - 0x6d1d6000 	C:\DevEnvironment\jdk1.5.0\jre\bin\awt.dll
0x73000000 - 0x73026000 	C:\WINDOWS\system32\WINSPOOL.DRV
0x76390000 - 0x763ad000 	C:\WINDOWS\system32\IMM32.dll
0x774e0000 - 0x7761d000 	C:\WINDOWS\system32\ole32.dll
0x5ad70000 - 0x5ada8000 	C:\WINDOWS\system32\uxtheme.dll
0x73760000 - 0x737a9000 	C:\WINDOWS\system32\ddraw.dll
0x73bc0000 - 0x73bc6000 	C:\WINDOWS\system32\DCIMAN32.dll
0x73940000 - 0x73a10000 	C:\WINDOWS\system32\D3DIM700.DLL
0x74720000 - 0x7476b000 	C:\WINDOWS\system32\MSCTF.dll
0x6d530000 - 0x6d543000 	C:\DevEnvironment\jdk1.5.0\jre\bin\net.dll
0x71ab0000 - 0x71ac7000 	C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 	C:\WINDOWS\system32\WS2HELP.dll
0x71a50000 - 0x71a8f000 	C:\WINDOWS\System32\mswsock.dll
0x76f20000 - 0x76f47000 	C:\WINDOWS\system32\DNSAPI.dll
0x76fb0000 - 0x76fb8000 	C:\WINDOWS\System32\winrnr.dll
0x76f60000 - 0x76f8c000 	C:\WINDOWS\system32\WLDAP32.dll
0x76fc0000 - 0x76fc6000 	C:\WINDOWS\system32\rasadhlp.dll
0x662b0000 - 0x66308000 	C:\WINDOWS\system32\hnetcfg.dll
0x71a90000 - 0x71a98000 	C:\WINDOWS\System32\wshtcpip.dll
0x6d2b0000 - 0x6d2ed000 	C:\DevEnvironment\jdk1.5.0\jre\bin\fontmanager.dll

VM Arguments:
java_command: javasoft/sqe/tests/api/java/awt/Toolkit/CursorTests -TestURL file://C:/JCKPlayground/JCK-runtime-60/tests/api/java_awt/Toolkit

Environment Variables:
JAVA_HOME=c:\DevEnvironment\jdk1.5.0
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Reflection;C:\UTIL;c:\DevEnvironment\Jad;c:\DevEnvironment\apache-ant\bin;C:\Program Files\cvsnt;
USERNAME=db158260
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel


---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 1048048k(399716k free), swap 1734892k(1007016k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0-b64) for windows-x86, built on Sep 15 2004 03:00:31 by "java_re" with MS VC++ 6.0

Comments
EVALUATION the problem is not reproducible in 6.0, so I'm closing this CR "as not reproducible in 6.0"
08-11-2006

EVALUATION The fix for finalizers will be in 6.0b51. It can be back-ported.
06-09-2005

EVALUATION We are planning to get rid of finilizers in 6.0 so this one will get fixed automatically.
22-07-2005