United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-5089429 EXCEPTION_ACCESS_VIOLATION at sun.java2d.loops.DrawLine.DrawLine(Native Method)
JDK-5089429 : EXCEPTION_ACCESS_VIOLATION at sun.java2d.loops.DrawLine.DrawLine(Native Method)

Details
Type:
Bug
Submit Date:
2004-08-19
Status:
Resolved
Updated Date:
2005-06-09
Project Name:
JDK
Resolved Date:
2004-12-20
Component:
client-libs
OS:
linux,generic,windows_xp,windows_2000
Sub-Component:
2d
CPU:
x86,generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
1.4.1,1.4.1_04,1.4.2,1.4.2_05,1.4.2_06,5.0,5.0u1
Fixed Versions:

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

Sub Tasks

Description
Name: rmT116609Date: 08/19/2004


FULL PRODUCT VERSION :
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

java version "1.5.0-beta2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b51)
Java HotSpot(TM) Client VM (build 1.5.0-beta2-b51, mixed mode, sharing)


ADDITIONAL OS VERSION INFORMATION :
Windows XP Servicepack 1 including all security service packs

EXTRA RELEVANT SYSTEM CONFIGURATION :
nothing special

A DESCRIPTION OF THE PROBLEM :
when invoking cisco sdm, selecting -advanced -vpn -ike proposals the application closes with an log file without any further message

same on several pcM-^O????s


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
same as above *descripion

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
application aborts with error log
ACTUAL -
application aborts with error log

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x8077E4B
Function=[Unknown.]
Library=C:\PROGRA~1\Java\J2RE14~1.2_0\bin\client\jvm.dll

NOTE: We are unable to locate the function name symbol for the error
      just occurred. Please refer to release documentation for possible
      reason and solutions.


