[M3devel] @M3paranoidgc always crashes
Tony Hosking
hosking at cs.purdue.edu
Thu Aug 20 17:26:52 CEST 2009
Jay may have fixed this for now.
On 20 Aug 2009, at 11:10, Olaf Wagner wrote:
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090820/93e066ca/attachment-0002.html>
More information about the M3devel
mailing list