Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4916781
Votes 0
Synopsis Trouble with Polyline in Graphics2D
Category java:classes_2d
Reported Against 1.4.2_01
Release Fixed
State 11-Closed, duplicate of 4810806, bug
Priority: 3-Medium
Related Bugs 4810806
Submit Date 03-SEP-2003
Description




FULL PRODUCT VERSION :
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
Java HotSpot(TM) CLient VM (build 1.4.1_01-b01, mixed mode)

FULL OS VERSION :
 customer  Windows XP [Version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
Uninitialized int[] -Array in Graphics.drawPolyLine causes ACCESS-VIOLATION and VM aborts programm-execution

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
- Type in the testApp-Sourcecode
- Open Dos-CMD
- Compile with javac testApp.java
- Run with java testApp

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
NullPointerException or any other catch-able Exception
ACTUAL -
Access-Violation and VM aborts execution

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D3A68E7
Function=[Unknown.]
Library=C:\j2sdk1.4.1_01\jre\bin\client\jvm.dll

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


Current Java thread:
	at sun.awt.windows.Win32Renderer.doDrawPoly(Native Method)
	at sun.awt.windows.Win32Renderer.drawPolyline(Win32Renderer.java:114)
	at sun.java2d.SunGraphics2D.drawPolyline(SunGraphics2D.java:2061)
	at de.schraml.animationViewer.figures.PolyLineFigure.drawFrame(PolyLineFigure.java:145)
	at de.schraml.animationViewer.figures.AbstractFigure.draw(AbstractFigure.java:290)
	at de.schraml.animationViewer.figures.AbstractFigure.draw(AbstractFigure.java:294)
	at de.schraml.animationViewer.figures.AbstractFigure.draw(AbstractFigure.java:294)
	at de.schraml.animationViewer.drawing.StandardDrawing.draw(StandardDrawing.java:230)
	at de.schraml.animationViewer.awt.AnimationCanvas.paint(AnimationCanvas.java:189)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JViewport.paint(JViewport.java:707)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JComponent.paintChildren(JComponent.java:647)
	- locked <02F68F10> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(JComponent.java:817)
	at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4771)
	at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4724)
	at javax.swing.JComponent._paintImmediately(JComponent.java:4668)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4477)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