Current Java thread:
at sun.java2d.loops.DrawLine.DrawLine(Native Method)
at sun.java2d.pipe.LoopPipe.drawLine(Unknown Source)
at sun.java2d.SunGraphics2D.drawLine(Unknown Source)
at symantec.itools.b.k.a(Unknown Source)
at symantec.itools.b.k.if(Unknown Source)
at symantec.itools.b.k.if(Unknown Source)
at symantec.itools.b.k.null(Unknown Source)
at symantec.itools.b.a.a.imageUpdate(Unknown Source)
at sun.awt.image.ImageWatched.newInfo(Unknown Source)
at sun.awt.image.ImageRepresentation.imageComplete(Unknown Source)
at sun.awt.image.ImageDecoder.imageComplete(Unknown Source)
at sun.awt.image.GifImageDecoder.produceImage(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

Dynamic libraries:
0x00400000 - 0x00419000 C:\Programme\Internet Explorer\iexplore.exe
0x7C910000 - 0x7C9C7000 C:\WINDOWS\system32\ntdll.dll
0x7C800000 - 0x7C906000 C:\WINDOWS\system32\kernel32.dll
0x77BE0000 - 0x77C38000 C:\WINDOWS\system32\msvcrt.dll
0x77D10000 - 0x77DA0000 C:\WINDOWS\system32\USER32.dll
0x77EF0000 - 0x77F36000 C:\WINDOWS\system32\GDI32.dll
0x77F40000 - 0x77FB6000 C:\WINDOWS\system32\SHLWAPI.dll
0x77DA0000 - 0x77E4A000 C:\WINDOWS\system32\ADVAPI32.dll
0x77E50000 - 0x77EE1000 C:\WINDOWS\system32\RPCRT4.dll
0x77730000 - 0x7789C000 C:\WINDOWS\system32\SHDOCVW.dll
0x77A50000 - 0x77AE5000 C:\WINDOWS\system32\CRYPT32.dll
0x77AF0000 - 0x77B02000 C:\WINDOWS\system32\MSASN1.dll
0x76880000 - 0x76905000 C:\WINDOWS\system32\CRYPTUI.dll
0x76BF0000 - 0x76C1E000 C:\WINDOWS\system32\WINTRUST.dll
0x76C50000 - 0x76C78000 C:\WINDOWS\system32\IMAGEHLP.dll
0x770F0000 - 0x7717C000 C:\WINDOWS\system32\OLEAUT32.dll
0x774B0000 - 0x775EC000 C:\WINDOWS\system32\ole32.dll
0x597D0000 - 0x59824000 C:\WINDOWS\system32\NETAPI32.dll
0x77180000 - 0x77227000 C:\WINDOWS\system32\WININET.dll
0x76F20000 - 0x76F4D000 C:\WINDOWS\system32\WLDAP32.dll
0x77BD0000 - 0x77BD8000 C:\WINDOWS\system32\VERSION.dll
0x773A0000 - 0x774A2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x7C9D0000 - 0x7D1EE000 C:\WINDOWS\system32\SHELL32.dll
0x5D450000 - 0x5D4E7000 C:\WINDOWS\system32\comctl32.dll
0x5B0F0000 - 0x5B128000 C:\WINDOWS\system32\uxtheme.dll
0x75F20000 - 0x7601C000 C:\WINDOWS\system32\BROWSEUI.dll
0x20000000 - 0x20013000 C:\WINDOWS\system32\browselc.dll
0x77B10000 - 0x77B32000 C:\WINDOWS\system32\appHelp.dll
0x76F90000 - 0x7700F000 C:\WINDOWS\system32\CLBCATQ.DLL
0x77010000 - 0x770E3000 C:\WINDOWS\system32\COMRes.dll
0x77230000 - 0x772CD000 C:\WINDOWS\system32\urlmon.dll
0x77FC0000 - 0x77FD1000 C:\WINDOWS\system32\Secur32.dll
0x779F0000 - 0x77A46000 C:\WINDOWS\System32\cscui.dll
0x765A0000 - 0x765BD000 C:\WINDOWS\System32\CSCDLL.dll
0x778F0000 - 0x779E4000 C:\WINDOWS\system32\SETUPAPI.dll
0x10000000 - 0x1000C000 C:\Programme\Adobe\Acrobat 6.0\Reader\ActiveX\AcroIEHelper.dll
0x01090000 - 0x010A8000 C:\Programme\Norton SystemWorks\Norton Antivirus\NavShExt.dll
0x76AD0000 - 0x76AE1000 C:\WINDOWS\system32\ATL.DLL
0x7C080000 - 0x7C0F7000 C:\WINDOWS\system32\MSVCP70.dll
0x7C000000 - 0x7C054000 C:\WINDOWS\system32\MSVCR70.dll
0x7D4B0000 - 0x7D792000 C:\WINDOWS\System32\mshtml.dll
0x74640000 - 0x74667000 C:\WINDOWS\System32\msls31.dll
0x76970000 - 0x76A21000 C:\WINDOWS\system32\SXS.DLL
0x014D0000 - 0x0155E000 C:\WINDOWS\system32\shdoclc.dll
0x01560000 - 0x01839000 C:\WINDOWS\system32\xpsp2res.dll
0x74670000 - 0x7469A000 C:\WINDOWS\System32\msimtf.dll
0x746A0000 - 0x746EB000 C:\WINDOWS\System32\MSCTF.dll
0x76330000 - 0x7634D000 C:\WINDOWS\system32\IMM32.DLL
0x75DC0000 - 0x75E51000 C:\WINDOWS\system32\MLANG.dll
0x74C00000 - 0x74C2C000 C:\WINDOWS\system32\OLEACC.dll
0x76020000 - 0x76085000 C:\WINDOWS\system32\MSVCP60.dll
0x01D00000 - 0x01D4A000 C:\Programme\Norton SystemWorks\Password Manager\PPBHO.dll
0x7D1F0000 - 0x7D4A2000 C:\WINDOWS\system32\msi.dll
0x76620000 - 0x766D5000 C:\WINDOWS\system32\USERENV.dll
0x69B10000 - 0x69C3E000 C:\WINDOWS\System32\msxml4.dll
0x1C000000 - 0x1C006000 C:\WINDOWS\HKNTDLL.dll
0x71A80000 - 0x71A92000 C:\WINDOWS\system32\MPR.dll
0x58200000 - 0x582C9000 C:\WINDOWS\system32\NOVNPNT.DLL
0x50D20000 - 0x50D4B000 C:\WINDOWS\system32\CALWIN32.DLL
0x50D00000 - 0x50D15000 C:\WINDOWS\system32\CLNWIN32.DLL
0x50DF0000 - 0x50E10000 C:\WINDOWS\system32\LOCWIN32.DLL
0x50DB0000 - 0x50DDB000 C:\WINDOWS\system32\NCPWIN32.dll
0x50D50000 - 0x50D97000 C:\WINDOWS\system32\NETWIN32.DLL
0x71A30000 - 0x71A3A000 C:\WINDOWS\system32\WSOCK32.dll
0x71A10000 - 0x71A27000 C:\WINDOWS\system32\WS2_32.dll
0x71A00000 - 0x71A08000 C:\WINDOWS\system32\WS2HELP.dll
0x50DA0000 - 0x50DAB000 C:\WINDOWS\system32\CLXWIN32.DLL
0x58300000 - 0x58338000 C:\WINDOWS\system32\MAPBASE.dll
0x58380000 - 0x583BD000 C:\WINDOWS\system32\NWSHLXNT.dll
0x6A400000 - 0x6A41B000 C:\WINDOWS\system32\NLS\ENGLISH\MAPBASER.DLL
0x02790000 - 0x027AD000 C:\WINDOWS\system32\NLS\ENGLISH\NWSHLXNR.DLL
0x027C0000 - 0x02832000 C:\WINDOWS\system32\NLS\ENGLISH\NOVNPNTR.DLL
0x75F00000 - 0x75F07000 C:\WINDOWS\System32\drprov.dll
0x71B90000 - 0x71B9E000 C:\WINDOWS\System32\ntlanman.dll
0x71C50000 - 0x71C67000 C:\WINDOWS\System32\NETUI0.dll
0x71C10000 - 0x71C50000 C:\WINDOWS\System32\NETUI1.dll
0x71C00000 - 0x71C07000 C:\WINDOWS\System32\NETRAP.dll
0x71B70000 - 0x71B83000 C:\WINDOWS\System32\SAMLIB.dll
0x75F10000 - 0x75F19000 C:\WINDOWS\System32\davclnt.dll
0x73CE0000 - 0x73CF3000 C:\WINDOWS\System32\shgina.dll
0x75910000 - 0x75A09000 C:\WINDOWS\system32\MSGINA.dll
0x76300000 - 0x76310000 C:\WINDOWS\system32\WINSTA.dll
0x745D0000 - 0x7460D000 C:\WINDOWS\system32\ODBC32.dll
0x76350000 - 0x7639A000 C:\WINDOWS\system32\comdlg32.dll
0x02990000 - 0x029A9000 C:\WINDOWS\system32\odbcint.dll
0x02B00000 - 0x02B27000 C:\Programme\Sony Ericsson\Mobile\File Manager\fmgrguil.dll
0x76AF0000 - 0x76B1E000 C:\WINDOWS\system32\WINMM.dll
0x5D100000 - 0x5D107000 C:\WINDOWS\system32\serwvdrv.dll
0x5B420000 - 0x5B427000 C:\WINDOWS\system32\umdmxfrm.dll
0x72C90000 - 0x72C99000 C:\WINDOWS\system32\wdmaud.drv
0x72C80000 - 0x72C88000 C:\WINDOWS\system32\msacm32.drv
0x77BB0000 - 0x77BC5000 C:\WINDOWS\system32\MSACM32.dll
0x77BA0000 - 0x77BA7000 C:\WINDOWS\system32\midimap.dll
0x02D40000 - 0x02DFD000 C:\Programme\Norton SystemWorks\Password Manager\PPUI.DLL
0x7C140000 - 0x7C22E000 C:\WINDOWS\system32\MFC70.DLL
0x74DB0000 - 0x74E1C000 C:\WINDOWS\system32\RICHED20.DLL
0x70D00000 - 0x70EA0000 C:\Programme\Norton SystemWorks\Password Manager\GDIPLUS.DLL
0x02C40000 - 0x02C96000 C:\Programme\Norton SystemWorks\Password Manager\PPRES.DLL
0x4EBA0000 - 0x4ED43000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82\gdiplus.dll
0x02CC0000 - 0x02CC9400 C:\Programme\Norton SystemWorks\Password Manager\PPW32EVT.dll
0x76EA0000 - 0x76EDC000 C:\WINDOWS\system32\RASAPI32.DLL
0x76E50000 - 0x76E62000 C:\WINDOWS\system32\rasman.dll
0x76E70000 - 0x76E9F000 C:\WINDOWS\system32\TAPI32.dll
0x76E40000 - 0x76E4E000 C:\WINDOWS\system32\rtutils.dll
0x719B0000 - 0x719F0000 C:\WINDOWS\system32\mswsock.dll
0x66710000 - 0x66769000 C:\WINDOWS\system32\hnetcfg.dll
0x719F0000 - 0x719F8000 C:\WINDOWS\System32\wshtcpip.dll
0x77C40000 - 0x77C63000 C:\WINDOWS\system32\msv1_0.dll
0x76D20000 - 0x76D39000 C:\WINDOWS\system32\iphlpapi.dll
0x72240000 - 0x72245000 C:\WINDOWS\system32\sensapi.dll
0x0FFD0000 - 0x0FFF8000 C:\WINDOWS\system32\rsaenh.dll
0x5E490000 - 0x5E49D000 C:\WINDOWS\system32\pstorec.dll
0x03360000 - 0x033A8000 C:\Programme\Norton SystemWorks\Password Manager\PPW32HLP.dll
0x033B0000 - 0x033CE000 C:\Programme\Gemeinsame Dateien\Symantec Shared\Script Blocking\scrauth.dll
0x033D0000 - 0x033F0000 C:\Programme\Gemeinsame Dateien\Symantec Shared\Script Blocking\ScrBlock.dll
0x75BF0000 - 0x75C5E000 c:\windows\system32\jscript.dll
0x75D40000 - 0x75DB1000 C:\WINDOWS\System32\mshtmled.dll
0x71CC0000 - 0x71CDC000 C:\WINDOWS\System32\actxprxy.dll
0x6D460000 - 0x6D470000 C:\Programme\Java\j2re1.4.2_05\bin\npjpi142_05.dll
0x5F1A0000 - 0x5F1B7000 C:\WINDOWS\system32\OLEPRO32.DLL
0x6D330000 - 0x6D348000 C:\Programme\Java\j2re1.4.2_05\bin\jpiexp32.dll
0x76EE0000 - 0x76F07000 C:\WINDOWS\system32\DNSAPI.dll
0x76F70000 - 0x76F78000 C:\WINDOWS\System32\winrnr.dll
0x66210000 - 0x66219000 C:\WINDOWS\system32\netware\NWWS2NDS.DLL
0x66220000 - 0x6622C000 C:\WINDOWS\system32\netware\NWWS2SLP.DLL
0x04350000 - 0x04357000 C:\WINDOWS\system32\NWSRVLOC.dll
0x6D3A0000 - 0x6D3B8000 C:\Programme\Java\j2re1.4.2_05\bin\jpishare.dll
0x08000000 - 0x08139000 C:\PROGRA~1\Java\J2RE14~1.2_0\bin\client\jvm.dll
0x043A0000 - 0x043A7000 C:\PROGRA~1\Java\J2RE14~1.2_0\bin\hpi.dll
0x044C0000 - 0x044CE000 C:\PROGRA~1\Java\J2RE14~1.2_0\bin\verify.dll
0x04840000 - 0x04859000 C:\PROGRA~1\Java\J2RE14~1.2_0\bin\java.dll
0x04860000 - 0x0486D000 C:\PROGRA~1\Java\J2RE14~1.2_0\bin\zip.dll
0x07290000 - 0x073A2000 C:\Programme\Java\j2re1.4.2_05\bin\awt.dll
0x72F70000 - 0x72F96000 C:\WINDOWS\system32\WINSPOOL.DRV
0x073C0000 - 0x07411000 C:\Programme\Java\j2re1.4.2_05\bin\fontmanager.dll
0x736D0000 - 0x73719000 C:\WINDOWS\system32\ddraw.dll
0x73B30000 - 0x73B36000 C:\WINDOWS\system32\DCIMAN32.dll
0x738B0000 - 0x73980000 C:\WINDOWS\system32\D3DIM700.DLL
0x6D310000 - 0x6D324000 C:\Programme\Java\j2re1.4.2_05\bin\jpicom32.dll
0x07C40000 - 0x07C4F000 C:\Programme\Java\j2re1.4.2_05\bin\net.dll
0x07F60000 - 0x07F82000 C:\Programme\Java\j2re1.4.2_05\bin\dcpr.dll
0x59DD0000 - 0x59E71000 C:\WINDOWS\system32\DBGHELP.dll
0x76BB0000 - 0x76BBB000 C:\WINDOWS\system32\PSAPI.DLL

Heap at VM Abort:
Heap
 def new generation   total 1728K, used 1568K [0x10010000, 0x101e0000, 0x104f0000)
  eden space 1600K,  95% used [0x10010000, 0x1018d6a0, 0x101a0000)
  from space 128K,  33% used [0x101c0000, 0x101cac88, 0x101e0000)
  to   space 128K,   0% used [0x101a0000, 0x101a0000, 0x101c0000)
 tenured generation   total 21160K, used 19123K [0x104f0000, 0x1199a000, 0x14010000)
   the space 21160K,  90% used [0x104f0000, 0x1179cda8, 0x1179ce00, 0x1199a000)
 compacting perm gen  total 9472K, used 9399K [0x14010000, 0x14950000, 0x18010000)
   the space 9472K,  99% used [0x14010000, 0x1493de60, 0x1493e000, 0x14950000)

Local Time = Tue Aug 17 18:34:57 2004
Elapsed Time = 37
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002EF
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_05-b04 mixed mode)


With J2SE 5.0 Beta 2:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0470329c, pid=2280, tid=2380
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-beta2-b51 mixed mode, sharing)
# Problematic frame:
# v  ~BufferBlob::jni_fast_GetIntField
#

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

Current thread (0x06ed74d0):  JavaThread "AWT-EventQueue-2" [_thread_in_native, id=2380]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000032, EBX=0x00000000, ECX=0x000000ae, EDX=0x00000000
ESP=0x0ff8f5cc, EBP=0x0ff8f600, ESI=0x06ed758c, EDI=0x00000000
EIP=0x0470329c, EFLAGS=0x00010246

Top of Stack: (sp=0x0ff8f5cc)
0x0ff8f5cc:   6d702c28 06ed758c 00000000 00000032
0x0ff8f5dc:   00000000 06ed758c 00000000 0ff8f5dc
0x0ff8f5ec:   0ff8f1f0 0ff8fce4 6d74956a 6d753a60
0x0ff8f5fc:   00000000 0ff8f744 6d03434e 06ed758c
0x0ff8f60c:   00000000 00000032 00000000 06ed758c
0x0ff8f61c:   6d11ea38 6d001699 06ed758c 00000000
0x0ff8f62c:   0ff8f68c 0ff8f768 06ed758c 6d0034e8
0x0ff8f63c:   06ed758c 0ff8f768 0ff8f68c 06ed74d0

