harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Rebriy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
Date Tue, 22 Jan 2008 14:38:35 GMT

    [ 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.


Mime
View raw message