#0 0x420751ce in calloc () from /lib/i686/libc.so.6
(gdb) bt
#0 0x420751ce in calloc () from /lib/i686/libc.so.6
#1 0x42074827 in calloc () from /lib/i686/libc.so.6
#2 0x42074544 in calloc () from /lib/i686/libc.so.6
#3 0x080aa735 in write_to_pager (d=0x837e828, txt=0x816aa43 "\e[0;32m", length=7)
at color.c:1133
#4 0x080aa6a4 in set_pager_color (AType=82, ch=0x8377060) at color.c:1111
#5 0x08061eea in do_help (ch=0x8377060, argument=0xbfffd975 "setform") at act_info.c:1936
#6 0x080d5b67 in interpret (ch=0x8377060, argument=0xbfffd975 "setform") at interp.c:547
#7 0x080ab783 in game_loop () at comm.c:671
#8 0x080ab0b1 in main (argc=8, argv=0xbfffdd90) at comm.c:304
#9 0x42015967 in __libc_start_main () from /lib/i686/libc.so.6
So it seems like someone did 'help setform'. I can't see to get it to crash again from doing that. Maybe do_help is corrupt.
void do_help( CHAR_DATA *ch, char *argument )
{
HELP_DATA *pHelp;
char buf[MAX_STRING_LENGTH];
set_pager_color( AT_HELP, ch );
if ( (pHelp = get_help( ch, argument )) == NULL )
{
send_to_char( "No help on that word.\n\rPlease remember this is only alpha version.\n\r", ch );
if ( !IS_IMMORTAL(ch))
{
sprintf( buf, "%s; helpfile not found: %s", ch->name, argument );
to_channel( buf, CHANNEL_MONITOR, "HelpMonitor", LEVEL_IMMORTAL );
}
return;
}
/* Make newbies do a help start. --Shaddai */
if ( !IS_NPC(ch) && !str_cmp( argument, "rules" ) )
SET_BIT(ch->pcdata->flags, PCFLAG_HELPSTART);
set_pager_color( AT_HELP, ch );
if ( pHelp->level >= 0 && str_cmp( argument, "imotd" ) )
{
send_to_pager( "&G", ch );
send_to_pager( pHelp->keyword, ch );
send_to_pager( "\n\r", ch );
}
if ( pHelp->text[0] != '.' )
send_to_pager( "&B=========================================================================&g\n\r", ch );
/*
* Strip leading '.' to allow initial blanks.
*/
if ( pHelp->text[0] == '.' )
send_to_pager_color( pHelp->text+1, ch );
else
send_to_pager_color( pHelp->text , ch );
if ( pHelp->text[0] != '.' )
send_to_pager( "&B=========================================================================&w\n\r", ch );$
return;
}
Anything wrong with do_help? Because it looks like something wrong with set_pager_color.