Hello!

I have a pure C function, which may be called arbitrary 
sequential times. If I call any rb_* function inside, including
the simple rb_warn(), I get:

BUG] rb_gc_mark(): unknown data type 0x28(0x89965b0) non object
ruby 1.8.0 (2003-08-04) [i586-linux]

The error occures after a lot of calls; it reminds me the 
behaviour of a stack overflow, or something.

The C function is quite simpe:

static double foo (double *x, double *y)
{
    double f = 5.000000;

    rb_warn ("%f\n", f);

    return f;
}   

If I remove the rb_warn() call, everything works okay.

Any hints?

Regards,
-- 
University of Athens			I bet the human brain 
Physics Department				is a kludge --Marvin Minsky