[M3devel] strange errors...
Daniel Alejandro Benavides D.
dabenavidesd at yahoo.es
Wed Jul 4 23:35:13 CEST 2007
Hi:
I take the sources from the your web page and type
make on the top of the directory v and end in this
message:
===> cit_parse
--- building in LINUXLIBC6 ---
ignoring override("cit_parse",
"/home/danielb/Desktop/v")
/home/danielb/Desktop/v/parserlib/ktok/LINUXLIBC6/tok
../src/PRS.t -o PRSTok.i3
/home/danielb/Desktop/v/parserlib/ktok/LINUXLIBC6/tok
../src/PRS.t -o PRSTok.i3
***
*** runtime error:
*** Segmentation violation - possible attempt to
dereference NIL
*** pc = 0x4000b19f
***
"/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl",
line 20: quake runtime error: exit 1536:
/home/danielb/Desktop/v/parserlib/ktok/LINUXLIBC6/tok
../src/PRS.t -o PRSTok.i3
--procedure-- -line- -file---
exec -- <builtin>
_exec 20
/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl
_xCons 37
/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl
_tCons 81
/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl
_tConsUn 82
/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl
Token 85
/home/danielb/Desktop/v/parserlib/parserlib/src/parser.tmpl
include_dir 3
/home/danielb/Desktop/v/cit_parse/src/m3makefile
5
/home/danielb/Desktop/v/cit_parse/LINUXLIBC6/m3make.args
Fatal Error: package build failed
Well that was because of the lack of the file PRS.t
Searching I noticed that the file is in
v/cit_parse/src/PRS.t and made a copy on
v/parserlib/ktok/src directory
Then try make again and but this time, get this:
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.t
.
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.t
.
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.l
.
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.l
.
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.y
.
cp
/home/danielb/code/caltech-parser/v2/v/cit_parse/LINUXLIBC6/../src/CHP.y
.
/home/danielb/code/caltech-parser/v2/v/parserlib/kext/LINUXLIBC6/ext
../src/CHPLexStd.e
/home/danielb/code/caltech-parser/v2/v/parserlib/kext/LINUXLIBC6/ext
../src/CHPLexStd.e
new source -> compiling PRSTok.m3
"../LINUXLIBC6/PRSTok.m3", line 1: syntax error:
missing INTERFACE or MODULE keyword
"../LINUXLIBC6/PRSTok.m3", line 1: unable to find
interface (<missing id>)
"../LINUXLIBC6/PRSTok.m3", line 1: warning: file name
(PRSTok.m3) doesn't match module name (<missing id>)
2 errors and 1 warning encountered
new source -> compiling PRSTok.i3
new source -> compiling PRSLex.i3
new source -> compiling PRSLex.m3
new source -> compiling PRSParse.i3
new source -> compiling PRSParse.m3
new source -> compiling PRSLexStd.i3
new source -> compiling PRSLexStd.m3
new source -> compiling PRSParseStd.i3
new source -> compiling PRSParseStd.m3
new source -> compiling CHPTok.i3
new source -> compiling CHPTok.m3
"../LINUXLIBC6/CHPTok.m3", line 36: warning:
potentially unhandled exception:
RTAllocator.OutOfMemory
1 warning encountered
new source -> compiling CHPLex.i3
new source -> compiling CHPLex.m3
new source -> compiling CHPParse.i3
new source -> compiling CHPParse.m3
new source -> compiling CHPLexStd.i3
new source -> compiling CHPLexStd.m3
new exporters -> recompiling PRSTok.i3
compilation failed => not building library
"libcit_parse.a"
Fatal Error: package build failed
danielb at danielb-desktop:~/code/caltech-parser/v2/v$
It seems PRSTok.m3 does exist on
v/cit_parse/LINUXLIBC6 but is an empty file.
Maybe Im not doing the right steps?
Thanks
--- Mika Nystrom <mika at async.caltech.edu> wrote:
> Hi again!
>
> I was able to boot the CVS head of CM3 on my Mac
> just fine now,
> using the cm3.cfg you sent me. I am still running
> the old OS
> (Panther, is it?) so I tried doing it the hard way
> instead of using
> your binaries, and I got something that works pretty
> well. Mentor
> and Juno work, at least, and that's usually a good
> indicator that
> one is on the right track...
>
> But (of course there's a "but"), I am still falling
> down on my very
> first reported bug, namely this local ktok program.
> I still, after
> all that you've done, find that it dies on an
> illegal instruction
> on the Macintosh (I am running 10.3 on a Powerbook).
>
> The problem goes away if I use either @M3nogc or
> @M3noincremental.
> The gdb backtrace is not very helpful: it says the
> program is
> crashing somewhere in a text processing module,
> creating an iterator
> on a sorted table.
>
> Sorry to do this but I am feeling a bit clueless, so
> if you're
> interested and have the time to look into it, I have
> set up a minimal
> test here:
>
> http://www.async.caltech.edu/~mika/ktok_example.tgz
>
> Unfortunately, ktok itself depends on a bunch of
> packages.
>
> To build this, set your CM3 environment variable to
> anything (1
> works) and just "make" (GNU make, please). Set the
> DEBUGLEVEL
> environment variable to "10" for a bit more output
> (not much). The
> very last step (compiling package cit_parse) fails
> for me...
> Specifically, the step is:
>
> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok
> ../src/PRS.t -o PRSTok.i3
> WELCOME!
> GOT TOKPARAMS!
> GOT TOKENS
> GOT SUBS!
> "/Users/mika/t/parserlib/parserlib/src/parser.tmpl",
> line 20: quake runtime error: exit 4:
> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok
> ../src/PRS.t -o PRSTok.i3
>
> Looking a bit closer:
>
> [lapdog:~/t/cit_parse/src] mika% gdb
> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok
> GNU gdb 5.3-20030128 (Apple version gdb-330.1) (Fri
> Jul 16 21:42:28 GMT 2004)
> Copyright 2003 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 "powerpc-apple-darwin".
> Reading symbols for shared libraries .. done
> (gdb) run ../src/PRS.t -o PRSTok.i3
> Starting program:
> /Users/mika/t/parserlib/ktok/PPC_DARWIN/tok
> ../src/PRS.t -o PRSTok.i3
> Reading symbols for shared libraries . done
> WELCOME!
> GOT TOKPARAMS!
> GOT TOKENS
> GOT SUBS!
>
> Program received signal EXC_BAD_INSTRUCTION, Illegal
> instruction/operand.
> 0x00b111c8 in ?? ()
> (gdb) where
> #0 0x00b111c8 in ?? ()
> #1 0x000120e4 in TextSubs__Apply
> (M3_CN69dV_self=0xb26434, M3_Bd56fi_src=0xb40be0) at
> TextSubs.m3:64
> #2 0x0005b15c in RTLinker__RunMainBody
> (M3_DjPxE3_m=0xad190) at RTLinker.m3:399
> #3 0x00059f20 in RTLinker__AddUnitI
> (M3_DjPxE3_m=0xad190) at RTLinker.m3:113
> #4 0x0005a01c in RTLinker__AddUnit
> (M3_DjPxE5_b=0x3520) at RTLinker.m3:122
> #5 0x00001ecc in main (argc=4, argv=0xbffffadc,
> envp=0xbffffaf0) at _m3main.mc:4
> (gdb)
>
> Also:
>
> PROCEDURE Apply(self: T; src: TEXT): TEXT =
> VAR
> wr := TextWr.New();
> c: CHAR;
> ind, pos, lastFlushed: INTEGER := 0;
> textLen := Text.Length(src);
> iter: SortedTextTextTbl.Iterator;
> original, replacement: TEXT;
> key, prefix: TEXT;
> PROCEDURE Flush() =
> BEGIN
> Wr.PutText(wr, Text.Sub(src, lastFlushed, pos
> - lastFlushed));
> END Flush;
> BEGIN
> WHILE pos < textLen DO
> c := Text.GetChar(src, pos);
> IF c IN self.starts THEN
> Debug.Out("analysing: " & Text.Sub(src,
> pos), 100);
> iter := self.tbl.iterateOrdered(); (* line
> 64 *)
> ind := pos;
> original := "";
> REPEAT
> INC(ind);
> ...
>
> I am mystified as to why gdb would say that
> RTLinker__RunMainBody
> would be calling TextSubs__Apply.
>
> With @M3nogc or @M3noincremental, all is well...
>
> I will see if I can figure out more, but this
> problem just doesn't
> seem to want to go away. To the best of my
> knowledge, ktok doesn't
> use any UNSAFE code (outside of whatever's in libm3
> of course).
>
> Mika
>
> 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
>
=== message truncated ===
____________________________________________________________________________________
¡Descubre una nueva forma de obtener respuestas a tus preguntas!
Entra en Yahoo! Respuestas.
http://es.answers.yahoo.com/info/welcome
More information about the M3devel
mailing list