Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 36406 invoked from network); 20 Nov 2006 17:38:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Nov 2006 17:38:25 -0000 Received: (qmail 1351 invoked by uid 500); 20 Nov 2006 17:38:34 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 1318 invoked by uid 500); 20 Nov 2006 17:38:34 -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 1309 invoked by uid 99); 20 Nov 2006 17:38:34 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Nov 2006 09:38:34 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= 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; Mon, 20 Nov 2006 09:38:24 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id D68E87142D1 for ; Mon, 20 Nov 2006 09:38:03 -0800 (PST) Message-ID: <8573878.1164044283876.JavaMail.jira@brutus> Date: Mon, 20 Nov 2006 09:38:03 -0800 (PST) From: "Ivan Volosyuk (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-2206) [drlvm][interpreter] Assertion "frame.locals.ref(varNum) == FLAG_RET_ADDR" in interpreter.cpp line 2194 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ http://issues.apache.org/jira/browse/HARMONY-2206?page=all ] Ivan Volosyuk updated HARMONY-2206: ----------------------------------- Attachment: interpreter_JSR_W_fix.diff It is a bug in interpreter. It looks like the JSR_W bytecode was never used before :) Fix is attached. > [drlvm][interpreter] Assertion "frame.locals.ref(varNum) == FLAG_RET_ADDR" in interpreter.cpp line 2194 > ------------------------------------------------------------------------------------------------------- > > Key: HARMONY-2206 > URL: http://issues.apache.org/jira/browse/HARMONY-2206 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Environment: Windows/ia32, Linux/ia32 > Reporter: Ivan Popov > Attachments: interpreter_JSR_W_fix.diff > > > While running test from HARMONY-2200 against DRLVM (r474860) in -Xint mode I've noticed that with debug build it throws assertion: > Assertion failed: frame.locals.ref(varNum) == FLAG_RET_ADDR, file ...\dr > lvm\trunk\vm\interpreter\src\interpreter.cpp, line 2194 > Attaching with VC++ debugger shows the following stack trace: > > interpreter.dll!_assert(const char * expr=0x014a9e14, const char * filename=0x014a9db0, unsigned int lineno=2194) Line 295 C > interpreter.dll!Opcode_RET(StackFrame & frame={...}) Line 2194 + 0x2b C++ > interpreter.dll!interpreter(StackFrame & frame={...}) Line 2864 + 0x9 C++ > interpreter.dll!interpreterInvoke(StackFrame & prevFrame={...}, Method * method=0x02655538, int args=1, ManagedObject * obj=0x20607194, bool intf=false) Line 3373 + 0x9 C++ > interpreter.dll!interpreterInvokeVirtual(StackFrame & prevFrame={...}, Method * method=0x02655538) Line 3455 + 0x17 C++ > interpreter.dll!Opcode_INVOKEVIRTUAL(StackFrame & frame={...}) Line 2054 + 0xd C++ > interpreter.dll!interpreter(StackFrame & frame={...}) Line 2893 + 0x9 C++ > interpreter.dll!interpreter_execute_method(Method * method=0x026554a0, jvalue * return_value=0x00000000, jvalue * args=0x02511498) Line 3176 + 0x9 C++ > interpreter.dll!JIT_execute_method(void * jh=0x00000000, _jmethodID * m=0x026554a0, jvalue * return_value=0x00000000, jvalue * args=0x02511498) Line 162 + 0x11 C++ > em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x026554a0, jvalue * return_value=0x00000000, jvalue * args=0x02511498) Line 489 + 0x16 C++ > em.dll!ExecuteMethod(_jmethodID * meth=0x026554a0, jvalue * return_value=0x00000000, jvalue * args=0x02511498) Line 43 + 0x21 C++ > harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x026554a0, jvalue * result=0x00000000, jvalue * args=0x02511498) Line 51 + 0x1b C++ > harmonyvm.dll!call_static_method_no_ref_result(JNIEnv_External * env=0x011b1870, _jobject * clazz=0x02511578, _jmethodID * methodID=0x026554a0, jvalue * args=0x02511498, jvalue * result=0x00000000) Line 1089 + 0x11 C++ > harmonyvm.dll!CallStaticVoidMethodA(JNIEnv_External * env=0x011b1870, _jobject * clazz=0x02511578, _jmethodID * methodID=0x026554a0, jvalue * args=0x02511498) Line 1467 + 0x17 C++ > harmonyvm.dll!CallStaticVoidMethodV(JNIEnv_External * env=0x011b1870, _jobject * clazz=0x02511578, _jmethodID * methodID=0x026554a0, char * args=0x0013fa40) Line 1455 C++ > harmonyvm.dll!CallStaticVoidMethod(JNIEnv_External * env=0x011b1870, _jobject * clazz=0x02511578, _jmethodID * methodID=0x026554a0, ...) Line 1445 C++ > java.exe!00401b56() > java.exe!00402508() > java.exe!00402bb2() > java.exe!0040111a() > hyprt.dll!111060d8() > java.exe!004011ba() > ntdll.dll!7c9499e9() > To reproduce this problem, download test ThreadEventsTest.zip from HARMONY-2200, edit run_win.bat or run_linux.sh by adding -Xint option to java command, and run it against _debug_ build of DRLVM. With release build test passes in -Xint mode. > This does not relate to JVMTI support, because assertion is thrown even if instrumented class is executed without JVMTI agent loaded (testcase #2). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira