You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Rebriy (JIRA)" <ji...@apache.org> on 2008/03/04 07:28:50 UTC

[jira] Created: (HARMONY-5565) [drlvm][gc] failure of SerializableClassesTest from the reliability test suite

[drlvm][gc] failure of SerializableClassesTest from the reliability test suite
------------------------------------------------------------------------------

                 Key: HARMONY-5565
                 URL: https://issues.apache.org/jira/browse/HARMONY-5565
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows 2003 32bit debug
            Reporter: Pavel Rebriy


Evaluating the failure of api.serialization.SerializableClassesTest from the reliability test suite described in HARMONY-5532 I've found the bug in GC in debug mode. Here is the failure:

$ java -classpath build/checkouts/reliability/deploy/classes org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testReliabilityMode longrunning -testTimeOut 1200 -testClassName org.apache.harmony.test.reliability.api.serialization.SerializableClassesTest 3 10

*** NOT IMPLEMENTED EXCEPTION ***
*** NOT IMPLEMENTED EXCEPTION ***
*** NOT IMPLEMENTED EXCEPTION ***
*** thrown from class  -> java.lang.reflect.VMReflection
*** thrown from class  -> java.lang.reflect.VMReflection
*** thrown from class  -> java.lang.reflect.VMReflection
***             method -> newClassInstance
***             method -> newClassInstance
*** defined in         -> *** defined in         -> ***             method -> newClassInstance
*** defined in         -> a native method
a native method
a native method
*** NOT IMPLEMENTED EXCEPTION ***
*** thrown from class  -> java.lang.reflect.VMReflection
***             method -> newClassInstance
*** defined in         -> a native method
*** NOT IMPLEMENTED EXCEPTION ***
*** thrown from class  -> java.lang.reflect.VMReflection
***             method -> newClassInstance
*** defined in         -> a native method
...
*** NOT IMPLEMENTED EXCEPTION ***
*** thrown from class  -> java.lang.reflect.VMReflection
***             method -> newClassInstance
*** defined in         -> a native method
*** NOT IMPLEMENTED EXCEPTION ***
*** thrown from class  -> java.lang.reflect.VMReflection
***             method -> newClassInstance
*** defined in         -> a native method
Deserialization of java.security.InvalidParameterException: unexpected exception java.lang.NullPointerException
Thread 41, unexpected exception: java.lang.NullPointerException, with message: null
java.lang.NullPointerException
	at java.io.ObjectStreamClass.forClass(ObjectStreamClass.java)
	at java.io.ObjectInputStream.findStreamSuperclass(ObjectInputStream.java:1337)
	at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1316)
	at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
	at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:816)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2085)
	at org.apache.harmony.test.reliability.api.serialization.DeSerializerThread.process(SerializableClassesTest.java:380)
	at org.apache.harmony.test.reliability.api.serialization.SerThread.run(SerializableClassesTest.java:225)
<crash!>

Here is the crash stack:

>	gc_gen_uncomp.dll!obj_is_marked_in_oi(Partial_Reveal_Object * p_obj=0x00087458)  Line 353 + 0x9 bytes	C++
 	gc_gen_uncomp.dll!obj_is_dead_in_nongen_minor_gc(Partial_Reveal_Object * p_obj=0x00087458)  Line 43 + 0x39 bytes	C++
 	gc_gen_uncomp.dll!gc_obj_is_dead(GC * gc=0x00494090, Partial_Reveal_Object * p_obj=0x00087458)  Line 87 + 0x9 bytes	C++
 	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x00494090, Sync_Stack * pool=0x004b4130)  Line 298 + 0xd bytes	C++
 	gc_gen_uncomp.dll!identify_dead_weakrefs(Collector * collector=0x004b4250)  Line 350 + 0xd bytes	C++
 	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x004b4250)  Line 586 + 0x9 bytes	C++
 	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x004b4250)  Line 325 + 0x9 bytes	C++
 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004b4250)  Line 182 + 0x9 bytes	C++
 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004b6618)  Line 800 + 0x9 bytes	C
 	msvcr71d.dll!_threadstartex(void * ptd=0x004b6bf8)  Line 241 + 0xd bytes	C
 	kernel32.dll!77e66063() 	

FORCE_INLINE Obj_Info_Type get_obj_info_raw(Partial_Reveal_Object *obj) 
{  assert(obj); return obj->obj_info; }
01D64460  push        ebp  
01D64461  mov         ebp,esp 
01D64463  push        esi  
01D64464  cmp         dword ptr [obj],0 
01D64468  jne         get_obj_info_raw+2Bh (1D6448Bh) 
01D6446A  mov         esi,esp 
01D6446C  push        0BAh 
01D64471  push        offset string "d:\\users\\psrebriy\\git-master\\vm\\"... (1D9F0C0h) 
01D64476  push        offset string "obj" (1D9F0BCh) 
01D6447B  call        dword ptr [__imp___assert (1D9E13Ch)] 
01D64481  add         esp,0Ch 
01D64484  cmp         esi,esp 
01D64486  call        _RTC_CheckEsp (1D9B6B0h) 
01D6448B  mov         ecx,dword ptr [obj] 
>>>> 01D6448E  mov         eax,dword ptr [ecx+4] 
01D64491  pop         esi  
01D64492  cmp         ebp,esp 
01D64494  call        _RTC_CheckEsp (1D9B6B0h) 
01D64499  pop         ebp  
01D6449A  ret 

Somehow GC stack was corrupted.

Classlib bug HARMONY-5532 cases to the intermittent failure of the test but it doesn't cancel this failure in GC.


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


[jira] Updated: (HARMONY-5565) [drlvm][gc] failure of SerializableClassesTest from the reliability test suite

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Rebriy updated HARMONY-5565:
----------------------------------

    Environment: Windows 2003 32bit  (was: Windows 2003 32bit debug)

Removed limitation on debug build only.

> [drlvm][gc] failure of SerializableClassesTest from the reliability test suite
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-5565
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5565
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003 32bit
>            Reporter: Pavel Rebriy
>
> Evaluating the failure of api.serialization.SerializableClassesTest from the reliability test suite described in HARMONY-5532 I've found the bug in GC in debug mode. Here is the failure:
> $ java -classpath build/checkouts/reliability/deploy/classes org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testReliabilityMode longrunning -testTimeOut 1200 -testClassName org.apache.harmony.test.reliability.api.serialization.SerializableClassesTest 3 10
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> ***             method -> newClassInstance
> *** defined in         -> *** defined in         -> ***             method -> newClassInstance
> *** defined in         -> a native method
> a native method
> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> ...
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> Deserialization of java.security.InvalidParameterException: unexpected exception java.lang.NullPointerException
> Thread 41, unexpected exception: java.lang.NullPointerException, with message: null
> java.lang.NullPointerException
> 	at java.io.ObjectStreamClass.forClass(ObjectStreamClass.java)
> 	at java.io.ObjectInputStream.findStreamSuperclass(ObjectInputStream.java:1337)
> 	at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1316)
> 	at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
> 	at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:816)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2085)
> 	at org.apache.harmony.test.reliability.api.serialization.DeSerializerThread.process(SerializableClassesTest.java:380)
> 	at org.apache.harmony.test.reliability.api.serialization.SerThread.run(SerializableClassesTest.java:225)
> <crash!>
> Here is the crash stack:
> >	gc_gen_uncomp.dll!obj_is_marked_in_oi(Partial_Reveal_Object * p_obj=0x00087458)  Line 353 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!obj_is_dead_in_nongen_minor_gc(Partial_Reveal_Object * p_obj=0x00087458)  Line 43 + 0x39 bytes	C++
>  	gc_gen_uncomp.dll!gc_obj_is_dead(GC * gc=0x00494090, Partial_Reveal_Object * p_obj=0x00087458)  Line 87 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x00494090, Sync_Stack * pool=0x004b4130)  Line 298 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_weakrefs(Collector * collector=0x004b4250)  Line 350 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x004b4250)  Line 586 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x004b4250)  Line 325 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004b4250)  Line 182 + 0x9 bytes	C++
>  	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004b6618)  Line 800 + 0x9 bytes	C
>  	msvcr71d.dll!_threadstartex(void * ptd=0x004b6bf8)  Line 241 + 0xd bytes	C
>  	kernel32.dll!77e66063() 	
> FORCE_INLINE Obj_Info_Type get_obj_info_raw(Partial_Reveal_Object *obj) 
> {  assert(obj); return obj->obj_info; }
> 01D64460  push        ebp  
> 01D64461  mov         ebp,esp 
> 01D64463  push        esi  
> 01D64464  cmp         dword ptr [obj],0 
> 01D64468  jne         get_obj_info_raw+2Bh (1D6448Bh) 
> 01D6446A  mov         esi,esp 
> 01D6446C  push        0BAh 
> 01D64471  push        offset string "d:\\users\\psrebriy\\git-master\\vm\\"... (1D9F0C0h) 
> 01D64476  push        offset string "obj" (1D9F0BCh) 
> 01D6447B  call        dword ptr [__imp___assert (1D9E13Ch)] 
> 01D64481  add         esp,0Ch 
> 01D64484  cmp         esi,esp 
> 01D64486  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D6448B  mov         ecx,dword ptr [obj] 
> >>>> 01D6448E  mov         eax,dword ptr [ecx+4] 
> 01D64491  pop         esi  
> 01D64492  cmp         ebp,esp 
> 01D64494  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D64499  pop         ebp  
> 01D6449A  ret 
> Somehow GC stack was corrupted.
> Classlib bug HARMONY-5532 cases to the intermittent failure of the test but it doesn't cancel this failure in GC.

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


[jira] Commented: (HARMONY-5565) [drlvm][gc] failure of SerializableClassesTest from the reliability test suite

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574895#action_12574895 ] 

Pavel Rebriy commented on HARMONY-5565:
---------------------------------------

I've reproduced the bug in release mode as well. Here is the stack of the crash:

 	ntdll.dll!7c82ed54() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c822124() 	
 	ntdll.dll!7c83970f() 	
 	ntdll.dll!7c839620() 	
 	hythr.dll!hymutex_lock(_RTL_CRITICAL_SECTION * mutex=0x0003906c)  Line 64	C
 	hythr.dll!hythread_global_lock()  Line 255	C
 	harmonyvm.dll!sd_print_stack(Registers * regs=0x018bfb38)  Line 446	C++
 	harmonyvm.dll!process_crash(Registers * regs=0x018bfb38)  Line 84 + 0x6 bytes	C++
 	harmonyvm.dll!vectored_exception_handler_internal(_EXCEPTION_POINTERS * nt_exception=0x018bfb84)  Line 334	C++
 	harmonyvm.dll!vectored_exception_handler(_EXCEPTION_POINTERS * nt_exception=0x018bfb84)  Line 63	C++
 	ntdll.dll!7c84f937() 	
 	ntdll.dll!7c82fb23() 	
 	ntdll.dll!7c813fb5() 	
 	ntdll.dll!7c814055() 	
 	jitrino.dll!_DllMainCRTStartup(void * hDllHandle=0x7c82257a, unsigned long dwReason=34078720, void * lpreserved=0x00000002)  Line 299 + 0x5 bytes	C
 	jitrino.dll!_DllMainCRTStartup(void * hDllHandle=0x0049c6b8, unsigned long dwReason=729112, void * lpreserved=0x0048eaf0)  Line 299 + 0x5 bytes	C
>	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x0049c6b8, Sync_Stack * pool=0x004a3170)  Line 298 + 0xb bytes	C++
 	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x0048eaf0)  Line 587	C++
 	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x0048eaf0)  Line 326	C++
 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x0048eaf0)  Line 186	C++
 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x0048cd90)  Line 805	C
 	msvcr71.dll!01d29565() 	
 	kernel32.dll!77e66063() 	

The result the test is hanging on it.