Dynamic libraries:
0x00400000 - 0x00406000 	C:\j2sdk1.4.1_01\jre\bin\java.exe
0x77F40000 - 0x77FEE000 	C:\WINDOWS\System32\ntdll.dll
0x77E40000 - 0x77F38000 	C:\WINDOWS\system32\kernel32.dll
0x77DA0000 - 0x77E3C000 	C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78086000 	C:\WINDOWS\system32\RPCRT4.dll
0x77BE0000 - 0x77C33000 	C:\WINDOWS\system32\MSVCRT.dll
0x6D330000 - 0x6D45A000 	C:\j2sdk1.4.1_01\jre\bin\client\jvm.dll
0x77D10000 - 0x77D9C000 	C:\WINDOWS\system32\USER32.dll
0x77C40000 - 0x77C80000 	C:\WINDOWS\system32\GDI32.dll
0x76AF0000 - 0x76B1D000 	C:\WINDOWS\System32\WINMM.dll
0x76330000 - 0x7634C000 	C:\WINDOWS\System32\IMM32.DLL
0x62E10000 - 0x62E18000 	C:\WINDOWS\System32\LPK.DLL
0x72F10000 - 0x72F6A000 	C:\WINDOWS\System32\USP10.dll
0x6D1D0000 - 0x6D1D7000 	C:\j2sdk1.4.1_01\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 	C:\j2sdk1.4.1_01\jre\bin\verify.dll
0x6D210000 - 0x6D229000 	C:\j2sdk1.4.1_01\jre\bin\java.dll
0x6D320000 - 0x6D32D000 	C:\j2sdk1.4.1_01\jre\bin\zip.dll
0x6D000000 - 0x6D0FB000 	C:\j2sdk1.4.1_01\jre\bin\awt.dll
0x72F70000 - 0x72F93000 	C:\WINDOWS\System32\WINSPOOL.DRV
0x77180000 - 0x772A1000 	C:\WINDOWS\system32\ole32.dll
0x6D180000 - 0x6D1D0000 	C:\j2sdk1.4.1_01\jre\bin\fontmanager.dll
0x51000000 - 0x5104D000 	C:\WINDOWS\System32\ddraw.dll
0x73B30000 - 0x73B36000 	C:\WINDOWS\System32\DCIMAN32.dll
0x6DE00000 - 0x6DE71000 	C:\WINDOWS\System32\D3DIM.DLL
0x746A0000 - 0x746E4000 	C:\WINDOWS\System32\MSCTF.dll
0x0EEE0000 - 0x0EF0B000 	C:\WINDOWS\System32\msctfime.ime
0x6D280000 - 0x6D29E000 	C:\j2sdk1.4.1_01\jre\bin\jpeg.dll
0x74670000 - 0x74696000 	C:\WINDOWS\System32\Msimtf.dll
0x6D2D0000 - 0x6D2DE000 	C:\j2sdk1.4.1_01\jre\bin\net.dll
0x71A30000 - 0x71A39000 	C:\WINDOWS\System32\WSOCK32.dll
0x71A10000 - 0x71A25000 	C:\WINDOWS\System32\WS2_32.dll
0x71A00000 - 0x71A08000 	C:\WINDOWS\System32\WS2HELP.dll
0x719B0000 - 0x719EC000 	C:\WINDOWS\System32\mswsock.dll
0x76EE0000 - 0x76F05000 	C:\WINDOWS\System32\DNSAPI.dll
0x76F70000 - 0x76F77000 	C:\WINDOWS\System32\winrnr.dll
0x76F20000 - 0x76F4D000 	C:\WINDOWS\system32\WLDAP32.dll
0x76F80000 - 0x76F85000 	C:\WINDOWS\System32\rasadhlp.dll
0x719F0000 - 0x719F8000 	C:\WINDOWS\System32\wshtcpip.dll
0x76C50000 - 0x76C72000 	C:\WINDOWS\system32\imagehlp.dll
0x6DA00000 - 0x6DA7D000 	C:\WINDOWS\system32\DBGHELP.dll
0x77BD0000 - 0x77BD7000 	C:\WINDOWS\system32\VERSION.dll
0x76BB0000 - 0x76BBB000 	C:\WINDOWS\System32\PSAPI.DLL

Local Time = Mon May 19 17:36:19 2003
Elapsed Time = 616
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002E6
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode)
#


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
/*
 * testApp.java
 *
 * Created on 5. M�rz 2003, 12:55
 */

package de.schraml.animationViewer.application;

import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsEnvironment;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.font.FontRenderContext;
import java.awt.font.LineMetrics;
import java.awt.geom.Rectangle2D;

/**
 * testApp for testing the Polyline-Bug
 */
public class testApp extends Frame{
    
    /** Creates a new instance of testApp */
    public testApp() {
        super("Test");
        addWindowListener(
            new WindowAdapter() {
                public void windowClosing(WindowEvent event) {
                    System.exit(0);
                }
            }
        );
        setSize(700,400);
        setVisible(true);
    }
    
    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D)g;
        int[] xPoints = null;
        int[] yPoints = null;
        int nPoints = 0;
        g.drawPolyline(xPoints,  yPoints, 0);
        //should throw any catch-able Exception
    }
    
    public static void main(String args[]) {
        testApp ta = new testApp();
    }
    
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Ensure that you have initialized the int[]-Arrays.
(Incident Review ID: 186537) 
======================================================================
Work Around
N/A
Evaluation
This is a duplicate of
    4810806: NullPointerException expected, instead HS Error: EXCEPTION_ACCESS_VIOLATION 

which has been fixed in tiger (1.5).

  xxxxx@xxxxx   2003-09-03
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang