Zimbatm,

SourceRef and ObjectSpace are pure ruby.  They are for debugging and
should not be
used in normal operation.  They are loaded in our application's
initialization
as a convenience.  The only 'C' extensions used are the "standard"
termios for
configuring serial ports and our own, very trivial, mbarilib.  mbarilib
defines
only one method, called "Kernel.doze", that is equivalent to
Kernel.sleep but
clears Thread.critical before sleeping (just as Thread.stop does).  This
lets one
stop a thread with a "timeout" while avoiding the race condition
that would otherwise result if Thread.critical were previously cleared
as a separate
ruby operation as in:

       Thread.critical = false
       sleep(time)  #race if this thread gets interrupted between these
two lines

The full core dump at the time of the crash is available on our FTP site at:

ftp://ftp.mbari.org/pub/brent

"The code" is about 1MB of ruby source.  If you can be more specific about
you want to see, I'll look into releasing those parts to you.

- brent

> Hi Brent,
>
> I've looked a bit around but it seems hard to do anything without the
> full running stack. As you said, the problem also occurs on an x86
> computer so if you are not bound by licencing you could share the code ?
>
> I've also looked at your ruby extensions. Do you use them a lot ? From
> the backtrace, you have a lot of evals. Are they comming from the
> SourceRef extension ?
>
> Also are you using ObjectSpace ?
>
> -- 
> Cheers,
>   zimbatm

-- 
 Brent Roman
 Software Engineer                 Tel: 831 775 1808
 425 Clinton St., Santa Cruz,      California, 95062
 mailto:brent / mbari.org  http://www.mbari.org/~brent