[M3devel] m3 RC

Tony Hosking hosking at cs.purdue.edu
Sat Oct 31 19:05:55 CET 2009


Can you try to update to the latest ThreadPThread on the RC branch?   
It looks like you are using an older one.

On 31 Oct 2009, at 14:02, Mika Nystrom wrote:

> Hi Tony,
>
> Yes the thing I just posted to m3devel has @M3paranoidgc.
>
>    Mika
>
> Tony Hosking writes:
>> That assertion failure is a serious violation of the collector
>> invariants an suggests that a reference from the stack has not been
>> processed properly.  Is there are red zone on AMD64_FreeBSD?  Can you
>> try running @M3paranoidgc to force heavy checking of GC invariants?
>>
>>
>> On 31 Oct 2009, at 00:46, Mika Nystrom wrote:
>>
>>>
>>> Hi Jay & Tony, sorry to do this but I sent this email to m3devel  
>>> and I
>>> don't think it went through.  I thought you might be interested :)
>>>
>>>    Mika
>>>
>>> ------- Forwarded Message
>>>
>>> Return-Path: <mika at async.async.caltech.edu>
>>> X-Original-To: mika
>>> Delivered-To: mika at async.caltech.edu
>>> Received: by async.async.caltech.edu (Postfix, from userid 1004)
>>> 	id 5BB5D1A2094; Thu, 29 Oct 2009 13:07:53 -0700 (PDT)
>>> Received: from async.async.caltech.edu (localhost [127.0.0.1])
>>> 	by async.async.caltech.edu (Postfix) with ESMTP id 577E01A2091;
>>> 	Thu, 29 Oct 2009 13:07:53 -0700 (PDT)
>>> To: m3devel at elegosoft.com
>>> cc: mika at async.caltech.edu
>>> Subject: RTCollector problems in 5.8.3 RC
>>> Date: Thu, 29 Oct 2009 13:07:53 -0700
>>> From: Mika Nystrom <mika at async.async.caltech.edu>
>>> Message-Id: <20091029200753.5BB5D1A2094 at async.async.caltech.edu>
>>>
>>> Hello again,
>>>
>>> Well I installed the whole archive from the RC and recompiled rather
>>> than trying to update to the head.
>>>
>>> Here are the files I installed from:
>>>
>>> cm3-bin-core-AMD64_FREEBSD-5.8.3-RC3.tgz
>>> cm3-src-all-5.8.3-RC3.tgz
>>>
>>> And this gets much further.  Mentor works, e.g.
>>>
>>> But after running one of my programs for a while I see the following
>>> troubling stuff.  I don't think the code is doing anything
>>> particularly
>>> strange... (this particular code is involved in recycling cons cells
>>> in
>>> the Scheme interpreter rather than leaving them for the GC).
>>>
>>> ***
>>> *** runtime error:
>>> ***    <*ASSERT*> failed.
>>> ***    file "../src/runtime/common/RTCollector.m3", line 2284
>>> ***
>>>
>>>
>>> Program received signal SIGABRT, Aborted.
>>> 0x0000000805c5aa9c in thr_kill () from /lib/libc.so.7
>>> (m3gdb) where
>>> re
>>> #0  0x0000000805c5aa9c in thr_kill () from /lib/libc.so.7
>>> #1  0x0000000805ce9f8b in abort () from /lib/libc.so.7
>>> #2  0x0000000804732bf7 in Crash () at ../src/runtime/POSIX/ 
>>> RTOS.m3:20
>>> #3  0x0000000804726615 in Crash (msg=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/runtime/common/RTProcess.m3:65
>>> #4  0x0000000804723ab2 in EndError (crash=Invalid C/C++ type code 36
>> in symbol table.
>>> ) at ../src/runtime/common/RTError.m3:118
>>> #5  0x00000008047237aa in MsgS (file=Invalid C/C++ type code 35 in
>>> symbol table.
>>> ) at ../src/runtime/common/RTError.m3:40
>>> #6  0x0000000804723f85 in Crash (a=Invalid C/C++ type code 30 in
>>> symbol table.
>>> ) at ../src/runtime/common/RTException.m3:79
>>> #7  0x0000000804723c3c in DefaultBackstop (a=Invalid C/C++ type code
>>> 30 in symbol table.
>>> ) at ../src/runtime/common/RTException.m3:39
>>> #8  0x0000000804723b6e in InvokeBackstop (a=Invalid C/C++ type code
>>> 30 in symbol table.
>>> ) at ../src/runtime/common/RTException.m3:25
>>> #9  0x0000000804733eab in Raise (act=Invalid C/C++ type code 30 in
>>> symbol table.
>>> ) at ../src/runtime/ex_frame/RTExFrame.m3:29
>>> #10 0x0000000804723cee in DefaultBackstop (a=Invalid C/C++ type code
>>> 30 in symbol table.
>>> ) at ../src/runtime/common/RTException.m3:47
>>> #11 0x0000000804723b6e in InvokeBackstop (a=Invalid C/C++ type code
>>> 30 in symbol table.
>>> ) at ../src/runtime/common/RTException.m3:25
>>> #12 0x0000000804733eab in Raise (act=Invalid C/C++ type code 30 in
>>> symbol table.
>>> ) at ../src/runtime/ex_frame/RTExFrame.m3:29
>>> #13 0x000000080470b241 in ReportFault (module=Invalid C/C++ type
>>> code 35 in symbol table.
>>> ) at ../src/runtime/common/RTHooks.m3:110
>>> #14 0x0000000804721026 in _m3_fault (arg=Invalid C/C++ type code 39
>>> in symbol table.
>>> )
>>>  from /usr/local/cm3/pkg/m3core/AMD64_FREEBSD/libm3core.so.5
>>> #15 0x000000080471dddf in CheckStoreTraced (dst=Invalid C/C++ type
>>> code 46 in symbol table.
>>> ) at ../src/runtime/common/RTCollector.m3:2284
>>> #16 0x0000000801be7cc7 in ReturnCons (t=Invalid C/C++ type code 26
>>> in symbol table.
>>> ) at ../src/Scheme.m3:711
>>> #17 0x0000000801bff957 in Apply2 (t=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/SchemePrimitive.m3:550
>>> #18 0x0000000801beaa9c in EvalInternal (t=Invalid C/C++ type code 26
>>> in symbol table.
>>> ) at ../src/Scheme.m3:574
>>> #19 0x0000000801beaea4 in Eval (t=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/Scheme.m3:344
>>> #20 0x0000000801be87b4 in ReduceCond (t=Invalid C/C++ type code 26
>>> in symbol table.
>>> ) at ../src/Scheme.m3:664
>>> #21 0x0000000801be9bd4 in EvalInternal (t=Invalid C/C++ type code 26
>>> in symbol table.
>>> ) at ../src/Scheme.m3:461
>>> - ---Type <return> to continue, or q <return> to quit---
>>> #22 0x0000000801beaea4 in Eval (t=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/Scheme.m3:344
>>> #23 0x0000000801be6f7b in EvalInGlobalEnv (t=Invalid C/C++ type code
>>> 26 in symbol table.
>>> ) at ../src/Scheme.m3:592
>>> #24 0x000000080067505a in Run (mr=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/GCOMSCode.m3:176
>>> #25 0x0000000800666a17 in MApply (mr=Invalid C/C++ type code 26 in
>>> symbol table.
>>> ) at ../src/GCOMS.m3:225
>>> #26 0x0000000804737df3 in RunThread (me=Invalid C/C++ type code 29
>>> in symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:547
>>> #27 0x0000000804737a6a in ThreadBase (param=Invalid C/C++ type code
>>> 35 in symbol table.
>>> ) at ../src/thread/PTHREAD/ThreadPThread.m3:523
>>> #28 0x0000000805af94d1 in pthread_getprio () from /lib/libthr.so.3
>>> #29 0x0000000000000000 in ?? ()
>>> (m3gdb) up 16
>>> #16 0x0000000801be7cc7 in ReturnCons (t=16_0000000806b82018,
>>> cons=16_00007ffff1dbcc30)
>>>   at ../src/Scheme.m3:711
>>> 711           t.freePairs := cons
>>> Current language:  auto; currently Modula-3
>>> (m3gdb) print cons
>>> $1 = 16_00007ffff1dbcc30
>>> (m3gdb) print t.freePairs
>>> Object has no field or method named "freePairs".
>>> (m3gdb) whatis cons
>>> type = GCOMSCode.Pair
>>> (m3gdb) print t
>>> $2 = (*16_0000000806b82018*) OBJECT  END
>>> (m3gdb) list
>>> 706           END;
>>> 707
>>> 708           p.first := SYMrip;
>>> 709
>>> 710           p.rest := t.freePairs;
>>> 711           t.freePairs := cons
>>> 712         END
>>> 713       END ReturnCons;
>>> 714
>>> 715     PROCEDURE SymbolCheck(x : Object) : SchemeSymbol.T RAISES
>>> { E } =
>>> (m3gdb)
>>> ...
>>> (m3gdb) list
>>> 2279        INC(checkStoreTraced);               (* race, so only
>>> approximate *)
>>> 2280        WITH h = HeaderOf (LOOPHOLE(dst, RefReferent)), page =
>>> PageToRef(p) DO
>>> 2281          TRY
>>> 2282            RTOS.LockHeap(thread^);
>>> 2283            <*ASSERT h.typecode # RT0.TextLitTypecode*>
>>> 2284            <*ASSERT NOT h.gray*>           <===== here
>>> 2285            WITH d = page.desc DO
>>> 2286              IF h.dirty THEN
>>> 2287                <*ASSERT NOT d.clean*>
>>> 2288              ELSE
>>> (m3gdb)
>>>
>>> top shows:
>>>
>>> PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU
>>> COMMAND
>>> 85115 mika       67  20    0   119M 28636K STOP   1   0:00  0.00%
>>> gcomsmaster
>>>
>>>     Mika
>>>
>>> ------- End of Forwarded Message
>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091031/79a2b81f/attachment-0002.html>


More information about the M3devel mailing list