Instructions: (pc=0x0470329c)
0x0470328c:   00 00 00 8b c1 83 e0 01 8b 54 04 08 8b 44 24 0c
0x0470329c:   8b 12 c1 e8 02 8b 04 02 8b d0 81 f2 90 72 79 6d


Stack: [0x0fe90000,0x0ff90000),  sp=0x0ff8f5cc,  free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~BufferBlob::jni_fast_GetIntField
C  0x6d03434e
j  sun.java2d.pipe.LoopPipe.drawLine(Lsun/java2d/SunGraphics2D;IIII)V+42
j  sun.java2d.SunGraphics2D.drawLine(IIII)V+10
j  symantec.itools.b.k.a(Ljava/awt/Rectangle;Z)V+152
j  symantec.itools.b.k.if(Ljava/awt/Rectangle;Z)V+449
j  symantec.itools.b.k.if(Z)V+114
j  symantec.itools.b.k.null()V+678
j  symantec.itools.b.k.paint(Ljava/awt/Graphics;)V+8
j  symantec.itools.b.k.update(Ljava/awt/Graphics;)V+2
j  sun.awt.RepaintArea.updateComponent(Ljava/awt/Component;Ljava/awt/Graphics;)V+6
j  sun.awt.RepaintArea.paint(Ljava/lang/Object;Z)V+263
J  sun.awt.windows.WComponentPeer.handleEvent(Ljava/awt/AWTEvent;)V
J  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub
V  [jvm.dll+0x81663]
V  [jvm.dll+0xd3b5d]
V  [jvm.dll+0x81534]
V  [jvm.dll+0x81291]
V  [jvm.dll+0x9bd30]
V  [jvm.dll+0xfdeb2]
V  [jvm.dll+0xfde80]
C  [msvcrt.dll+0x2a3b0]
C  [kernel32.dll+0xb50b]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.java2d.loops.DrawLine.
###@###.### 10/20/04 22:40 GMT
DrawLine(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;IIII)V+0
j  sun.java2d.pipe.LoopPipe.drawLine(Lsun/java2d/SunGraphics2D;IIII)V+42
j  sun.java2d.SunGraphics2D.drawLine(IIII)V+10
j  symantec.itools.b.k.a(Ljava/awt/Rectangle;Z)V+152
j  symantec.itools.b.k.if(Ljava/awt/Rectangle;Z)V+449
j  symantec.itools.b.k.if(Z)V+114
j  symantec.itools.b.k.null()V+678
j  symantec.itools.b.k.paint(Ljava/awt/Graphics;)V+8
j  symantec.itools.b.k.update(Ljava/awt/Graphics;)V+2
j  sun.awt.RepaintArea.updateComponent(Ljava/awt/Component;Ljava/awt/Graphics;)V+6
j  sun.awt.RepaintArea.paint(Ljava/lang/Object;Z)V+263
J  sun.awt.windows.WComponentPeer.handleEvent(Ljava/awt/AWTEvent;)V
J  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
 0x06f0aed8 JavaThread "Image Fetcher 3" daemon [_thread_blocked, id=3472]
 0x06f0a558 JavaThread "Image Fetcher 2" daemon [_thread_blocked, id=524]
 0x0f9ed588 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=3096]
 0x06f0ba80 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=668]
 0x06efc0f8 JavaThread "TeaSet-EventQueue-0" [_thread_blocked, id=504]
 0x0f9cbc28 JavaThread "Thread-9" [_thread_blocked, id=2520]
 0x0f918988 JavaThread "Thread-7" [_thread_blocked, id=2832]
 0x0f915a38 JavaThread "TimerQueue" daemon [_thread_blocked, id=1520]
 0x0f9190e8 JavaThread "Thread-5" [_thread_in_native, id=4072]
