Re: Debugging stochastic programs




Dr Ivan D. Reid wrote:

> But are you starting with the same seeeding each time?

Yes. I will try to leave running two separate runs with exactly the
same input & database files. The database files were slightly different
for both runs where the sigsegv occurred, and I suppose if the number
of random calls was off by just 1, the seeds differ after that.


> Turn on bounds checking, and look very carefully for mismatched
> sub-program parameters (esp. if sections are compiled separately).

It is one program compiled as a whole, using Intel FC 8.0 for Linux.
How do I turn on bounds checking?


> Are you overflowing an accumulated sum (tho' that's not likely to
> directly cause a sigsegv, I think)?

I don't think so. I haven't noticed this bug with other runs of similar
size. I'm guessing a specific random generated number that is causing
problems with the code is somehow responsible.

I don't have such a line in my code but an example of what I'm saying
would be:
Call rng(random,seed)

temp = 1.0/random

The above code would be fine for all values except for a particular
random value of 0.

How do people normally debug a stochastic program that only crashes
after 1 day and is otherwise fine in 99.9% of the other runs?

.