[M3devel] Thread tests, was: Re: the need for cooperative suspend

Olaf Wagner wagner at elegosoft.com
Thu Jul 2 17:40:07 CEST 2015


On Sat, 06 Jun 2015 09:50:23 -0700
mika at async.caltech.edu wrote:

> Can the thread tester survive with the most paranoid options on OS X?
> I don't believe it until I've seen it (based on what we went through for
> Linux, I would say I'm just being prudent).
> 
> Run it with:
> 
> "-iters 100000 -n 20 -tests ALL"
> 
> I remember the thread tester died on FreeBSD last time I tried, and
> there have been no relevant checkins since that I know of.
> 
> Here's what happens when I run it on my FreeBSD.  CM3 is not up to date,
> in case someone fixed something I'm not aware of, so don't draw too
> many conclusions until someone has tried it on a fresh install:
> 
> ..........laziest thread is 1433608799/9/1 (tests: read 10/6/6 nxread 26/6/4 tryexcept 67/53/38 fork 1433608799/2/2 forktoomuch 1433608799/9/3 alloc 1433608799/37/1 creat 10/7/7 lock 1433608799/68/38)
> 
> 
> ***
> *** runtime error:
> ***    Segmentation violation - possible attempt to dereference NIL
> ***    pc = 0x4387e8 = Move + 0x6a in ../src/runtime/common/RTCollector.m3
> ***
> 
> Abort
> (79)pluto:/tmp>
> 
> Anyone who's interested in trying their own favorite Modula-3 installation,
> this is easy to do:
> 
> cm3/m3-libs/m3core/tests/thread/AMD64_FREEBSD/threadtest -iters 100000 -n 20 -tests ALL

For those interested:

I have run the tests with the options above on my FreeBSD 8 system
(yes, I know, that's unsupported now ;-).

time ./AMD64_FREEBSD/threadtest  -iters 100000 -n 20 -tests ALL 2>&1 | egrep -v "appears starved or deadlocked" | tee threadtest.log

It ran several hours during the night; system load was nearly 20.
top -H showed all the threads. The log does not show any runtime error 
(attached).

I also tried this on my Mac with OS/X 10.9.5, but I had to kill it
after an hour because it used up all the resources and I had to work.
Less aggressive tests didn't show any failure there, too.

So I guess the pthreads runtime has indeed improved.

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com 
               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
Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
-------------- next part --------------
A non-text attachment was scrubbed...
Name: threadtest.log
Type: application/octet-stream
Size: 106496 bytes
Desc: not available
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150702/b3ed946e/attachment-0001.obj>


More information about the M3devel mailing list