[M3devel] CVSup crashing WAS: Re: m3gdb and YACC

Tony Hosking hosking at cs.purdue.edu
Sun Jul 12 21:17:34 CEST 2009


You should find the footprint much smaller now.  I'm interested to  
find out what it turns out to be.

On 12 Jul 2009, at 14:26, Peter Eiserloh wrote:

>
> Hi Tony,
>
> Okay, I am downloading cm3-src-all-d5.8.1-2009-07-12-12-08-57.tgz
> right now.
>
> In the mean time, I wish to report that CVSup on PPC_DARWIN
> built against cm3-src-all-d5.8.1-2009-07-11-12-09-23.tgz,
> did run to completion.  Top indicated that over 2 GB of
> virtual memory was being used, and over 700 MB of resident
> memory (ie, RAM).
>
> CVSup, used most of my CPU, making any other process (such
> as Finder) very difficult from which to work.  Maybe we should
> "nice" it, or recommend is be run with "nice".  Oh, well
> one thing at a time.
>
> BTW: The "about" box, found by clicking on the little "i" icon
> in the lower right corner is woefully out of date (eg. I had
> tried to report bugs to cvsup-bugs at polstra.org, but the email
> failed to get delivered).  The copyright is also listed as 2003,
> six years ago.
>
> The reference to cvsup.org does work however.
>
>
> Peter
>
>
> +--------------------------------------------------------+
> | Peter P. Eiserloh                                      |
> +--------------------------------------------------------+
>
>
> --- On Sat, 7/11/09, Tony Hosking <hosking at cs.purdue.edu> wrote:
>
>> From: Tony Hosking <hosking at cs.purdue.edu>
>> Subject: Re: [M3devel] CVSup crashing WAS: Re: m3gdb and YACC
>> To: "Peter Eiserloh" <eiserlohpp at yahoo.com>
>> Cc: "Olaf Wagner" <wagner at elegosoft.com>, m3devel at elegosoft.com
>> Date: Saturday, July 11, 2009, 2:31 PM
>> Please try my recent commits from
>> earlier to day.
>>
>> On 11 Jul 2009, at 16:10, Peter Eiserloh wrote:
>>
>>>
>>> Hi Tony,
>>>
>>> Architecture: AMD64_LINUX.
>>> Code base: 20090628.
>>>
>>> I am untarring 20090710 right now, and will rebuild
>> the
>>> CM3 against it using the standard
>> scripts/do-cm3-std.sh
>>>
>>> I don't expect any difference in behavior though as
>> that
>>> is pretty much what my Makefile does anyways.
>>>
>>> Okay, I can also try this on my old Macintosh
>> (PPC_DARWIN).
>>>
>>>
>>> Are there any additional diagnostics that I can turn
>> on
>>> in the runtime?  Something simple may help like
>> when NEW
>>> complains, printing out:
>>>   o the size of memory currently allocated,
>>>   o the current number of allocations,
>>>   o the total number of allocations performed,
>>>   o the number of garbage collection runs
>> performed, and
>>>   o the number of objects reclaimed by the garbage
>> collector,
>>> and so forth.
>>>
>>> This may be difficult since we just failed to
>> allocate,
>>> memory, the diagnostics may not have the ability to
>>> format strings for output.
>>>
>>>
>>>
>> +--------------------------------------------------------+
>>> | Peter P. Eiserloh
>>
>>             |
>>>
>> +--------------------------------------------------------+
>>>
>>>
>>> --- On Sat, 7/11/09, Tony Hosking <hosking at cs.purdue.edu>
>> wrote:
>>>
>>>> From: Tony Hosking <hosking at cs.purdue.edu>
>>>> Subject: Re: [M3devel] CVSup crashing WAS: Re:
>> m3gdb and YACC
>>>> To: "Olaf Wagner" <wagner at elegosoft.com>
>>>> Cc: "Peter Eiserloh" <eiserlohpp at yahoo.com>,
>> m3devel at elegosoft.com
>>>> Date: Saturday, July 11, 2009, 8:19 AM
>>>> I'd definitely need some way to reproduce the
>>>> problem.  Detailed instructions would be
>> best.
>>>>   What platform are you running
>>>> on?
>>>> On 11 Jul 2009, at 06:47, Olaf
>>>> Wagner
>>>> wrote:
>>>> Hm, I'm afraid we may have a regression
>>>> in the runtime/gc here.
>>>> CVSup always worked without problems for me (and
>> still is
>>>> copying
>>>> FreeBSD, CM3 and other repositories between
>> various
>>>> machines for
>>>> me and Elego). Surely CVSup is doing no such thing
>> as
>>>> keeping
>>>> all its files in memory.
>>>>
>>>> I haven't tried the version Jay put into the CM3
>> repo
>>>> though.
>>>> So I see three possibilities:
>>>>
>>>> o Jay introduced the problem in the CVSup sources
>> when he
>>>>    adapted them to the current CM3
>> (low
>>>> probability).
>>>>
>>>> o You've got a broken runtime / CM3 version (and
>>>> current
>>>>    sources work). I'd guess you are
>> using the
>>>> current version though.
>>>>
>>>> o We've got a problem in our runtime code, perhaps
>> --
>>>> but not
>>>>    necessarily -- the garbage
>> collector.
>>>>
>>>> I'd suggest we rule out the second one and you
>>>> reproduce the problem
>>>> with a current source set (if not done yet). Then
>> let's
>>>> see what Jay
>>>> and Antony have to say, as they did almost all the
>> source
>>>> changes
>>>> in that area recently.
>>>>
>>>> Olaf
>>>>
>>>> Quoting Peter Eiserloh <eiserlohpp at yahoo.com>:
>>>>
>>>> Hi Olaf,
>>>>
>>>> Well, I tried CVSup,
>>>> and it started looking real good, until
>>>> it crashed, with a
>>>> message from the M3 runtime, saying that
>>>> NEW could not allocate
>>>> any memory.
>>>>
>>>> So I ran it a second
>>>> time, and it got further, then crashed
>>>> again.
>>>>
>>>> So, a third time, but
>>>> with "top" running in another window,
>>>> and sure enough cvsup,
>>>> was allocating something like 1.2 GB
>>>> of data before it was
>>>> crashing.  This is bigger than the
>>>> CVS repository that it
>>>> had already downloaded.
>>>>
>>>> I am thinking that
>>>> cvsup is keeping the contents of every
>>>> file it downloaded in
>>>> memory.  If so, this is a problem.
>>>>
>>>> If it is properly
>>>> removing references, then maybe the
>>>> garbage collector is
>>>> failing.  This would be a bigger
>>>> problem, but with our
>>>> compiler's runtime library.
>>>>
>>>> Are other people
>>>> noticing problems.  Is it just me?
>>>> Am I the only one to
>>>> attempt downloading the entire
>>>> CVS repository for
>>>> CM3?  Could you try it?
>>>>
>>>>
>>>> I sent an email to the
>>>> email listed in cvsup's "about box"
>>>> (cvsup-bugs at polstra.com),
>>>> but that failed.  The email address
>>>> no longer works.
>>>>
>>>> peter at black:/data/modula-3/cm3 $
>>>>
>> debian-pkg/current/debian/tmp/usr/lib/cm3/bin/cvsup
>>>> cvsupfile.cm3
>>>>
>>>> ***
>>>> *** runtime error:
>>>> ***
>>>>     NEW() was unable to allocate more
>> memory.
>>>> ***
>>>>     file
>>>> "../src/runtime/common/RuntimeError.m3", line 63
>>>> ***
>>>>
>>>> Aborted
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>> +--------------------------------------------------------+
>>>> | Peter P. Eiserloh
>>>>
>>
>>         |
>>>>
>> +--------------------------------------------------------+
>>>>
>>>>
>>>> --- On Sat, 7/11/09,
>>>> Olaf Wagner <wagner at elegosoft.com>
>>>> wrote:
>>>>
>>>> From: Olaf Wagner <wagner at elegosoft.com>
>>>> Subject: Re: m3gdb and
>>>> YACC
>>>> To: "Peter
>>>> Eiserloh" <eiserlohpp at yahoo.com>
>>>> Date: Saturday, July 11,
>>>> 2009, 2:49 AM
>>>> Quoting Peter Eiserloh
>>>> <eiserlohpp at yahoo.com>:
>>>>
>>>>> Hi Olaf,
>>>>>
>>>>> The import script
>>>> (git-importcvs) internally uses
>>>> cvsps, which
>>>>> you may already
>>>> have.
>>>>>
>>>>> Anyways, here is
>>>> the first ten lines from a log file
>>>> of an import
>>>>> that I just
>>>> started.
>>>>>
>>>>>
>>>>> peter at black:~ $
>>>> head Import-cm3-20090708.log
>>>>> Running cvsps...
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/etc/make-stds.texi  on
>>>> unnamed branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/gcc/config/vax/vax.c on unnamed
>>>> branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/texinfo/config.h.in on unnamed
>>>> branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/texinfo/po/Makefile.in.in on
>>>> unnamed branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/.brik on
>>>> unnamed branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/texinfo/INTRODUCTION on unnamed
>>>> branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/gcc/config/i386/osfelf.h on
>>>> unnamed branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/gcc/config/mips/sni-svr4.h on
>>>> unnamed
>>>> branch
>>>>> WARNING: revision
>>>> 1.1.3.1 of file
>>>> m3-sys/m3cc/gcc/gcc/config/v850/lib1funcs.asm on
>>>> unnamed
>>>> branch
>>>>
>>>> It looks like these
>>>> files have a second vendor branch
>>>> without a
>>>> proper name. CVS does
>>>> not cope well with multiple vendor
>>>> branches
>>>> (in fact it never really
>>>> worked), but there won't be any
>>>> valuable
>>>> information in that
>>>> branch I'm sure, so you can ignore it.
>>>>
>>>>> Later this weekend,
>>>> I will attempt to use CVSup.
>>>> First,
>>>>> I will have to find
>>>> usable documentation, since I
>>>> have
>>>>> never used CVSup
>>>> before.
>>>>>
>>>>> Do you have a
>>>> script to use with CVSup to access the
>>>>> CM3 CVS repo?
>>>> I am lasy.
>>>>>
>>>>> I use 'git'
>>>> for all my current projects.  I used
>>>> to use
>>>>> CVS, and had
>>>> started looking into using subversion
>>>> (SVN),
>>>>> I even purchased a
>>>> couple books on SVN.  Then
>>>> 'git' burst
>>>>> upon the Linux
>>>> world, and is gaining converts all over
>>>> the
>>>>> place.
>>>>>
>>>>> It really does
>>>> provide a better work-flow.  The
>>>> easy
>>>>> creation of a
>>>> branch is a given, it is git's ability
>>>>> to do easy merges,
>>>> which is gaining all the good
>>>> reputation.
>>>>>
>>>>> Rather than get all
>>>> evangelistic on you, as I am sure
>>>> you
>>>>> have already heard
>>>> it many times already.
>>>>>
>>>>> Many businesses are
>>>> moving to git.  The only
>>>> problem some
>>>>> enterprise
>>>> companies are having is the ability to
>>>> restrict
>>>>> access of
>>>> authorized users to only portions of the
>>>> repository.
>>>>> These types of
>>>> problems don't effect open source
>>>> software
>>>>> development.
>>>>>
>>>>> Once I have a
>>>> working 'git' repository for cm3, I will
>>>> share
>>>>> the technique, and
>>>> maybe, start the foundations for a
>>>>> transition from
>>>> CVS, towards 'git'.  But I
>>>> suggest a slow
>>>>> process, with
>>>> distinct stages.   At any
>>>> stage we could stop,
>>>>> or even revert.
>>>>>
>>>>> The problem is that
>>>> once people start using git, they
>>>> don''t
>>>>> want to go back to
>>>> using CVS, or any of the older
>>>> methods.
>>>>> Maybe that
>>>> isn't so much of a problem after all.
>>>>>
>>>>> STAGE-1: Simple
>>>> mirror of the CVS archive,
>>>> periodically
>>>>>
>>>>      updated (say once
>>>> every 6 hours).
>>>> Document on
>>>>>
>>>>      web site, as to how
>>>> to clone, and update a
>>>> git
>>>>>
>>>>      repository.  No
>>>> uploads to git.
>>>>> STAGE-2: Convert
>>>> web page scripts to use git.
>>>>> STAGE-3: Convert
>>>> tinderbox.
>>>>> STAGE-4: Uploads to
>>>> git.  Install gitosis or
>>>> similar server
>>>>>
>>>>      for git uploads.
>>>> Document the upload
>>>> process on web
>>>>>
>>>>      pages.
>>>>> STAGE-5: CVS
>>>> mirrors the git repo.  Uploads to
>>>> git only.
>>>>> STAGE-6: Move last
>>>> of the CVS people, over to git.
>>>>> STAGE-7: Remove
>>>> CVS.  (optional)
>>>>
>>>> Let's see how far
>>>> you get. Converting all the
>>>> infrastructure (scripts
>>>> and documentation) may
>>>> be much more work than you imagine.
>>>> And one
>>>> we propose a special
>>>> tool (be it git or svn or mercurial)
>>>> there will
>>>> start discussions on
>>>> what is best and what we should do
>>>> :-/
>>>>
>>>> So offering an optional
>>>> alternative access may be a good
>>>> plan.
>>>> The majority of users
>>>> should agree that they want the
>>>> change though.
>>>> And we need to consider
>>>> use of GUIs and Windows users,
>>>> too.
>>>>
>>>> Olaf
>>>> --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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> 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/20090712/67aeed86/attachment-0002.html>


More information about the M3devel mailing list