> [drlvm][gc] failure of SerializableClassesTest from the reliability test suite
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-5565
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5565
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003 32bit debug
>            Reporter: Pavel Rebriy
>
> Evaluating the failure of api.serialization.SerializableClassesTest from the reliability test suite described in HARMONY-5532 I've found the bug in GC in debug mode. Here is the failure:
> $ java -classpath build/checkouts/reliability/deploy/classes org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testReliabilityMode longrunning -testTimeOut 1200 -testClassName org.apache.harmony.test.reliability.api.serialization.SerializableClassesTest 3 10
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> ***             method -> newClassInstance
> *** defined in         -> *** defined in         -> ***             method -> newClassInstance
> *** defined in         -> a native method
> a native method
> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> ...
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> Deserialization of java.security.InvalidParameterException: unexpected exception java.lang.NullPointerException
> Thread 41, unexpected exception: java.lang.NullPointerException, with message: null
> java.lang.NullPointerException
> 	at java.io.ObjectStreamClass.forClass(ObjectStreamClass.java)
> 	at java.io.ObjectInputStream.findStreamSuperclass(ObjectInputStream.java:1337)
> 	at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1316)
> 	at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
> 	at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:816)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2085)
> 	at org.apache.harmony.test.reliability.api.serialization.DeSerializerThread.process(SerializableClassesTest.java:380)
> 	at org.apache.harmony.test.reliability.api.serialization.SerThread.run(SerializableClassesTest.java:225)
> <crash!>
> Here is the crash stack:
> >	gc_gen_uncomp.dll!obj_is_marked_in_oi(Partial_Reveal_Object * p_obj=0x00087458)  Line 353 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!obj_is_dead_in_nongen_minor_gc(Partial_Reveal_Object * p_obj=0x00087458)  Line 43 + 0x39 bytes	C++
>  	gc_gen_uncomp.dll!gc_obj_is_dead(GC * gc=0x00494090, Partial_Reveal_Object * p_obj=0x00087458)  Line 87 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x00494090, Sync_Stack * pool=0x004b4130)  Line 298 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_weakrefs(Collector * collector=0x004b4250)  Line 350 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x004b4250)  Line 586 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x004b4250)  Line 325 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004b4250)  Line 182 + 0x9 bytes	C++
>  	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004b6618)  Line 800 + 0x9 bytes	C
>  	msvcr71d.dll!_threadstartex(void * ptd=0x004b6bf8)  Line 241 + 0xd bytes	C
>  	kernel32.dll!77e66063() 	
> FORCE_INLINE Obj_Info_Type get_obj_info_raw(Partial_Reveal_Object *obj) 
> {  assert(obj); return obj->obj_info; }
> 01D64460  push        ebp  
> 01D64461  mov         ebp,esp 
> 01D64463  push        esi  
> 01D64464  cmp         dword ptr [obj],0 
> 01D64468  jne         get_obj_info_raw+2Bh (1D6448Bh) 
> 01D6446A  mov         esi,esp 
> 01D6446C  push        0BAh 
> 01D64471  push        offset string "d:\\users\\psrebriy\\git-master\\vm\\"... (1D9F0C0h) 
> 01D64476  push        offset string "obj" (1D9F0BCh) 
> 01D6447B  call        dword ptr [__imp___assert (1D9E13Ch)] 
> 01D64481  add         esp,0Ch 
> 01D64484  cmp         esi,esp 
> 01D64486  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D6448B  mov         ecx,dword ptr [obj] 
> >>>> 01D6448E  mov         eax,dword ptr [ecx+4] 
> 01D64491  pop         esi  
> 01D64492  cmp         ebp,esp 
> 01D64494  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D64499  pop         ebp  
> 01D6449A  ret 
> Somehow GC stack was corrupted.
> Classlib bug HARMONY-5532 cases to the intermittent failure of the test but it doesn't cancel this failure in GC.

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


[jira] Commented: (HARMONY-5565) [drlvm][gc] failure of SerializableClassesTest from the reliability test suite

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574856#action_12574856 ] 

Pavel Rebriy commented on HARMONY-5565:
---------------------------------------

The issue leads to hang the reliability test in debug mode.

> [drlvm][gc] failure of SerializableClassesTest from the reliability test suite
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-5565
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5565
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003 32bit debug
>            Reporter: Pavel Rebriy
>
> Evaluating the failure of api.serialization.SerializableClassesTest from the reliability test suite described in HARMONY-5532 I've found the bug in GC in debug mode. Here is the failure:
> $ java -classpath build/checkouts/reliability/deploy/classes org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testReliabilityMode longrunning -testTimeOut 1200 -testClassName org.apache.harmony.test.reliability.api.serialization.SerializableClassesTest 3 10
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> ***             method -> newClassInstance
> *** defined in         -> *** defined in         -> ***             method -> newClassInstance
> *** defined in         -> a native method
> a native method
> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> ...
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> Deserialization of java.security.InvalidParameterException: unexpected exception java.lang.NullPointerException
> Thread 41, unexpected exception: java.lang.NullPointerException, with message: null
> java.lang.NullPointerException
> 	at java.io.ObjectStreamClass.forClass(ObjectStreamClass.java)
> 	at java.io.ObjectInputStream.findStreamSuperclass(ObjectInputStream.java:1337)
> 	at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1316)
> 	at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
> 	at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:816)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2085)
> 	at org.apache.harmony.test.reliability.api.serialization.DeSerializerThread.process(SerializableClassesTest.java:380)
> 	at org.apache.harmony.test.reliability.api.serialization.SerThread.run(SerializableClassesTest.java:225)
> <crash!>
> Here is the crash stack:
> >	gc_gen_uncomp.dll!obj_is_marked_in_oi(Partial_Reveal_Object * p_obj=0x00087458)  Line 353 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!obj_is_dead_in_nongen_minor_gc(Partial_Reveal_Object * p_obj=0x00087458)  Line 43 + 0x39 bytes	C++
>  	gc_gen_uncomp.dll!gc_obj_is_dead(GC * gc=0x00494090, Partial_Reveal_Object * p_obj=0x00087458)  Line 87 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x00494090, Sync_Stack * pool=0x004b4130)  Line 298 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_weakrefs(Collector * collector=0x004b4250)  Line 350 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x004b4250)  Line 586 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x004b4250)  Line 325 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004b4250)  Line 182 + 0x9 bytes	C++
>  	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004b6618)  Line 800 + 0x9 bytes	C
>  	msvcr71d.dll!_threadstartex(void * ptd=0x004b6bf8)  Line 241 + 0xd bytes	C
>  	kernel32.dll!77e66063() 	
> FORCE_INLINE Obj_Info_Type get_obj_info_raw(Partial_Reveal_Object *obj) 
> {  assert(obj); return obj->obj_info; }
> 01D64460  push        ebp  
> 01D64461  mov         ebp,esp 
> 01D64463  push        esi  
> 01D64464  cmp         dword ptr [obj],0 
> 01D64468  jne         get_obj_info_raw+2Bh (1D6448Bh) 
> 01D6446A  mov         esi,esp 
> 01D6446C  push        0BAh 
> 01D64471  push        offset string "d:\\users\\psrebriy\\git-master\\vm\\"... (1D9F0C0h) 
> 01D64476  push        offset string "obj" (1D9F0BCh) 
> 01D6447B  call        dword ptr [__imp___assert (1D9E13Ch)] 
> 01D64481  add         esp,0Ch 
> 01D64484  cmp         esi,esp 
> 01D64486  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D6448B  mov         ecx,dword ptr [obj] 
> >>>> 01D6448E  mov         eax,dword ptr [ecx+4] 
> 01D64491  pop         esi  
> 01D64492  cmp         ebp,esp 
> 01D64494  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D64499  pop         ebp  
> 01D6449A  ret 
> Somehow GC stack was corrupted.
> Classlib bug HARMONY-5532 cases to the intermittent failure of the test but it doesn't cancel this failure in GC.

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


[jira] Commented: (HARMONY-5565) [drlvm][gc] failure of SerializableClassesTest from the reliability test suite

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574882#action_12574882 ] 

Pavel Rebriy commented on HARMONY-5565:
---------------------------------------

Investigating more shows gc->finref_metadata->weakref_pool contains invalid object.

> [drlvm][gc] failure of SerializableClassesTest from the reliability test suite
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-5565
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5565
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003 32bit debug
>            Reporter: Pavel Rebriy
>
> Evaluating the failure of api.serialization.SerializableClassesTest from the reliability test suite described in HARMONY-5532 I've found the bug in GC in debug mode. Here is the failure:
> $ java -classpath build/checkouts/reliability/deploy/classes org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testReliabilityMode longrunning -testTimeOut 1200 -testClassName org.apache.harmony.test.reliability.api.serialization.SerializableClassesTest 3 10
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> ***             method -> newClassInstance
> *** defined in         -> *** defined in         -> ***             method -> newClassInstance
> *** defined in         -> a native method
> a native method
> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> ...
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> *** NOT IMPLEMENTED EXCEPTION ***
> *** thrown from class  -> java.lang.reflect.VMReflection
> ***             method -> newClassInstance
> *** defined in         -> a native method
> Deserialization of java.security.InvalidParameterException: unexpected exception java.lang.NullPointerException
> Thread 41, unexpected exception: java.lang.NullPointerException, with message: null
> java.lang.NullPointerException
> 	at java.io.ObjectStreamClass.forClass(ObjectStreamClass.java)
> 	at java.io.ObjectInputStream.findStreamSuperclass(ObjectInputStream.java:1337)
> 	at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1316)
> 	at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
> 	at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:816)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2085)
> 	at org.apache.harmony.test.reliability.api.serialization.DeSerializerThread.process(SerializableClassesTest.java:380)
> 	at org.apache.harmony.test.reliability.api.serialization.SerThread.run(SerializableClassesTest.java:225)
> <crash!>
> Here is the crash stack:
> >	gc_gen_uncomp.dll!obj_is_marked_in_oi(Partial_Reveal_Object * p_obj=0x00087458)  Line 353 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!obj_is_dead_in_nongen_minor_gc(Partial_Reveal_Object * p_obj=0x00087458)  Line 43 + 0x39 bytes	C++
>  	gc_gen_uncomp.dll!gc_obj_is_dead(GC * gc=0x00494090, Partial_Reveal_Object * p_obj=0x00087458)  Line 87 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_refs(GC * gc=0x00494090, Sync_Stack * pool=0x004b4130)  Line 298 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!identify_dead_weakrefs(Collector * collector=0x004b4250)  Line 350 + 0xd bytes	C++
>  	gc_gen_uncomp.dll!collector_identify_finref(Collector * collector=0x004b4250)  Line 586 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!nongen_forward_pool(Collector * collector=0x004b4250)  Line 325 + 0x9 bytes	C++
>  	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004b4250)  Line 182 + 0x9 bytes	C++
>  	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004b6618)  Line 800 + 0x9 bytes	C
>  	msvcr71d.dll!_threadstartex(void * ptd=0x004b6bf8)  Line 241 + 0xd bytes	C
>  	kernel32.dll!77e66063() 	
> FORCE_INLINE Obj_Info_Type get_obj_info_raw(Partial_Reveal_Object *obj) 
> {  assert(obj); return obj->obj_info; }
> 01D64460  push        ebp  
> 01D64461  mov         ebp,esp 
> 01D64463  push        esi  
> 01D64464  cmp         dword ptr [obj],0 
> 01D64468  jne         get_obj_info_raw+2Bh (1D6448Bh) 
> 01D6446A  mov         esi,esp 
> 01D6446C  push        0BAh 
> 01D64471  push        offset string "d:\\users\\psrebriy\\git-master\\vm\\"... (1D9F0C0h) 
> 01D64476  push        offset string "obj" (1D9F0BCh) 
> 01D6447B  call        dword ptr [__imp___assert (1D9E13Ch)] 
> 01D64481  add         esp,0Ch 
> 01D64484  cmp         esi,esp 
> 01D64486  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D6448B  mov         ecx,dword ptr [obj] 
> >>>> 01D6448E  mov         eax,dword ptr [ecx+4] 
> 01D64491  pop         esi  
> 01D64492  cmp         ebp,esp 
> 01D64494  call        _RTC_CheckEsp (1D9B6B0h) 
> 01D64499  pop         ebp  
> 01D6449A  ret 
> Somehow GC stack was corrupted.
> Classlib bug HARMONY-5532 cases to the intermittent failure of the test but it doesn't cancel this failure in GC.

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