[M3devel] strange errors...

Mika Nystrom mika at async.caltech.edu
Mon Jun 25 21:05:58 CEST 2007


Indeed, -g was one of the culprits.  I changed it to -gstabs+ and
got a bit further... (please scroll down to STEP 2, sorry)

Tony Hosking writes:
>Sounds like we really need some work done in this area.  I very  
>rarely use the build scripts, since I bootstrap manually from old  
>compilers to new compilers rather than use the scripts.  I suggest  
>the following approach, which I hope you will try, and then report  
>back on.
>
>Install the bootstrap compiler as you did originally:
>
>> rm -rf /usr/local/cm3/*
>>
>> cd ~/cm3-cvs
>> mkdir boot
>> cd boot
>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz
>> ./cminstall
>
>Now you will have some kind of cm3 installed, presumably in /usr/ 
>local/cm3/bin/cm3.
>
>Make sure you have a fresh CVS checkout in directory cm3 (let's  
>assume this is in your home directory ~/cm3).  Also, make sure you  
>have an up-to-date version of the CM3 backend compiler cm3cg  
>installed by executing the following:
>
>STEP 0:
>
>export CM3=/usr/local/cm3/bin/cm3
>cd ~/cm3/m3-sys/m3cc
>$CM3
>$CM3 -ship
>
>You can skip this last step if you know your backend compiler is up  
>to date.
>
>Now, let's build the new compiler from scratch (this is the sequence  
>I use regularly to test changes to the run-time system whenever I  
>make them):
>
>STEP 1:
>
>cd ~/cm3/m3-libs/m3core
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-libs/libm3
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-sys/m3middle
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-sys/m3linker
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-sys/m3front
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-sys/m3quake
>$CM3
>$CM3 -ship
>cd ~/cm3/m3-sys/cm3
>$CM3
>$CM3 -ship
>
>At this point you should have a bootstrapped version of cm3 installed  
>in the directory /usr/local/cm3/pkg/cm3/TARGET/cm3 (where TARGET is  
>the CM3 target platform you are building on -- e.g., LINUXLIBC6,  
>PPC_DARWIN, ...).  Note that this did not overwrite your original  
>installed compiler in /usr/local/cm3/bin/cm3.  We
>are now going to test the new compiler, which was built using the old  
>compiler, by bootstrapping it one more time.
>
> From here on out, please replace TARGET with your target platform as  
>appropriate.
>
>STEP 2:
>
>export CM3=/usr/local/cm3/pkg/cm3/TARGET/cm3
>cd ~/cm3/scripts
>./do-cm3-std.sh realclean
>REPEAT STEP 1 to rebuild the libraries and the compiler using the  
>STEP 1 bootstrap compiler.
>
>Now you have a STEP 2 bootstrap compiler installed in /usr/local/cm3/ 
>pkg/cm3/TARGET/cm3.  Let's assume the new compiler now works properly  
>since it successfully bootstrapped itself, but to be sure we can now  
>use it to rebuild the world:

Ok, I got this far.  I built the step 1 (m3core...cm3), set my
compiler to the newly-built compiler, and rebuilt (m3core...cm3). 
No errors anywhere, beautiful.

>
>cd ~/cm3/scripts
>./do-cm3-std.sh realclean
>./do-cm3-std.sh buildship

Here's where it dies:

./do-cm3-std.sh buildship
CM3C =
/big/home2/mika/2/cm3-cvs/fresh/cm3/scripts/pkgmap.sh -c "/usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build  -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3'  && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3' " m3core libm3 patternmatching m3middle m3quake m3scanner m3tools m3cgcat m3cggen m3gdb m3bundle arithmetic bitvector digraph parseparams realgeometry set slisp sortedtableextras table-list tempfiles tcp udp libsio libbuf debug listfuncs embutils m3tk-misc http binIO commandrw m3tk mtex m3totex m3tohtml m3scan m3markup m3browser cmpdir cmpfp dirfp uniq netobj netobjd stubgen events rdwr sharedobj sharedobjgen odbc postgres95 db smalldb stable stablegen X11R4 ui PEX vbtkit cmvbt jvideo videovbt web formsvbtpixmaps formsvbt formsview formsedit codeview mg mgkit opengl anim3D zeus m3zume synloc synex metasyn obliqrt obliqparse obliqprint obliq obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd obliqsrvui obliqbinmin obliqbinstd obliqbin!
ui obliqbinanim visualobliq vocgi voquery vorun webvbt recordheap rehearsecode replayheap showheap shownew showthread pkl-fonts juno-machine juno-compiler juno-app cube calculator fisheye mentor
=== package /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core ===
 +++ /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -build  -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3'  && /usr/local/cm3/pkg/cm3/FreeBSD4/cm3 -ship -DROOT='/big/home2/mika/2/cm3-cvs/fresh/cm3'  +++


***
*** runtime error:
***    <*ASSERT*> failed.
***    file "../src/runtime/common/RTCollector.m3", line 690
***



***
*** runtime error:
***    <*ASSERT*> failed.
***    file "../src/runtime/common/RTCollector.m3", line 690
***

Abort trap
 *** execution of  failed ***

This time it appears to be cm3 itself that's crashing:

(310)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>$CM3 -keep -commands


***
*** runtime error:
***    <*ASSERT*> failed.
***    file "../src/runtime/common/RTCollector.m3", line 690
***



***
*** runtime error:
***    <*ASSERT*> failed.
***    file "../src/runtime/common/RTCollector.m3", line 690
***

Abort

What follows is what m3gdb has to say about this.  I take it that
the last error message comes from my -gstabs+ option.  m3gdb doesn't
like this new binary: it can't print variables and sometimes crashes
trying.  Would I have better luck with "-gstabs", do you think?  Or
do I just need to fix the compile process and install a new m3gdb?
(I take it there is a newer one: mine is very old.  But I remember
that m3gdb doesn't always work that well...)

      Mika

#1  16_81a619d in __raise ()
#2  16_81a3b8f in abort ()
#3  16_8178d16 in RTOS.Crash () at RTOS.m3:20
#4  16_8171fd2 in RTProcess.Crash (msg=NIL) at RTProcess.m3:65
#5  16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115
#6  16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40
#7  16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END, raises=FALSE, rte=16_8208020) at RTException.m3:79
#8  16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:39
#9  16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:25
#10 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END) at RTExFrame.m3:29
#11 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:47
#12 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:25
#13 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END) at RTExFrame.m3:29
#14 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110
#15 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0
#16 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690
#17 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3300) at RTCollector.m3:2296
#18 16_814400c in Stdio.ShutDown () at Stdio.m3:43
#19 16_8171f51 in RTProcess.InvokeExitors () at RTProcess.m3:40
#20 16_8171fc5 in RTProcess.Crash (msg=NIL) at RTProcess.m3:61
#21 16_8170428 in RTError.EndError (crash=TRUE) at RTError.m3:115
#22 16_8170169 in RTError.MsgS (file=16_820a508, line=690, msgA=16_820bfe8, msgB=16_8208170, msgC=16_820bfe8) at RTError.m3:40
#23 16_81707ec in RTException.Crash (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END, raises=FALSE, rte=16_8208020) at RTException.m3:79
#24 16_8170550 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:39
#25 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:25
#26 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END) at RTExFrame.m3:29
#27 16_81705f0 in RTException.DefaultBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:47
#28 16_81704b4 in RTException.InvokeBackstop (a=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; 
    un_arg = NIL;  END, raises=FALSE) at RTException.m3:25
#29 16_8179ca7 in RTException.Raise (act=RECORD exception = 16_8208020; arg = 16_c; module = 16_820a680; line = 690; pc = NIL; info0 = NIL; info1 = NIL; un_except = 16_8208020; un_arg = NIL; 
     END) at RTExFrame.m3:29
#30 16_8160bba in RTHooks.ReportFault (module=16_820a680, info=22080) at RTHooks.m3:110
#31 16_816e251 in _m3_fault (arg=22080) at RTCollector.m3:0
#32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690
#33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296
#34 16_817c41e in ThreadF.ProcessStacks (p=16_816415e) at ThreadPosix.m3:522
#35 16_8165213 in RTCollector.CollectSomeInStateZero () at RTCollector.m3:845
#36 16_8164d2c in RTCollector.CollectSome () at RTCollector.m3:741
#37 16_816487b in RTCollector.CollectEnough () at RTCollector.m3:659
#38 16_81673cd in RTHeapRep.AllocTraced (def=16_81f8f38, dataSize=8200, dataAlignment=4, initProc=16_bfbfe0f4, pool=RECORD desc = RECORD space = Current; generation = Younger; pure = FALSE; 
    note = Allocated; gray = FALSE; clean = FALSE; continued = FALSE; link = 0;  END; notAfter = {Copied}; page = 0; stack = 0; next = NIL; limit = NIL; busy = FALSE;  END)
    at RTCollector.m3:1417
#39 16_816218e in RTAllocator.GetOpenArray (def=16_81f8f38, s=[2048]) at RTAllocator.m3:308
#40 16_8161737 in RTHooks.AllocateOpenArray (defn=16_81f8f38, s=[2048]) at RTAllocator.m3:156
#41 16_8129d56 in M3ID_M3 (mode=1) at M3ID.m3:40
#42 16_816f802 in RTLinker.RunMainBody (m=16_81f8cc0) at RTLinker.m3:399
#43 16_816f6ca in RTLinker.RunMainBody (m=16_81c0880) at RTLinker.m3:379
#44 16_816f6ca in RTLinker.RunMainBody (m=16_81c06a0) at RTLinker.m3:379
#45 16_816f6ca in RTLinker.RunMainBody (m=16_81bc920) at RTLinker.m3:379
#46 16_816ed2d in RTLinker.AddUnitI (m=16_81bc920) at RTLinker.m3:113
#47 16_816edb4 in RTLinker.AddUnit (b=16_8065527) at RTLinker.m3:122
module "_m3main": missing debug info for global data

(gdb) up 32
#32 16_81649b7 in RTCollector.CollectorOn () at RTCollector.m3:690
RTCollector.m3:690: No such file or directory.
(gdb) 
Suspended
(360)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>find ../.. -name RTCollector.m3
../../m3-libs/m3core/src/runtime/common/RTCollector.m3
(361)rover:~/cm3-cvs/fresh/cm3/m3-libs/m3core>fg
m3gdb /usr/local/cm3/pkg/cm3/FreeBSD4/cm3
(gdb) dir ../../m3-libs/m3core/src/runtime/common/
Source directories searched: /big/home2/mika/2/cm3-cvs/fresh/cm3/m3-libs/m3core/../../m3-libs/m3core/src/runtime/common:$cdir:$cwd
(gdb) list
685     VAR timeOnEntry, timeOnExit: Time.T;     (* time of collector entry/exit *)
686
687     PROCEDURE CollectorOn () =
688       (* LL >= RTOS.LockHeap *)
689       BEGIN
690         <* ASSERT NOT collectorOn *>
691         collectorOn := TRUE;
692
693         IF incremental AND NOT RTLinker.incremental
694           OR generational AND NOT RTLinker.generational THEN
(gdb) print collectorOn
can't find identifier: collectorOn
(gdb) up
#33 16_816b595 in RTHooks.CheckLoadTracedRef (ref=16_681b3004) at RTCollector.m3:2296
2296          CollectorOn();
(gdb) print collectorOn
can't find identifier: collectorOn
(gdb) print ref
Segmentation fault




>
>Assuming this succeeded then we can be pretty sure /usr/local/cm3/pkg/ 
>cm3/TARGET/cm3 is good, so we can make it our default compiler by  
>replacing the original /usr/local/cm3/bin/cm3:
>
>cp $CM3 /usr/local/cm3/bin/cm3
>
>On Jun 23, 2007, at 2:38 PM, Mika Nystrom wrote:
>
>> Ok, I'm sorry if I seem a bit dimwitted in the morning like this,
>> but how exactly does one get started?  I wish there were a file called
>> "GETTING_STARTED" or something like that in scripts...
>>
>> My Mac is very slow so I switched to my FreeBSD/i386 system (which has
>> PM3 happily installed on it) and tried to install CM3 from scratch.
>> Here are the exact commands I typed.
>>
>>
>> rm -rf /usr/local/cm3/*
>>
>> cd ~/cm3-cvs
>> mkdir boot
>> cd boot
>> tar xzvf ../cm3-min-POSIX-FreeBSD4-d5.3.1-2005-10-05.tgz
>> ./cminstall
>>
>> # now I seem to have some kind of cm3 installed, /usr/local/cm3/bin/ 
>> cm3
>>
>> cd cm3   # location of my CM3 checkout
>> cvs update -d .
>>
>> cd scripts
>> ./boot-cm3-with-m3.sh realclean
>> ./do-cm3-std.sh realclean
>>
>> ./upgrade.sh                      # fails here, libm3 not compiled
>> ./boot-cm3-with-m3.sh build       # builds cm3, but fails on  
>> cminstall, patternmatching not built
>>
>> ./do-cm3-std.sh build             # OK
>> ./do-cm3-std.sh buildship         # OK
>>
>> ./boot-cm3-with-m3.sh realclean   # start over
>> ./boot-cm3-with-m3.sh build       # OK
>> ./boot-cm3-with-m3.sh buildship   # OK
>>
>> ./do-cm3-std.sh realclean         # OK
>> ./do-cm3-std.sh build             # dies miserably... maybe the  
>> compiler can't handle the new libraries?
>>
>> ./install-cm3-compiler.sh upgrade # OK, new cm3 binary installed
>>
>> After all that, "game over."  I have a cm3 that segfaults.
>>
>> Text.i3: In function 'Text_I3':
>> Text.i3:81: internal compiler error: Segmentation fault
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>> compilation failed => not building library "libm3core.a"
>> Fatal Error: package build failed
>>  *** execution of  failed ***
>>
>> I can't seem to get either m3gdb or gdb to say anything reasonable
>> either.  ktrace shows nothing out of the ordinary.
>>
>> -----
>>
>> Meanwhile, my Mac got through "do-cm3-std.sh realclean" and
>> "do-cm3-std.sh buildship" but my compiles are still dying on the
>> same assertion tickled by ktok.  On that machine I have INSTALLROOT
>> set to ~/cm3, but hopefully that has nothing to do with it...
>>
>> -----
>>
>> Does do-cm3-std.sh realclean clean EVERYTHING?  If so my Mac should
>> really have a fresh setup.  The FreeBSD, I am not sure, maybe the
>> old binary version just doesn't work right?  Of course I could try
>> bootstrapping with PM3 as well... but really, there's an "approved"
>> process to get from a blank system, no?
>>
>>       Mika
>>
>>
>>
>>
>> Tony Hosking writes:
>>> That sounds like you forgot to execute "do-cm3-std.sh realclean"
>>> before initiating the build.  These sorts of errors sometimes arise
>>> if there are old build directories lying around.
>>>
>>>
>>> On Jun 23, 2007, at 3:34 AM, Mika Nystrom wrote:
>>>
>>>> Hello everyone,
>>>>
>>>> I am in the process of trying to consolidate build systems for a
>>>> few software packages I am maintaining.  Currently, I am using an
>>>> old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows
>>>> (NT386GNU), and trying to get the latest CM3 from cvs up and  
>>>> compiling
>>>> things on PPC_DARWIN.  Ideally, I'd like to standardize everything
>>>> on the new PM3---mainly so that I can use pickles (and Network
>>>> Objects) across all three systems.  I'd also like to add Linux to
>>>> the mix.
>>>>
>>>> It's natural for me to start with CM3 on Darwin, as there's no
>>>> alternative.  But I am getting some assertions failing.  Everything
>>>> in the CM3 distribution compiles fine, and I believe I have compiled
>>>> the libraries a few times (that is, including with themselves), and
>>>> updated the compiler, too (using boot-cm3-with-m3.sh).  I just cvs
>>>> updated tonight.
>>>>
>>>> Here's what I'm running into:
>>>>
>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o  
>>>> CHPTok.i3
>>>>
>>>>
>>>> ***
>>>> *** runtime error:
>>>> ***    <*ASSERT*> failed.
>>>> ***    file "../src/runtime/common/RTCollector.m3", line 2314
>>>> ***
>>>>
>>>> Abort
>>>>
>>>> Also:
>>>>
>>>> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o  
>>>> PRSTok.i3
>>>> Illegal instruction
>>>>
>>>> As you can see, these things are coming from the caltech_parser.  I
>>> am using
>>>> our local version, but I don't think it is very different from what
>>>> is in the
>>>> CM3 tree.
>>>>
>>>>
>>>> Examining the first error (the failed assertion) more closely, I see
>>>> the following:
>>>>
>>>> (gdb) list
>>>> 108         wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3"));
>>>> 109       EXCEPT OSError.E =>
>>>> 110         Debug.Error("Cannot open tok implementation output
>>>> file: " &
>>>> 111           Pathname.ReplaceExt(tp.out, "m3"));
>>>> 112       END;
>>>> 113       Wr.PutText(wr, subs.apply(Bundle.Get(Form,  
>>>> "tokform.m3")));
>>>> 114       Wr.Close(wr);
>>>> 115     END Main.
>>>> (gdb) where
>>>> #0  0x9004308c in kill ()
>>>> #1  0x9009fb3c in abort ()
>>>> #2  0x00096f50 in RTOS__Crash () at RTOS.m3:20
>>>> #3  0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at
>>>> RTProcess.m3:65
>>>> #4  0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at
>>>> RTError.m3:115
>>>> #5  0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8,
>>>> M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0,
>>>> M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40
>>>> #6  0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00,
>>>> M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79
>>>> #7  0x0008e74c in RTException__DefaultBackstop
>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at  
>>>> RTException.m3:39
>>>> #8  0x0008e614 in RTException__InvokeBackstop
>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at  
>>>> RTException.m3:25
>>>> #9  0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at
>>>> RTExFrame.m3:29
>>>> #10 0x0008e840 in RTException__DefaultBackstop
>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at  
>>>> RTException.m3:47
>>>> #11 0x0008e614 in RTException__InvokeBackstop
>>>> (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at  
>>>> RTException.m3:25
>>>> #12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at
>>>> RTExFrame.m3:29
>>>> #13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8,
>>>> M3_AcxOUs_info=74048) at RTHooks.m3:110
>>>> #14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048)
>>>> #15 0x0006bcf4 in RTHooks__CheckStoreTraced
>>>> (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314
>>>> #16 0x000700e4 in ThreadPThread__InnerLockMutex
>>>> (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at
>>>> ThreadPThread.m3:126
>>>> #17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c)
>>>> at ThreadPThread.m3:153
>>>> #18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c,
>>>> M3_Bd56fi_t=0xb44d5c) at Wr.m3:93
>>>> #19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113
>>>> #20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at
>>>> RTLinker.m3:399
>>>> #21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at
>>>> RTLinker.m3:113
>>>> #22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at
>>>> RTLinker.m3:122
>>>> #23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38)
>>>> at _m3main.mc:4
>>>> (gdb)
>>>>
>>>> The second error:
>>>>
>>>> Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/
>>>> operand.
>>>> 0x00b111ac in ?? ()
>>>> (gdb) where
>>>> #0  0x00b111ac in ?? ()
>>>> #1  0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450,
>>>> M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63
>>>> #2  0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at
>>>> RTLinker.m3:399
>>>> #3  0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at
>>>> RTLinker.m3:113
>>>> #4  0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at
>>>> RTLinker.m3:122
>>>> #5  0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38)
>>>> at _m3main.mc:4
>>>> (gdb) list
>>>> 58        BEGIN
>>>> 59          WHILE pos < textLen DO
>>>> 60            c := Text.GetChar(src, pos);
>>>> 61            IF c IN self.starts THEN
>>>> 62              (* S("analysing: " & Text.Sub(src, pos),
>>>> DebugLevel); *)
>>>> 63              iter := self.tbl.iterateOrdered();
>>>> 64              ind := pos;
>>>> 65              original := "";
>>>> 66              REPEAT
>>>> 67                INC(ind);
>>>> (gdb)
>>>>
>>>> Any ideas what to look at?
>>>>
>>>> I don't know if this is relevant:
>>>>
>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a
>>>> Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30
>>>> 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC  Power
>>>> Macintosh powerpc
>>>> [lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v
>>>> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
>>>> Thread model: posix
>>>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1666)
>>>>
>>>>      Mika
>>>>
>>>> P.S. Am I correct in assuming that I can get CM3 to build on  
>>>> Windows?
>>>> I could switch to CM3 on Unix any time, of course, but I've never
>>>> had luck with it on Windows, which is why I am using the ancient
>>>> Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that
>>>> unpacks them into C: (and installation instructions only in German).
>>>> If CM3 doesn't work on Windows, I am essentially wasting my time,
>>>> as the current project I am working on absolutely requires that the
>>>> software run on Windows 2003 Server (yes, it sucks, but what can
>>>> you do?)  The very old PM3 at least kind of hobbles along on this
>>>> platform---actually, better than that; it does Trestle natively
>>>> under Windows (no X required), at least on SOME Windows machines.
>>>>
>>>> P.P.S. Sorry for all the postscripts, but is it true that the
>>>> build system has been changed so that building with overrides  
>>>> (cm3 -x)
>>>> requires having the compiler sources available?  It didn't use to
>>>> be that way, but I can't get Network Objects to work with overrides
>>>> now unless I have the sources available...  It's a bit of a pain
>>>> because it means that every user has to have the compiler sources,
>>>> or else ship everything, or was that not the intention?



More information about the M3devel mailing list