Currently, to meet M8. ChunRong has done the patch unrolling to walk around the bug. We are waiting for the Mikhail's direction on the "magic for monitorEnter/monitorExit". If there are "magic for monitorEnter/monitorExit", the unrolling will be ok. If there are no these kind magic, we will use our solution (To make sure the CHECK NULL before monitorEnter/monitorExit will not be eliminated simply, or eliminate the mechanism: "catch the un-catched throw with hardware") for the problem.
Thanks! Buqi On Fri, Nov 14, 2008 at 10:01 AM, Xiao-Feng Li <[EMAIL PROTECTED]>wrote: > Is this bug worked around or really fixed? > > On Fri, Nov 14, 2008 at 9:54 AM, Chunrong Lai (JIRA) <[EMAIL PROTECTED]> > wrote: > > > > [ > https://issues.apache.org/jira/browse/HARMONY-6013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel] > > > > Chunrong Lai resolved HARMONY-6013. > > ----------------------------------- > > > > Resolution: Fixed > > > > > > Fixed in r713673. > > > >> Problems with null pointer exception catch in server or opt mode for > Java applications > >> > --------------------------------------------------------------------------------------- > >> > >> Key: HARMONY-6013 > >> URL: https://issues.apache.org/jira/browse/HARMONY-6013 > >> Project: Harmony > >> Issue Type: Bug > >> Components: DRLVM > >> Affects Versions: 5.0M7 > >> Environment: Windows XP OS, Intel Core(TM)2 Duo CPU > >> Reporter: Zhiguo Ge > >> Assignee: Chunrong Lai > >> > >> Harmony has problems with null pointer exception catch under server or > opt mode for Java applications. > >> The following shows a test example: > >> public class Btest5710 { > >> > >> Object obj; > >> public static void main(String [] args) { > >> (new Btest5710()).test(); > >> } > >> public void test() { > >> System.err.println("Start Btest5710 test..."); > >> try { > >> sync(); > >> System.err.println("FAILED: NullPointerException was > expected"); > >> System.exit(-99); > >> } catch (NullPointerException e) { > >> System.err.println("PASSED: " + e); > >> } catch (Throwable e) { > >> System.err.println("Unexpected exception was thrown:"); > >> e.printStackTrace(); > >> System.err.println("FAILED"); > >> System.exit(-99); > >> } > >> } > >> void sync() { > >> synchronized (obj) { > >> obj = new Object(); > >> } > >> } > >> } > >> When running in server or opt mode, error will happen and the following > is the error message. > >> Signal reported: GENERAL_PROTECTION_FAULT > >> Registers: > >> EAX: 0x0003f700, EBX: 0x208667ac, ECX: 0x00000004, EDX: 0x00000003 > >> ESI: 0x02fed15c, EDI: 0x0013f8c0, ESP: 0x0013f6f8, EBP: 0x0086e740 > >> EIP: 0x00820b8f > > > > -- > > This message is automatically generated by JIRA. > > - > > You can reply to this email to add a comment to the issue online. > > > > > > > > -- > http://xiao-feng.blogspot.com >
