Hi Sean,

To be honest, I'm not quite sure which it is.  I do change the parameter settings because i set seed.0=time but it's definitely possible that the Java VM might be the problem.

Anyhow, I've started a script similar to the one you suggested.  If the issue presents itself, I will check to see if it's reproducible and send the details you requested. 

Thanks :)


On 11/18/05, Sean Luke <[log in to unmask]> wrote:
On Nov 18, 2005, at 6:11 PM, Michael Solano wrote:

> Again, this doesn't occur very often.  Most the time, ECJ finds an
> ideal individual before it quits.  I'd say it quits prematurely 1%
> of the time when running twobox and much less for any of the other
> problems.

Could you be more specific about this:
        - If you run ECJ with the exact same parameter settings, will it
fail 1% of the time?
        - or does it only fail 1% of the time when you vary the parameter

If it's the first, the problem may *possibly* be the Java virtual
machine and not ECJ.  We've been seeing occasional deaths of the Java
VM in Linux as well.  I'm reasonably confident that ECJ should not
have different behaviors for different iterations of the same
parameter settings (assuming seed.0= some val rather than seed.
0=time).  One strong possibility: running out of memory.  We need you
to output stderr to your current_run.txt as well as stdout.

If it's the second, it could be a bug in ECJ that we'd need to
stomp.  But to do this, we need a specific parameter setting (using a
specified seed, not seed.0=time) which reproduces the behavior
consistently.  Can you find one?  It'd help a lot.

Here's what would help: a script like this:

#! /bin/tcsh

foreach i (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
           21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 \
           39 40 41 42 43 44 45 46 47 48 49 50)
        echo JOB $i
        java ec.Evolve -file ec/app/twobox/noadf.params \
                -p stat.file = /tmp/stat${i}.txt \
                -p generations=10000000 \
                -p stat.gather-full=true -p seed.0=$i \
                -p stat=ec.simple.SimpleShortStatistics >& /tmp/run${i}.txt

If one of these fails, could you send me the JOB number and the
/tmp/run<JOB>.txt file that failed?