Greetings,
I've been having some strange crash bugs that I can't figure out on a modified version of tbaMUD 2018, so I figured with the new release of tbaMUD 2020, I'd download it and give it a compile. I have made zero changes from stock (other than the port in the makefile )on the tbaMUD 2020 version. I ran the configure utility, compiled without an issue, and let it run for a while.
Anyways, I'm kinda at a loss here. Pastebin of the gdb:
pastebin.com/ahSnHCXB
Any help would be appreciated, thanks in advance!
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<
www.gnu.org/software/gdb/bugs/
>.
Find the GDB manual and other documentation resources online at:
<
www.gnu.org/software/gdb/documentation/
>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/circle...done.
[New LWP 27322]
Core was generated by `circle -C3 9000'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 stop_follower (ch=ch@entry=0x558340e26d40) at utils.c:549
549 for (k = ch->master->followers; k->next->follower != ch; k = k->next);
(gdb) bt
#0 stop_follower (ch=ch@entry=0x558340e26d40) at utils.c:549
#1 0x000055833e6f1018 in destroy_db () at db.c:512
#2 0x000055833e6943de in main (argc=<optimized out>, argv=<optimized out>) at comm.c:356
(gdb) list
544 if (ch->master->followers->follower == ch) { /* Head of follower-list? */
545 k = ch->master->followers;
546 ch->master->followers = k->next;
547 free(k);
548 } else { /* locate follower who is not head of list */
549 for (k = ch->master->followers; k->next->follower != ch; k = k->next);
550
551 j = k->next;
552 k->next = j->next;
553 free(j);
(gdb) info local
j = <optimized out>
k = 0x558340cffb80
(gdb) up
#1 0x000055833e6f1018 in destroy_db () at db.c:512
512 stop_follower(chtmp);
(gdb) list
507 /* Active Mobiles & Players */
508 while (character_list) {
509 chtmp = character_list;
510 character_list = character_list->next;
511 if (chtmp->master)
512 stop_follower(chtmp);
513 free_char(chtmp);
514 }
515
516 /* Active Objects */
(gdb) info local
cnt = <optimized out>
itr = <optimized out>
chtmp = 0x558340e26d40
objtmp = <optimized out>
(gdb) up
#2 0x000055833e6943de in main (argc=<optimized out>, argv=<optimized out>) at comm.c:356
356 destroy_db();
(gdb) list
351 log("Running game on port %d.", port);
352 init_game(port);
353 }
354
355 log("Clearing game world.");
356 destroy_db();
357
358 if (!scheck) {
359 log("Clearing other memory.");
360 free_bufpool(); /* comm.c */
(gdb) info local
pos = <optimized out>
dir = <optimized out>
(gdb) up
Initial frame selected; you cannot go up.
(gdb)