[plt-scheme] Debugging a Bus Error in mzscheme?

From: Danny Yoo (dyoo at hkn.eecs.berkeley.edu)
Date: Tue Aug 23 18:10:41 EDT 2005

Hi everyone,

I've been playing around with the web-server collection, and I'm really
happy with what I see so far.  However, I'm running into a few stability
issues when testing the web server under load.

What's most worrisome to me is that I can get mzscheme itself to crash in
certain situations, but I haven't isolated the exact conditions that cause
the weirdness yet.  I've been able to get mzscheme to die with a Bus Error
fairly repeatably, but only on my Powerbook --- I can't duplicate the
problem on my fast Pentium 4 Linux box.  I suspect a platform-dependent
problem, but, again, I'm not quite sure.

I'd like to add a few asserts to check the triggering condition I'm
seeing.  I've found a macro called mzAssert() in src/port.c, but that's
the only place I can see that has assertions, and it's commented out!  Is
there a standard mechanism in the mzscheme C source to define assertions,
or is it ok to just use the standard <assert.h>?

I can run mzscheme through gdb and get a stack trace out of the system,
but what other kind of debugging information can I provide?  I'm still
preparing enough concrete information to send off a bug report.  Besides
compiling mzscheme with ./configure --no-opts, what else can I do to help
the mzscheme implementors track this down?

Thanks!



Posted on the users mailing list.