Just to say, the bug was fixed, was a simple mistake in disposing of data. I was just copying and pasting, and forgot to change one of them it seems. Either way, its fixed.
Thanks David, didn't even know about valgrind... heh. Makes life a lil easier i tell ya that much.
You probably have a double free somewhere, or perhaps a stack overflow that is corrupting the pointer that is being freed. Do you have access to valgrind? That would be the easiest way to find it.
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
Basically, the problem just randomly began to occur. So I'm wondering if this problem is located in comm.c or skills.c?
Also, to cause this i just did a manual boot. Which seems to be causing the same problem.
Also could this problem be caused by skills.dat?
Cheers for the help in advance guys...
Skills and Herbs.
*** glibc detected *** corrupted double-linked list: 0x09dca998 ***
Program received signal SIGABRT, Aborted.
0x005fc7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0 0x005fc7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x0063d7a5 in raise () from /lib/tls/libc.so.6
#2 0x0063f209 in abort () from /lib/tls/libc.so.6
#3 0x00671a1a in __libc_message () from /lib/tls/libc.so.6
#4 0x00677af4 in malloc_consolidate () from /lib/tls/libc.so.6
#5 0x00678030 in _int_free () from /lib/tls/libc.so.6
#6 0x0067863a in free () from /lib/tls/libc.so.6
#7 0x0817e766 in free_skill (skill=0x9ca3360) at skills.c:100
#8 0x0817e7a9 in free_skills () at skills.c:113
#9 0x080e83e7 in cleanup_memory () at comm.c:378
#10 0x080e8859 in main (argc=1, argv=0xbff39694) at comm.c:578
(gdb) frame 7
#7 0x0817e766 in free_skill (skill=0x9ca3360) at skills.c:100
100 DISPOSE( skill );
(gdb) frame 8
#8 0x0817e7a9 in free_skills () at skills.c:113
113 free_skill( skill );
(gdb) frame 9
#9 0x080e83e7 in cleanup_memory () at comm.c:378
378 free_skills( );
(gdb) frame 10
#10 0x080e8859 in main (argc=1, argv=0xbff39694) at comm.c:578
578 cleanup_memory( );
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.