=>0x06ed74d0 JavaThread "AWT-EventQueue-2" [_thread_in_native, id=2380]
 0x0705c708 JavaThread "thread applet-com.cisco.nm.util.sgz.Loader" [_thread_blocked, id=3996]
 0x06ec8f68 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=2924]
 0x06ec7d20 JavaThread "traceMsgQueueThread" [_thread_blocked, id=3308]
 0x06eb1f40 JavaThread "AWT-Windows" daemon [_thread_in_native, id=516]
  0x06eb1b18 JavaThread "AWT-Shutdown" [_thread_blocked, id=3220]
 0x06eb06f8 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2532]
 0x0332b590 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1824]
 0x0332a200 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3976]
 0x03329558 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2124]
 0x0325d008 JavaThread "Finalizer" daemon [_thread_blocked, id=3236]
 0x03326ce8 JavaThread "Reference Handler" daemon [_thread_blocked, id=3272]
 0x0033fd10 JavaThread "main" [_thread_in_native, id=2760]

Other Threads:
 0x03325bc0 VMThread [id=2328]
 0x0332c8f0 WatcherThread [id=2984]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation   total 1920K, used 1543K [0x22a70000, 0x22c80000, 0x22f50000)
 eden space 1728K,  86% used [0x22a70000, 0x22be7d50, 0x22c20000)
 from space 192K,  21% used [0x22c20000, 0x22c2a190, 0x22c50000)
 to   space 192K,   0% used [0x22c50000, 0x22c50000, 0x22c80000)
