Re: Segmentation Fault

From: Chris Gilbert (chris@buzzbee.freeserve.co.uk)
Date: 06/30/00


Evilsoul wrote:
>
> Hello,
>
> Im  getting  a  segmentation  fault on my mud when players quit.
>
> ---
> GDB Backtrace
> Program received signal SIGSEGV, Segmentation fault.
> 0x4009d213 in free () from /lib/libc.so.6
> (gdb) bt
> #0  0x4009d213 in free () from /lib/libc.so.6
> #1  0x807bd21 in free_char (ch=0x811fc58) at db.c:2268
> #2  0x8074ee6 in close_socket (d=0x811e8e8) at comm.c:1847
> #3  0x8072c4f in game_loop (mother_desc=4) at comm.c:751
> #4  0x8072220 in init_game (port=4000) at comm.c:356
> #5  0x807219d in main (argc=1, argv=0xbffffa84) at comm.c:322
> ---
>
> It  occurs  everytime someones quit and appears to be an error on libc
> but  I  reinstalled  the  glibc  (2.1.2)  and  it  still occuring. Any
> sugestions?

Why do you say it's an error in libc?  free crashing is normal if you
try to free some memory twice, eg:
char * x = malloc(10);
free(x);
free(x);  /* this will segv */

Can't say why you've crashed beyond looking at the values in ch, and the
line the free is called from, and see the value of the thing being
freed.

Chris


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT