United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6464341 SwingSet2 demo crashes with ACCESS_VIOLATION in [ntdll.dll+0x1c97b] on windows-amd64
JDK-6464341 : SwingSet2 demo crashes with ACCESS_VIOLATION in [ntdll.dll+0x1c97b] on windows-amd64

Details
Type:
Bug
Submit Date:
2006-08-26
Status:
Closed
Updated Date:
2011-04-27
Project Name:
JDK
Resolved Date:
2011-03-07
Component:
client-libs
OS:
windows_2003,linux,generic,windows_xp
Sub-Component:
2d
CPU:
x86,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
1.4.2,1.4.2_03,1.4.2_06,5.0,5.0u10,6
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Backport:
Duplicate:
Duplicate:
Duplicate:

Sub Tasks

Description
Product: 6.0 Java RE B96 (1.6.0-rc-b96 mixed mode)
Platform: windows-amd64 (I could not repro the problem on win-i386 platform)

Steps:
=====
It is pretty hard to reproduce, happened 4 times out of 10-15 tries...
a) On a windows-amd64 platform, start SwingSet2 demo:
  $ cd M:/NightlyBuilds/re/6.0/promoted/rc/b96/binaries/windows-amd64
	## which is /java/re/jdk/6.0/promoted/rc/b96/binaries/windows-amd64
  $ bin/java -jar demo/jfc/SwingSet2/SwingSet2.jar

b) As soon as the window appears (this is important), switch to Windows L&F
(click on "Look & Feel" menu, choose "Windows Look & Feel").
c) As fast as possible, click on the 3rd tab (JColorChooser Demo).
d) Exit the demo if it did not crash.. And repeat until it crashes.

Error message:
==============
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000078edc97b, pid=2908, tid=1148
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.6.0-rc-b96 mixed mode)
# Problematic frame:
# C  [ntdll.dll+0x1c97b]
#
# An error report file with more information is saved as C:\DOCUME~1\ADMINI~1.JCG\LOCALS~1\Temp\hs_err_pid2908.log
#

See Comments section for more info.
See the "hs_err_pidxxx.log" files attached.

                                    

Comments
SUGGESTED FIX

src/share/native/sun/dc/pr/dcLLFillerS.c

917c917
<     p->xyjBuffer = doeMem_malloc(env, (i32)sizeof(i8)*xyjL);
---
>     p->xyjBuffer = doeMem_malloc(env, (i32)sizeof(i8)*xyjBufferSize);
                                     
2006-09-08
EVALUATION

This is a java2d issue in the dcpr code.  See comments for more detail.
                                     
2006-09-08
EVALUATION

I've reproduced the problem and verified the suggested fix. Looks like it solves the problem, so I'm going to integrate it.
                                     
2006-09-12



Hardware and Software, Engineered to Work Together