[M3devel] m3 RC

Mika Nystrom mika at async.async.caltech.edu
Sat Oct 31 19:02:14 CET 2009


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
>



More information about the M3devel mailing list