tenured generation   total 24284K, used 20599K [0x22f50000, 0x24707000, 0x26a70000)
  the space 24284K,  84% used [0x22f50000, 0x2436dee8, 0x2436e000, 0x24707000)
compacting perm gen  total 8192K, used 5333K [0x26a70000, 0x27270000, 0x2aa70000)
  the space 8192K,  65% used [0x26a70000, 0x26fa56c0, 0x26fa5800, 0x27270000)
   ro space 8192K,  62% used [0x2aa70000, 0x2af70348, 0x2af70400, 0x2b270000)
   rw space 12288K,  46% used [0x2b270000, 0x2b7fba58, 0x2b7fbc00, 0x2be70000)

Dynamic libraries:
0x00400000 - 0x00419000         C:\Programme\Internet Explorer\iexplore.exe
0x7c910000 - 0x7c9c7000         C:\WINDOWS\system32\ntdll.dll

0x6d630000 - 0x6d7b4000         C:\PROGRA~1\Java\JRE15~1.0\bin\client\jvm.dll

VM Arguments:
jvm_args: -Xbootclasspath/a:C:\PROGRA~1\Java\JRE15~1.0\lib\deploy.jar;C:\PROGRA~1\Java\JRE15~1.0\lib\plugin.jar -Xmx64m -Djavaplugin.maxHeapSize=64m -Xverify:remote -Djavaplugin.version=1.5.0 -Djavaplugin.nodotversion=150 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\Java\JRE15~1.0 -Djava.protocol.handler.pkgs=sun.plugin.net.protocol -Djavaplugin.vm.options=-Djava.class.path=C:\PROGRA~1\Java\JRE15~1.0\classes -Xbootclasspath/a:C:\PROGRA~1\Java\JRE15~1.0\lib\deploy.jar;C:\PROGRA~1\Java\JRE15~1.0\lib\plugin.jar -Xmx64m -Djavaplugin.maxHeapSize=64m -Xverify:remote -Djavaplugin.version=1.5.0 -Djavaplugin.nodotversion=150 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\Java\JRE15~1.0 -Djava.protocol.handler.pkgs=sun.plugin.net.protocol  vfprintf
java_command: <unknown>

