[M3devel] @M3paranoidgc always crashes

Olaf Wagner wagner at elegosoft.com
Thu Aug 20 17:10:58 CEST 2009


Quoting Tony Hosking <hosking at cs.purdue.edu>:

> Indeed, the use of paranoidgc itself now seems to be broken
> (independently of any other bug you might be trying to track down by
> invoking paranoidgc).
> This is a serious bug, that should be rectified *before* any release.
> Without it, we cannot easily diagnose GC bugs in the field. I have
> little to no time to devote to this right now, but it does look like
> the recent changes to threading initialisation has broken things.  I
> remember being very careful about initialization of threads and heap
> components of the run-time when working on the original native
> threads.  In particular, the ability to invoke ThreadF.GetActivation
> was allowed before ThreadF.Init had been called, because
> ThreadF.InitActivations was able to be invoked on-demand independently
> of ThreadF.Init.  This independence now seems to have been eliminated
> so as to eliminate a run-time check in GetActivation.

Jay, could you open a ticket for that, too?

And we also need to add tests for running with various @M3 options...

Olaf

>
> On 20 Aug 2009, at 05:55, Jay K wrote:
>
>>
>> Verified on SOLgnu and AMD64_LINUX.
>> Probably related to initialization order changes that let user    
>> threads work again.
>> Probably should just use untraced?
>>
>>
>>
>> % gdb --args ./cm3 @M3paranoidgc
>> GNU gdb 6.4.90-debian
>> Copyright (C) 2006 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License,   
>> and  you are
>> welcome to change it and/or distribute copies of it under certain    
>> conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB.  Type "show warranty" for  details.
>> This GDB was configured as "x86_64-linux-gnu"...Using host    
>> libthread_db library
>> "/lib/libthread_db.so.1".
>> (gdb) run
>> Starting program: /home/jkrell/cm3/bin/cm3 @M3paranoidgc
>> [Thread debugging using libthread_db enabled]
>> [New Thread 47899659458256 (LWP 29607)]
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 47899659458256 (LWP 29607)]
>> 0x00000000006934c5 in RTAllocator__GetTracedObj    
>> (M3_Eic7CK_def=Cannot access mem
>> ory at address 0x800028d97718
>> )
>>   at ../src/runtime/common/RTAllocator.m3:221
>> 221         INC(thread.inCritical);
>> (gdb) bt
>> #0  0x00000000006934c5 in RTAllocator__GetTracedObj    
>> (M3_Eic7CK_def=Cannot access
>> memory at address 0x800028d97718
>> )
>>   at ../src/runtime/common/RTAllocator.m3:221
>> #1  0x0000000000692e1f in RTHooks__AllocateTracedObj    
>> (M3_AJWxb1_defn=Cannot acce
>> ss memory at address 0x800028d97788
>> )
>>   at ../src/runtime/common/RTAllocator.m3:120
>> #2  0x000000000069b3ae in RTCollector__InstallSanityCheck ()
>>   at ../src/runtime/common/RTCollector.m3:1637
>> #3  0x00000000006a1747 in RTHeapRep__Init ()
>>   at ../src/runtime/common/RTCollector.m3:2769
>> #4  0x00000000006a2a1d in RTLinker__InitRuntime    
>> (M3_AcxOUs_p_argc=Cannot access
>> memory at address 0x800028d97858
>> )
>>   at ../src/runtime/common/RTLinker.m3:58
>> #5  0x00000000004160bc in main (argc=Cannot access memory at   
>> address  0x800028d97
>> 8a8
>> ) at _m3main.mc:3
>> (gdb)
>>
>>
>>



-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list