Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 57690 invoked from network); 5 Jul 2007 08:40:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Jul 2007 08:40:27 -0000 Received: (qmail 69553 invoked by uid 500); 5 Jul 2007 08:40:29 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 69478 invoked by uid 500); 5 Jul 2007 08:40:29 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 69461 invoked by uid 99); 5 Jul 2007 08:40:29 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jul 2007 01:40:29 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jul 2007 01:40:25 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id EA36C71422E for ; Thu, 5 Jul 2007 01:40:04 -0700 (PDT) Message-ID: <6593550.1183624804955.JavaMail.jira@brutus> Date: Thu, 5 Jul 2007 01:40:04 -0700 (PDT) From: "Mikhail Fursov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Assigned: (HARMONY-4349) [drlvm][jit][jet] NoSuchMethodError isn't thrown if class doesn't have a definition of called constructor In-Reply-To: <32401044.1183623244859.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-4349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Fursov reassigned HARMONY-4349: --------------------------------------- Assignee: Mikhail Fursov > [drlvm][jit][jet] NoSuchMethodError isn't thrown if class doesn't have a definition of called constructor > ---------------------------------------------------------------------------------------------------------- > > Key: HARMONY-4349 > URL: https://issues.apache.org/jira/browse/HARMONY-4349 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Reporter: Elena Sayapina > Assignee: Mikhail Fursov > > NoSuchMethodError isn't thrown with Jitrino.JET if class doesn't have a definition of called constructor, > i.e. it present at compile time but absent at runtime > Please, also note that this behavior was observed up to r553372, > Harmony crashes in JET mode on this revision on the test below, > Possibly it's connected with recent lazy resolution enabling in JET > Please, consider the following code: > public class Test { > public static void main(String[] args) { > try { > TestClass obj = new TestClass(); > System.out.println("TEST FAILED: no exception"); > } catch (NoSuchMethodError e) { > System.out.println("TEST PASSED"); > } catch (Throwable e) { > e.printStackTrace(); > System.out.println("TEST FAILED: unexpected " + e); > } > } > } > public class TestClass { > TestClass() { > > } > } > Steps to reproduce: > 1) compile Test class > 2) change TestClass constructor TestClass() to TestClass(int i) and recompile TestClass > 3) run Test class on Harmony with -Xem:jet > You may also use compiled classes from attached reproduce.zip > Output on Harmony-r553113 with -Xem:jet : > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, > as applicable. > java version "1.5.0" > pre-alpha : not complete or compatible > svn = r553113, (Jul 4 2007), Windows/ia32/msvc 1310, release build > http://harmony.apache.org > TEST FAILED: no exception > Test crashed on Harmony-r553372-msvc-release on WinXP with the following call stack: > > harmonyvm.dll!rth_invokespecial_addr_withresolve(Class * klass=0x0013f95c, unsigned int cp_idx=544669624) Line 2050 C++ > harmonyvm.dll!free(void * pBlock=0x01ffb2f8) Line 103 + 0x5 C > harmonyvm.dll!GcFrame::~GcFrame() Line 99 + 0x6 C++ > harmonyvm.dll!compile_me(Method * method=0x2076d494) Line 819 C++ > harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x0013f95c, int sz=1, void * f=0x023b0010) Line 77 C++ > harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x01ffbe44, jvalue * return_value=0x00000000, jvalue * args=0x01fa1430) Line 200 C++ > em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x01ffbe44, jvalue * return_value=0x00000000, jvalue * args=0x01fa1430) Line 509 + 0x14 C++ > em.dll!ExecuteMethod(_jmethodID * meth=0x01ffbe44, jvalue * return_value=0x00000000, jvalue * args=0x01fa1430) Line 44 C++ > harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x01ffbe44, jvalue * result=0x00000000, jvalue * args=0x01fa1430) Line 60 + 0x19 C++ > harmonyvm.dll!CallStaticVoidMethodV(JNIEnv_External * jni_env=0x011a0d98, _jobject * clazz=0x02007558, _jmethodID * methodID=0x01ffbe44, char * args=0x0013fa14) Line 1546 + 0x2c C++ > harmonyvm.dll!CallStaticVoidMethod(JNIEnv_External * jni_env=0x011a0d98, _jobject * clazz=0x02007558, _jmethodID * methodID=0x01ffbe44, ...) Line 1537 C++ > java.exe!main_runJavaMain(const JNINativeInterface_ * * env=0x011a0d98, char * mainClassName=0x003a3fbc, int nameIsUTF=0, int java_argc=0, char * * java_argv=0x003a2bd8, HyPortLibrary * portLibrary=0x0013fbb8) Line 1321 + 0x1b C > java.exe!invocation(HyPortLibrary * portLibrary=0x0013fbb8, int argc=4, char * * argv=0x003a2bc8, unsigned int handle=5308416, int version=65540, unsigned char ignoreUnrecognized=' ', char * mainClass=0x003a3fbc, unsigned int classArg=3, char * propertiesFileName=0x00155e38, int isStandaloneJar=0, char * vmdllsubdir=0x0013fb40) Line 742 + 0x2c C > java.exe!gpProtectedMain(haCmdlineOptions * args=0x0013fb90) Line 391 + 0x33 C > java.exe!main(int argc=4, char * * argv=0x003a2bc8, char * * envp=0x003a3080) Line 146 + 0xc C > java.exe!mainCRTStartup() Line 398 + 0xe C > kernel32.dll!7c816fd7() > Please, note that the test passes on Harmony with -Xint, -Xem:opt > Output on RI: > java version "1.5.0_11" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03) > Java HotSpot(TM) Client VM (build 1.5.0_11-b03, interpreted mode) > TEST PASSED -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.