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] Created: (HARMONY-5402) [drlvm][reliability] failure of ExcptHandlerTest from the reliability test suite
Date Fri, 18 Jan 2008 10:42:34 GMT
[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