Microsoft KB Archive/245643

From BetaArchive Wiki
Knowledge Base

Article ID: 245643

Article Last Modified on 6/14/2006


  • Microsoft Java Virtual Machine

This article was previously published under Q245643


When running Java code with the JIT compiler turned on, some uses of character constants in a loop can cause an Application error to occur. This article describes one example of code that causes an Application error and results in the following error message:

JView.exe - Application Error
The exception Illegal Instruction.
An attempt was made to execute an illegal instruction.
(0xc000001d) occurred in the application at location 0x04041332. Click on OK to terminate the program. Click on CANCEL to debug the program.


This problem is caused by a bug in the way that the JIT compiler handles character constants when unrolling a loop.


Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This problem has been fixed in version 3190 and 3236 of the Microsoft virtual machine.

This problem was corrected in Windows 2000 Service Pack 1.


This code causes the Application error and results in the error message in the "Symptoms" section:

public class Test
    private static void DoTest()
        for( int i = 0; i < 10; i++ )
            System.out.println( (char)('a' + i) );

    public static void main( String[] args )
        System.out.println( "starting" );



For additional information about the latest service pack for Windows 2000, click the article number below to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

251299 FIX: Problem Promoting Objects in 'Finally' Blocks in Interpreted Methods During Garbage Collection

For support information about Visual J++ and the SDK for Java, visit the following Microsoft Web site:

Keywords: kbbug kbfix kbjit kbjavavm33xxfix kbqfe kbcompiler kbhotfixserver KB245643