05 Oct, 2009, Xrakisis wrote in the 1st comment:
Votes: 0
Hi All,
My mud has a freezing problem.
I attached gdb to the frozen process and i get this..
im not sure where to go from here..

Attaching to process 5406
Reading symbols from /home/ianshirm/cotn/src/mcloud…done.
Using host libthread_db library "/lib/libthread_db.so.1".
Reading symbols from /usr/lib/libz.so.1…done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libcrypt.so.1…done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libpthread.so.0…done.
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 5406)]
[New Thread 32769 (LWP 5424)]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6…done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2…done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2…done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2…done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2…done.
Loaded symbols for /lib/libresolv.so.2
0x4007d4f4 in __pthread_sigsuspend () from /lib/libpthread.so.0
(gdb) Quit
(gdb) bt
#0 0x4007d4f4 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x4007cf18 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
#2 0x4007ec79 in __pthread_alt_lock () from /lib/libpthread.so.0
#3 0x4007ba35 in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x4012a793 in ptmalloc_lock_all () from /lib/libc.so.6
#5 0x4007c143 in __pthread_fork () from /lib/libpthread.so.0
#6 0x4014d658 in fork () from /lib/libc.so.6
#7 0x4007c214 in fork () from /lib/libpthread.so.0
#8 0x080bdb47 in crashrecov (iSignal=11) at comm.c:1650
#9 0x40080715 in __pthread_sighandler () from /lib/libpthread.so.0
#10 <signal handler called>
#11 0x40128dc9 in malloc_consolidate () from /lib/libc.so.6
#12 0x40128493 in _int_malloc () from /lib/libc.so.6
#13 0x40127e15 in calloc () from /lib/libc.so.6
#14 0x080d7aa8 in alloc_perm (sMem=1444) at db.c:3509
#15 0x080d575a in create_mobile (pMobIndex=0x40589454) at db.c:2263
#16 0x080d5390 in reset_room (pRoom=0x4058aa9c) at db.c:2090
#17 0x080d5708 in reset_area (pArea=0x40589320) at db.c:2237
#18 0x080d50a5 in area_update () at db.c:1984
#19 0x08197574 in update_handler () at update.c:2090
#20 0x080bc423 in game_loop_unix (gcontrol=4) at comm.c:909
#21 0x080bbcc7 in main (argc=2, argv=0xbffff6d4) at comm.c:490
05 Oct, 2009, David Haley wrote in the 2nd comment:
Votes: 0
The point in your code where things are going wrong is this:
#14 0x080d7aa8 in alloc_perm (sMem=1444) at db.c:3509
#15 0x080d575a in create_mobile (pMobIndex=0x40589454) at db.c:2263

note that you might be passing in bogus parameters generated somewhere further up the stack.

I would suggest running this through valgrind, as it appears to be a memory error of some sort. Valgrind spots those extremely quickly.
05 Oct, 2009, Tyche wrote in the 3rd comment:
Votes: 0
Oh jeez…
#8 0x080bdb47 in crashrecov (iSignal=11) at comm.c:1650

Catching Sigsegv and doing something naughty like trying to continue.

Solution: Rip out signal handlers and code that attempts to recover and continue from SEGV.
16 Oct, 2009, Xrakisis wrote in the 4th comment:
Votes: 0
Tyche said.
Oh jeez… 
#8 0x080bdb47 in crashrecov (iSignal=11) at comm.c:1650

Catching Sigsegv and doing something naughty like trying to continue.

Solution: Rip out signal handlers and code that attempts to recover and continue from SEGV.


Thank you :) i did this and isnt freezing anymore :)
0.0/4