harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3731) [drlvm][jit] FinalizeStackTest failed in opt/srv mode on Win32
Date Sat, 09 Jun 2007 13:35:26 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-3731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503073
] 

Mikhail Fursov commented on HARMONY-3731:
-----------------------------------------

After applying patch from HARMONY-4118 I found that test passes in -Xem:opt mode  (prints
PASSED and "main" method finishes without errors) but fails on shutdown.
Here is stack trace of failure:
>	harmonyvm.dll!_assert(const char * expr=0x007d5194, const char * filename=0x007d5150,
unsigned int lineno=0x00000296)  Line 295	C
 	harmonyvm.dll!FindClass(JNIEnv_External * env_ext=0x012bf4d8, String * name=0x01288d0c)
 Line 662 + 0x20	C++
 	harmonyvm.dll!FindClass(JNIEnv_External * jni_env=0x012bf4d8, const char * name=0x0081e4e0)
 Line 638 + 0xd	C++
 	harmonyvm.dll!JNIEnv_External::FindClass(const char * name=0x0081e4e0)  Line 627 + 0x12
C++
 	harmonyvm.dll!exec_shutdown_sequence(JNIEnv_External * jni_env=0x012bf4d8)  Line 68 + 0xd
C++
 	harmonyvm.dll!vm_destroy(JavaVM_Internal * java_vm=0x01254288, _jobject * java_thread=0x02655b80)
 Line 184 + 0x9	C++
 	harmonyvm.dll!DestroyJavaVM(JavaVM_External * vm=0x01254288)  Line 1473 + 0xd	C++
 	java.exe!invocation(HyPortLibrary * portLibrary=0x0013fbb8, int argc=0x00000003, char *
* argv=0x003a5ba0, unsigned int handle=0x00510000, int version=0x00010004, unsigned char ignoreUnrecognized='',
char * mainClass=0x003a5b13, unsigned int classArg=0x00000002, char * propertiesFileName=0x00154e28,
int isStandaloneJar=0x00000000, char * vmdllsubdir=0x0013fb44)  Line 754	C
 	java.exe!gpProtectedMain(haCmdlineOptions * args=0x0013fb90)  Line 383 + 0x33	C
 	java.exe!main(int argc=0x00000003, char * * argv=0x003a5ba0, char * * envp=0x003a3900) 
Line 146 + 0xc	C
 	java.exe!mainCRTStartup()  Line 398 + 0xe	C


where the name of the class in  harmonyvm.dll!FindClass call is  "java/lang/System"

The test passes in JET mode because of the different SOE location.
In JET mode SOE happens in managed code and 'in_java' is true here:

vmcore\src\util\win\ia32_em64t\nt_exception_filter_common.cpp:

    case STATUS_STACK_OVERFLOW:
        {
            TRACE2("signals",
                ("StackOverflowError detected at ip = %p, esp = %p",
                 regs.get_ip(), regs_get_sp(&regs)));

            vmthread->restore_guard_page = true;
            exn_class = env->java_lang_StackOverflowError_Class;
            if (in_java) {
                // stack overflow occured in java code:
                // nothing special to do
            } else if (is_unwindable()) {
                // stack overflow occured in native code that can be unwound
                // safely.
                // Throwing exception requires suspend disabled status
                if (hythread_is_suspend_enabled())
                    hythread_suspend_disable();
            } else {

when run with OPT 'in_java' is 'false' and  the second "else if (is_unwindable()) {" branch
is accepted.


> [drlvm][jit] FinalizeStackTest failed in opt/srv mode on Win32
> --------------------------------------------------------------
>
>                 Key: HARMONY-3731
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3731
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Win32, opt/srv mode
>            Reporter: Xiao-Feng Li
>         Attachments: h3731.patch
>
>
> This test case breaks from time to time, but hard to be reproduced. We suggest to keep
it in JIRA and exclude it for opt/srv modes test.
> Pavel Afremov has following comments, which are helpful for people fixing the bug:
>   1. In this case, fast asm helpers aren't used, because allocation of
>   finalizable objects always goes throw slow path.
>   2. It will be very nice to found what returns 3 error code. Correct me
>   if I wrong, this code is returned when top level thread exception handler
>   catch unprocessed java exception. It's a different situation. When VM
>   crashed with unprocessed SOE in fast path asm helpers it returns 128 error
>   code.
>   3. It looks very strange that test works in client mode and doesn't
>   work in server. For VM side (exception handling and helpers) there is no
>   difference between these two modes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message