Environment Variables:
PATH=C:\PROGRA~1\Java\JRE15~1.0\bin;C:\Programme\Internet Explorer;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\ATI Technologies\ATI Control Panel;C:\WINDOWS\system32\nls;C:\WINDOWS\system32\nls\ENGLISH;C:\DOS;C:\DOS\TOOLS;.
USERNAME=administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel


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

OS: Windows XP Build 2600 Service Pack 2

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

Memory: 4k page, physical 2096104k(1632164k free), swap 4194303k(4194303k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0-beta2-b51) for windows-x86, built on May 13 2004 02:09:25 by "java_re" with MS VC++ 6.0


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
see cisco sdm 1.2
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
not found
(Incident Review ID: 297338) 
======================================================================

                                    

Comments
EVALUATION

Not for tiger.
###@###.### 2004-08-20

The SDM 1.2 application (Security Device manager) which 
apparently crashes doesn't work w/o the cisco router 
(not surprisingly) - I can't go past the log in
screen.

The app can be obtained from this location:
  http://www.cisco.com/pcgi-bin/tablebuild.pl/sdm

Need more info:
 - does the crash happen if -Dsun.java2d.noddraw=true property
   is set as one of runtime parameters
   (set env. variable _JAVA_OPTIONS=-Dsun.java2d.noddraw=true
   in the MyComputer/Properties/Advanced prior to starting the 
   application)
 - please provide the output of the crash when the vm is 
   started with -Xcheck:jni parameter

###@###.### 2004-08-23

We've worked with a customer who was having the same problem,
and were able to identify the cause of the crash (at least,
in this customer's case).

  The crashes were happening because one of the attributes of the
  graphics object was null, and it's not supposed to ever be null.

  It turns out that it was null because the application is accessing
  a graphics object from different threads, which is not guaranteed to
  work. It looks like the app would cache the Graphics object on one
  thread and then accesses it from possibly different threads.

  I've logged the thread on which the graphics object was created, and
  compared it to the thread on which the drawLine rendering call was
  issued when the clipRegion (the attribute mentioned earlier)
  was null, causing the crash.

  Here's the debug output I managed to get after many, many
  repetitions:
clipRegion is null! We're about to die!
This thread:Thread[help,5,cl.tools.toolagent.ToolAgent Group]
java.lang.Exception: Stack trace
	at java.lang.Thread.dumpStack(Thread.java:1158)
	at sun.java2d.SunGraphics2D.checkThreadId1(SunGraphics2D.java:3157)
	at sun.java2d.SunGraphics2D.drawLine(SunGraphics2D.java:2068)
	at cl.utilities.widgets.inputfield.AltTextField.paint(Unknown Source)
	at cl.utilities.widgets.inputfield.CustomTextField.paint(Unknown Source)
	at cl.utilities.widgets.inputfield.OrderedTextField.paint(Unknown Source)
	at cl.utilities.widgets.inputfield.AltTextField.setFont(Unknown Source)
	at cl.utilities.widgets.inputfield.CustomTextField.setFont(Unknown Source)
	at cl.utilities.widgets.inputfield.AltTextField.approve(Unknown Source)
	at cl.tools.grapher.BoundsField.approve(Unknown Source)
	at cl.utilities.widgets.inputfield.TutorableTextField.resetFlag(Unknown Source)
	at cl.utilities.widgets.inputfield.TutorableTextField.resetFlag(Unknown Source)
	at cl.tools.grapher.BoundsField.setProperty(Unknown Source)
	at cl.utilities.widgets.inputfield.TutorableTextField.setProperties(Unknown Source)
	at cl.communication.dormin.MessageCommunicator.treatSetProperties(Unknown Source)
	at cl.communication.dormin.MessageCommunicator.treatVerb(Unknown Source)
	at cl.communication.dormin.MessageCommunicator.treatMessage(Unknown Source)
	at cl.communication.dormin.MessageCommunicator.handleMessage(Unknown Source)
	at cl.communication.dormin.MessageCommunicator.handleMessage(Unknown Source)
	at cl.communication.lispjava.LispJavaConnection.messageReceived(Unknown Source)
	at cl.communication.lispjava.ClientListener.run(Unknown Source)
WARNING: This graphics was created on a different thread: id: 13 name: Thread[AWT-EventQueue-0,6,main]
 current thread id : Thread[help,5,cl.tools.toolagent.ToolAgent Group]
The graphics was last invalidated on thread: 13

  So here's the approximate flow of events:

  EventDispatchThread                    |  cl.tools.toolagent.ToolAgent help thread
  ---------------------------------------|------------------------------------------
    Graphics2D object created and cached |
    ...                                  |
                                         |  drawImage call is ussued,
                                         |  the graphics object is validated
    G2D object is invalidated, causing   |
    the revalidation process, during     |
    which the clipRegion is first set    |
    to NULL, to be recalculated shortly  |
                                         |  we go to the native code to
                                         |  complete the fillRect call and
                                         |  crash because we don't
                                         |  expect clipRegion to be
                                         |  null, because we assume
                                         |  the graphics was validated

  The same scenario fits the crashes in other primitives (drawPoly,
  drawString, etc), since they all access the clipRegion primitive.

  So, we have our part to fix by making sure we at least
  don't crash if the clipRegion attrubute is null. I've implemented
  this fix and it appears to eliminate the crash (the test application
  was restarted ~800 times w/o the crash, which is typically
  reproducible within first 200 app launches)

  But note that we don't guarantee that multithreaded
  access to the graphics object would work (in fact, I can guarantee
  you that it won't, Graphics object is designed to be used on a
  single thread), so the customers need to make sure that the
  application doesn't access the graphics object from different threads, 
  at least w/o proper synchronization.

  There's not much value in caching the graphics objects anyway: they're rather
  lightweight, and don't consume any native resources.

###@###.### 2004-12-02 21:55:50 GMT

Here's a simple test case which immediately reproduces the crash:
import java.awt.*;
import java.awt.image.*;
public class Test2 {
    volatile boolean done = false;
    Graphics2D sharedGraphics;
    BufferedImage bi;
    public Test2() {
        BufferedImage bi = new BufferedImage(50, 50, BufferedImage.TYPE_INT_RGB);
        sharedGraphics = (Graphics2D)bi.getGraphics();

        Thread clipFlipper = new ClipFlipper();
        Thread ren1 = new Renderer();
        Thread ren2 = new Renderer();
        Thread ren3 = new Renderer();

        ren1.start();
        ren2.start();
        ren3.start();
        clipFlipper.start();
        
        try { Thread.sleep(5000); } catch (InterruptedException e) {};
        done = true;
        try { Thread.sleep(5000); } catch (InterruptedException e) {};
    }

    class Renderer extends Thread {
        public void run() {
            while (!done) {
                sharedGraphics.drawLine(10, 10, 30, 30);
                try { Thread.sleep(10); } catch (InterruptedException e) {};
            }
        }
    }
    class ClipFlipper extends Thread {
        public void run() {
            while (!done) {
                sharedGraphics.setClip(10, 10, 30, 30);
                try { Thread.sleep(10); } catch (InterruptedException e) {};
            }
        }
    }

    public static void main (String[] args) {
        new Test2();
    }
}


###@###.### 2004-12-02 23:19:49 GMT
                                     
2004-12-02
WORK AROUND

A correct workaround would be to stop accessing the graphics context
object from different threads.

If that's not possible (too late in dev. cycle or something), a simpler 
workaround has been proven to help:

--- from email exchanged with a customer:
>   In fact, you can probably get away with just cloning the shared
>   graphics object prior to using it:
>    Graphics graphicsToRenderTo = sharedGraphics.create();
>    .. and then use graphicsToRenderTo in your rendering code on the  
>    ToolAgent thread
> 
>   Note, however, that you can clone the object at exactly the same
>   time as the other thead invalidates it, so you should really do
>   something like this:
>     Graphics graphicsToRenderTo = sharedGraphics.create();
>     graphicsToRenderTo.setClip(graphicsToRenderTo.getClip()); 
>   The last line will revalidate the graphics context, and create the
>   clipRegion if necessary.
> 
>   So, a simple experiment would be to add this code to your code..
                                                                   
 I made this change to our code, and it does look like it has alleviated
 the problem.  Our QA dept is going to do some more thorough tests to make sure, but
 for now it looks like we have a good work-around.
---- 

###@###.### 2004-12-26 23:42:43 GMT
                                     
2004-12-26



Hardware and Software, Engineered to Work Together