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/01/18 11:42:34 UTC

[jira] Created: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

[drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
--------------------------------------------------------------------------------

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


I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 

===================================
OK
OK
OK
OK
OK
OK
class constructor has thrown an exception

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
===================================

This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.

Evaluation of the failure gives the following problem:

Crash stack is :
>	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
. 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
. 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
. 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
. 	msvcr71.dll!01d49565() 	
. 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
. 	kernel32.dll!77e64829() 

Assembly code location:

Function mark_scan_heap_for_space_tune(Collector *collector): 

.        collector_tracestack_push(collector, p_obj);
01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
011495A1 8B CB            mov         ecx,ebx 
011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
011495A6 89 39            mov         dword ptr [ecx],edi 
011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
011495AB 8D 48 10         lea         ecx,[eax+10h] 
011495AE 3B D1            cmp         edx,ecx 
011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
011495B8 50               push        eax  
011495B9 52               push        edx  
011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
011495C4 50               push        eax  
011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
011495CA 83 C4 0C         add         esp,0Ch 
011495CD 85 C0            test        eax,eax 
011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
011495D7 51               push        ecx  
011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
011495DD 83 C4 04         add         esp,4 
011495E0 85 C0            test        eax,eax 
011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
011495E4 89 46 30         mov         dword ptr [esi+30h],eax 

#ifdef GC_GEN_STATS 
.        gc_gen_collector_update_rootset_ref_num(stats);
011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
011495EB FF 00            inc         dword ptr [eax] 
#endif

.        unsigned int obj_size = vm_object_size(p_obj);
011495ED 8B 17            mov         edx,dword ptr [edi] 
011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
>>>>>>>>
>>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
>>>>>>>>
011495F4 A8 02            test        al,2 
011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
01149609 83 E0 FC         and         eax,0FFFFFFFCh 
0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
#ifdef USE_32BITS_HASHCODE
.        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
01149617 83 E3 04         and         ebx,4 
0114961A 03 D8            add         ebx,eax 
#endif
.        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
01149620 50               push        eax  
01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
01149626 8B 08            mov         ecx,dword ptr [eax] 
01149628 83 C4 04         add         esp,4 
0114962B 3B F9            cmp         edi,ecx 
0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
.          collector->non_los_live_obj_size += obj_size;
01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
.          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
0114963D C1 E9 08         shr         ecx,8 
01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
01149644 03 FB            add         edi,ebx 
01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
01149649 01 18            add         dword ptr [eax],ebx 

Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.


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


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

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

Pavel Rebriy updated HARMONY-5402:
----------------------------------

    Summary: [drlvm][gc] failure of ExcptHandlerTest from the reliability test suite  (was: [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite)

Mark it as a GC bug.

> [drlvm][gc] failure of ExcptHandlerTest from the reliability test suite
> -----------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

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

Pavel Rebriy commented on HARMONY-5402:
---------------------------------------

I've just reproduced failure on revision 614119 - Win32 2003 server with 2 CPU and HT.


> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

Posted by "Chen Yang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561367#action_12561367 ] 

Chen Yang commented on HARMONY-5402:
------------------------------------

On my local Windows 2003 server 32 bits version on Dual-P4 w/o HT enabled, I have run about 10 times with 20 minutes as time out, all finished successfully.
Don't know whether this may have some relationship with HT. I will try tomorrow.


> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

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

Pavel Rebriy commented on HARMONY-5402:
---------------------------------------

This failure was reproduced on Windows 2003 32-bit server on 1 CPU with HT.
The test time limit is 20 minutes > 1000 sec.

> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

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

Pavel Rebriy commented on HARMONY-5402:
---------------------------------------

Bug is still reproducible on  M5 release (628209).

Reproduced on Windows 2003 server 32bit  on 2 processor with HT. Crashed 2 times from 5 runs.

> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

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

Pavel Rebriy commented on HARMONY-5402:
---------------------------------------

Here are stacks of crashes:

1. The same as described above:

Function mark_scan_heap_for_space_tune(Collector *collector): 

Register edx = 0.

        unsigned int obj_size = vm_object_size(p_obj);
01B29CAD  mov         edx,dword ptr [edi] 
01B29CAF  and         edx,0FFFFFFFCh 
01B29CB2  mov         eax,dword ptr [edx]                  <<<<<<<<<<<<<< Here
01B29CB4  test        al,2 

2. The second  crash is: 

Function static void trace_object(Collector* collector, Partial_Reveal_Object *p_obj):

Assembly code location: 

    scan_object(collector, p_obj);
01B298B7  push        ebx  
01B298B8  mov         dword ptr [eax],ecx 
01B298BA  call        dword ptr [__imp__vm_notify_obj_alive (1B3D15Ch)] 
01B298C0  mov         eax,dword ptr [ebx] 
01B298C2  mov         ecx,dword ptr [TRACE_JLC_VIA_VTABLE (1B42A44h)] 
01B298C8  add         esp,4 
01B298CB  and         eax,0FFFFFFFCh 
01B298CE  test        ecx,ecx 
01B298D0  je          trace_object+339h (1B29929h) 
01B298D2  mov         ecx,dword ptr [eax+8] 
01B298D5  test        ecx,ecx 
01B298D7  jne         trace_object+339h (1B29929h) 
01B298D9  mov         edx,dword ptr [eax+4] 
01B298DC  mov         dword ptr [eax+8],1 
01B298E3  mov         ecx,dword ptr [edx] 
01B298E5  test        cl,1 
01B298E8  jne         trace_object+339h (1B29929h) 
01B298EA  or          ecx,1 
01B298ED  mov         dword ptr [edx],ecx 
01B298EF  mov         ecx,dword ptr [eax+4] 
01B298F2  mov         eax,dword ptr [esi+30h] 
01B298F5  mov         edi,dword ptr [eax+4] 
01B298F8  add         edi,0FFFFFFFCh 
01B298FB  mov         edx,edi 
01B298FD  mov         dword ptr [eax+4],edi 
01B29900  mov         dword ptr [edx],ecx 
01B29902  mov         edx,dword ptr [eax+4] 
01B29905  lea         ecx,[eax+10h] 
01B29908  cmp         edx,ecx 
01B2990A  jne         trace_object+339h (1B29929h) 
01B2990C  mov         edx,dword ptr ds:[1B429D4h] 
01B29912  push        eax  
01B29913  push        edx  
01B29914  call        sync_stack_push (1B11A60h) 
01B29919  push        offset gc_metadata (1B425C8h) 
01B2991E  call        free_task_pool_get_entry (1B126C0h) 
01B29923  add         esp,0Ch 
01B29926  mov         dword ptr [esi+30h],eax 
01B29929  mov         eax,dword ptr [ebx] 
01B2992B  and         eax,0FFFFFFFCh 
01B2992E  mov         eax,dword ptr [eax] 
01B29930  test        al,4 
01B29932  je          01B29B8D 
01B29938  test        al,2 
01B2993A  je          01B29A5B 
01B29940  mov         ecx,dword ptr [ebx+8] 
01B29943  and         eax,0FFFFFFF8h 
01B29946  mov         eax,dword ptr [eax+10h] 
01B29949  add         eax,ebx 
01B2994B  xor         ebx,ebx 
01B2994D  test        ecx,ecx 
01B2994F  mov         dword ptr [esp+10h],ecx 
01B29953  mov         dword ptr [esp+14h],eax 
01B29957  jbe         01B29B8D 
01B2995D  jmp         trace_object+373h (1B29963h) 
01B2995F  mov         eax,dword ptr [esp+14h] 
01B29963  mov         edi,dword ptr [eax+ebx*4] 
01B29966  test        edi,edi 
01B29968  je          01B29A49 
>>>>>>>
>>>>>>>01B2996E  mov         eax,dword ptr [edi]  // edi = 0x1
>>>>>>>
01B29970  test        al,1 
01B29972  jne         01B29A49 
01B29978  or          eax,1 
01B2997B  mov         dword ptr [edi],eax 
01B2997D  mov         eax,dword ptr [esi+0CCh] 
01B29983  inc         dword ptr [eax+14h] 
01B29986  mov         eax,dword ptr [esi+30h] 
01B29989  mov         ebp,dword ptr [eax+4] 
01B2998C  add         ebp,0FFFFFFFCh 
01B2998F  mov         ecx,ebp 


> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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


[jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite

Posted by "Chen Yang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561209#action_12561209 ] 

Chen Yang commented on HARMONY-5402:
------------------------------------

Would you like to provide the revsion and OS version Windows Server 2003 x86 or x64?
I cannot reproduce on x64 environment with 32 bit binary(most updated svn version), even with 1000 seconds running.

> [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
> --------------------------------------------------------------------------------
>
>                 Key: HARMONY-5402
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5402
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003
>            Reporter: Pavel Rebriy
>
> I've tried to run ExcptHandlerTest reliability test on release build and obtained an error: 
> ===================================
> OK
> OK
> OK
> OK
> OK
> OK
> class constructor has thrown an exception
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ===================================
> This is an intermittent failure (2 times from 3 runs) reproduced on release build only, debug works fine.
> Evaluation of the failure gives the following problem:
> Crash stack is :
> >	gc_gen_uncomp.dll!mark_scan_heap_for_space_tune(Collector * collector=0x011615c8)  Line 174 + 0x5 bytes	C++
> . 	gc_gen_uncomp.dll!slide_compact_mspace(Collector * collector=0x004a3668)  Line 429	C++
> . 	gc_gen_uncomp.dll!collector_thread_func(void * arg=0x004a3668)  Line 186	C++
> . 	hythr.dll!hythread_wrapper_start_proc(void * arg=0x004a3740)  Line 805	C
> . 	msvcr71.dll!01d49565() 	
> . 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr71.dll]	
> . 	kernel32.dll!77e64829() 
> Assembly code location:
> Function mark_scan_heap_for_space_tune(Collector *collector): 
> .        collector_tracestack_push(collector, p_obj);
> 01149598 8B 46 30         mov         eax,dword ptr [esi+30h] 
> 0114959B 8B 58 04         mov         ebx,dword ptr [eax+4] 
> 0114959E 83 C3 FC         add         ebx,0FFFFFFFCh 
> 011495A1 8B CB            mov         ecx,ebx 
> 011495A3 89 58 04         mov         dword ptr [eax+4],ebx 
> 011495A6 89 39            mov         dword ptr [ecx],edi 
> 011495A8 8B 50 04         mov         edx,dword ptr [eax+4] 
> 011495AB 8D 48 10         lea         ecx,[eax+10h] 
> 011495AE 3B D1            cmp         edx,ecx 
> 011495B0 75 35            jne         mark_scan_heap_for_space_tune+0F7h (11495E7h) 
> 011495B2 8B 15 D4 19 16 01 mov         edx,dword ptr ds:[11619D4h] 
> 011495B8 50               push        eax  
> 011495B9 52               push        edx  
> 011495BA E8 71 82 FE FF   call        sync_stack_push (1131830h) 
> 011495BF A1 D0 19 16 01   mov         eax,dword ptr ds:[011619D0h] 
> 011495C4 50               push        eax  
> 011495C5 E8 06 82 FE FF   call        sync_stack_pop (11317D0h) 
> 011495CA 83 C4 0C         add         esp,0Ch 
> 011495CD 85 C0            test        eax,eax 
> 011495CF 75 13            jne         mark_scan_heap_for_space_tune+0F4h (11495E4h) 
> 011495D1 8B 0D D0 19 16 01 mov         ecx,dword ptr ds:[11619D0h] 
> 011495D7 51               push        ecx  
> 011495D8 E8 F3 4E FF FF   call        gc_metadata_extend (113E4D0h) 
> 011495DD 83 C4 04         add         esp,4 
> 011495E0 85 C0            test        eax,eax 
> 011495E2 74 ED            je          mark_scan_heap_for_space_tune+0E1h (11495D1h) 
> 011495E4 89 46 30         mov         dword ptr [esi+30h],eax 
> #ifdef GC_GEN_STATS 
> .        gc_gen_collector_update_rootset_ref_num(stats);
> 011495E7 8B 44 24 18      mov         eax,dword ptr [esp+18h] 
> 011495EB FF 00            inc         dword ptr [eax] 
> #endif
> .        unsigned int obj_size = vm_object_size(p_obj);
> 011495ED 8B 17            mov         edx,dword ptr [edi] 
> 011495EF 83 E2 FC         and         edx,0FFFFFFFCh 
> >>>>>>>>
> >>>>>>>>011495F2 8B 02            mov         eax,dword ptr [edx]  // Incorrect value in eax register
> >>>>>>>>
> 011495F4 A8 02            test        al,2 
> 011495F6 74 16            je          mark_scan_heap_for_space_tune+11Eh (114960Eh) 
> 011495F8 83 E0 F8         and         eax,0FFFFFFF8h 
> 011495FB 8B 48 0C         mov         ecx,dword ptr [eax+0Ch] 
> 011495FE 0F AF 4F 08      imul        ecx,dword ptr [edi+8] 
> 01149602 8B 50 10         mov         edx,dword ptr [eax+10h] 
> 01149605 8D 44 11 03      lea         eax,[ecx+edx+3] 
> 01149609 83 E0 FC         and         eax,0FFFFFFFCh 
> 0114960C EB 06            jmp         mark_scan_heap_for_space_tune+124h (1149614h) 
> 0114960E 83 E0 F8         and         eax,0FFFFFFF8h 
> 01149611 8B 40 08         mov         eax,dword ptr [eax+8] 
> #ifdef USE_32BITS_HASHCODE
> .        obj_size += (hashcode_is_set(p_obj))?GC_OBJECT_ALIGNMENT:0;
> 01149614 8B 5F 04         mov         ebx,dword ptr [edi+4] 
> 01149617 83 E3 04         and         ebx,4 
> 0114961A 03 D8            add         ebx,eax 
> #endif
> .        if(!obj_belongs_to_space(p_obj, gc_get_los((GC_Gen*)gc))){
> 0114961C 8B 44 24 1C      mov         eax,dword ptr [esp+1Ch] 
> 01149620 50               push        eax  
> 01149621 E8 1A 54 FF FF   call        gc_get_los (113EA40h) 
> 01149626 8B 08            mov         ecx,dword ptr [eax] 
> 01149628 83 C4 04         add         esp,4 
> 0114962B 3B F9            cmp         edi,ecx 
> 0114962D 72 05            jb          mark_scan_heap_for_space_tune+144h (1149634h) 
> 0114962F 3B 78 04         cmp         edi,dword ptr [eax+4] 
> 01149632 72 19            jb          mark_scan_heap_for_space_tune+15Dh (114964Dh) 
> .          collector->non_los_live_obj_size += obj_size;
> 01149634 8B 7E 6C         mov         edi,dword ptr [esi+6Ch] 
> .          collector->segment_live_size[SIZE_TO_SEGMENT_INDEX(obj_size)] += obj_size;
> 01149637 8D 8B FF 00 00 00 lea         ecx,[ebx+0FFh] 
> 0114963D C1 E9 08         shr         ecx,8 
> 01149640 8D 44 8E 70      lea         eax,[esi+ecx*4+70h] 
> 01149644 03 FB            add         edi,ebx 
> 01149646 89 7E 6C         mov         dword ptr [esi+6Ch],edi 
> 01149649 01 18            add         dword ptr [eax],ebx 
> Test crashed while getting GC_VTable_Info pointer from Partial_Reveal_Object.

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