How soon are you having this problem? Is it right when you boot the mud?
Throught the course of it being up for some time? I had a small problem like
that, and how I fixed it is when it makes the global variable for the freed
buffers. Make that = NULL, I did that and my problems went away with some of
my bugs. But that would only help if it's towards when your first booting
the mud.

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, December 18, 2002 11:32 AM
Subject: Problems with new_buf


> Every so often my mud crashes, I'm not very well versed at GDB so this
output is not very helpful...
>
> Program terminated with signal 11, Segmentation fault.
> Cannot access memory at address 0x40015f10
> #0  new_buf () at recycle.c:590
> 590             buf_free = buf_free->next;
> (gdb) back
> #0  new_buf () at recycle.c:590
> Cannot access memory at address 0xbfff79b8
> (gdb) list
> 585         if (buf_free == NULL)
> 586             buffer = alloc_perm(sizeof(*buffer));
> 587         else
> 588         {
> 589             buffer = buf_free;
> 590             buf_free = buf_free->next;
> 591         }
> 592
> 593         buffer->next        = NULL;
> 594         buffer->state       = BUFFER_SAFE;
>
>
> It appears that the problem is with the line
> buf_free = buf_free->next;
>
> however at this point in gdb im stuck...when I try a
>
> p buffer->string
>
> I get
>
> Cannot access memory at address 0x6961432c
>
> Can someone point me in the right direction GDB wise, so I can track this
down?
>
> Thanks
>
> K
>
>
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>


Reply via email to