roxen.lists.pike.general

Subject Author Date
Re: Identifier reference index 36 out of range 0..29 (Re: Pike Henrik_Grubbström <grubba[at]roxen[dot]com> 22-06-2009
 7.8.306 beta)
On Mon, 22 Jun 2009, Stephen R. van den Berg wrote:

> Peter Bortas @ Pike  importm?te f?r mailinglistan wrote:
>> If there are no protests I plan to release this this Sunday.
>
> Don't let this (small?) bug hold you back.

This is potentially a serious (core-dump/do anything class) bug.

> But...
>
> While trying to run a slightly customised Roxen 5.0++, I get the following
> error after exercising a custom Roxen module (programmed solely in Pike):
>
> Identifier reference index 36 out of range 0..29
> Identifier reference index 36 out of range 0..29
>
> (Yes, I see the message twice; which is odd, since it's a fatal error 
> message).

Not really; to avoid losing the error message, it is output once before 
and once after the backtrace.

The error is generated by program.h:CHECK_IDREF_RANGE(), which is used by 
the PTR_FROM_INT() macro which in turn is used just about everywhere.
A gdb backtrace should giva a hint about where it goes wrong.
I also just added a call to dump_program_tables() in CHECK_IDREF_TABLES(),
which might give some more clues.

> Pike is compiled with RTL_DEBUG on.  There is no stacktrace in the log, it
> just dies.  Before I try to dig in further, anyone have any wise words or
> hints as to where this needs to be found?
> As far as I could determine, there were no old precompiled pike objects
> lying around.
> -- 
> Sincerely,
>           Stephen R. van den Berg.

--
Henrik Grubbström					<grubba[at]roxen.com>
Roxen Internet Software AB