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