Here you go, it DOES crash stock TBA but not my MUD for whatever reason.
Code:
luminari@luminarimud.com [~/tbamud]# gdb bin/circle lib/core.tmp.14049
GNU gdb (GDB) CentOS (7.0.1-42.el5.centos.1)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://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 "i386-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/luminari/tbamud/bin/circle...done.
[New Thread 14049]
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libresolv.so.2
Core was generated by `bin/circle -q 4102'.
Program terminated with signal 11, Segmentation fault.
#0 0x080e653a in perform_new_char_dupe_check (d=0xae3b528, arg=0xbfa946e4 "y") at interpreter.c:1186
1186 if (!strcmp(GET_NAME(k->character), GET_NAME(d->character))) {
(gdb) list
1181
1182 if (k == d)
1183 continue;
1184
1185 /* Do the player names match? */
1186 if (!strcmp(GET_NAME(k->character), GET_NAME(d->character))) {
1187 /* Check the other character is still in creation? */
1188 if ((STATE(k) > CON_PLAYING) && (STATE(k) < CON_QCLASS)) {
1189 /* Boot the older one */
1190 k->character->desc = NULL;
(gdb) info local
k = 0xae37e80
(gdb) up
#1 nanny (d=0xae3b528, arg=0xbfa946e4 "y") at interpreter.c:1451
1451 perform_new_char_dupe_check(d);
(gdb) list
1446 write_to_output(d, "Sorry, new players can't be created at the moment.\r\n");
1447 mudlog(NRM, LVL_GOD, TRUE, "Request for new char %s denied from [%s] (wizlock)", GET_PC_NAME(d->character), d->host);
1448 STATE(d) = CON_CLOSE;
1449 return;
1450 }
1451 perform_new_char_dupe_check(d);
1452 write_to_output(d, "New character.\r\nGive me a password for %s: ", GET_PC_NAME(d->character));
1453 echo_off(d);
1454 STATE(d) = CON_NEWPASSWD;
1455 } else if (*arg == 'n' || *arg == 'N') {
(gdb) info local
load_result = <value optimized out>
player_i = <value optimized out>
olc_functions = {{state = 18, func = 0x810e710 <oedit_parse>}, {state = 20, func = 0x81460d0 <zedit_parse>}, {state = 22,
func = 0x8133720 <sedit_parse>}, {state = 21, func = 0x80ee570 <medit_parse>}, {state = 19, func = 0x8131390 <redit_parse>}, {
state = 24, func = 0x8092ca0 <cedit_parse>}, {state = 26, func = 0x80b14a0 <trigedit_parse>}, {state = 25,
func = 0x808ae90 <aedit_parse>}, {state = 27, func = 0x80d6420 <hedit_parse>}, {state = 28, func = 0x812b8b0 <qedit_parse>}, {
state = 29, func = 0x81241e0 <prefedit_parse>}, {state = 30, func = 0x80e2230 <ibtedit_parse>}, {state = 31,
func = 0x80f2ac0 <msgedit_parse>}, {state = -1, func = 0}}
(gdb) up
#2 0x0809bee0 in game_loop (local_mother_desc=3) at comm.c:883
883 nanny(d, comm);
(gdb) list
878 if (d->showstr_count) /* Reading something w/ pager */
879 show_string(d, comm);
880 else if (d->str) /* Writing boards, mail, etc. */
881 string_add(d, comm);
882 else if (STATE(d) != CON_PLAYING) /* In menus, etc. */
883 nanny(d, comm);
884 else { /* else: we're playing normally. */
885 if (aliased) /* To prevent recursive aliases. */
886 d->has_prompt = TRUE; /* To get newline before next cmd output. */
887 else if (perform_alias(d, comm, sizeof(comm))) /* Run it through aliasing system */
(gdb) info local
input_set = {__fds_bits = {512, 0 <repeats 31 times>}}
output_set = {__fds_bits = {1008, 0 <repeats 31 times>}}
exc_set = {__fds_bits = {0 <repeats 32 times>}}
null_set = {__fds_bits = {0 <repeats 32 times>}}
last_time = {tv_sec = 1358273696, tv_usec = 990806}
opt_time = {tv_sec = 0, tv_usec = 100000}
process_time = {tv_sec = 0, tv_usec = 746}
temp_time = {tv_sec = 0, tv_usec = 99254}
before_sleep = {tv_sec = 1358273696, tv_usec = 891552}
now = {tv_sec = 1358273696, tv_usec = 991539}
timeout = {tv_sec = 0, tv_usec = 0}
comm = "y\000stcharthree\000\211\000\000\020\002\000\310G\251\277a\272\211\000\000\020\002\000\030$\220\000P\222\365\ta\272\211\000\000\020\000\000d\241\230\000d\241\230\001\260\332\217\000\364\217\230\000 \000\000\000\263G\251\277a\272\211\000\364\217\230\000p\241\230\000\360\377\331\n@\241\230\000\f\000\000\000@\241\230\000\000\000\000\000a\272\211\000\000\000\000\000 \000\000\000\343G\251\277a\272\211\000p\241\230\000p\241\230\000M\333\217\000a\272\211\000\f\000\000\000@\241\230", '\000' <repeats 13 times>, " \000\000\000\023H\251\277a\272\211\000p\241\230\000 \000\000\000#H\251\277p\245\230\000\f\000\000\000p\241\230\000\000\000\000\000@\241\230\000\f\000\000\000@\241\230", '\000' <repeats 21 times>, "\020\000\000\000p\241\230\000\004\000\000\000\002", '\000' <repeats 19 times>"\260, \000\000\000p\241\230\000\004\000\000\000\002\000\000\000\000\000\000\000\370-\025\n\300n\341\n\002\000\000\000\000\000\000\000\320\303\341\n\205\305\201\000\320"...
d = <value optimized out>
next_d = <value optimized out>
missed_pulses = <value optimized out>
maxdesc = <value optimized out>
aliased = 0
(gdb) up
#3 0x0809d037 in init_game (argc=Cannot access memory at address 0x0
) at comm.c:533
533 game_loop(mother_desc);
(gdb) list
528 if (fCopyOver) /* reload players */
529 copyover_recover();
530
531 log("Entering game loop.");
532
533 game_loop(mother_desc);
534
535 Crash_save_all();
536
537 log("Closing all sockets.");
(gdb) info local
No locals.
(gdb) up
#4 main (argc=Cannot access memory at address 0x0
) at comm.c:353
353 init_game(port);
(gdb) list
348
349 if (scheck)
350 boot_world();
351 else {
352 log("Running game on port %d.", port);
353 init_game(port);
354 }
355
356 log("Clearing game world.");
357 destroy_db();
(gdb) info local
pos = <value optimized out>
dir = 0x9f53068 "lib"
(gdb) up
Initial frame selected; you cannot go up.
(gdb) list
358
359 if (!scheck) {
360 log("Clearing other memory.");
361 free_bufpool(); /* comm.c */
362 free_player_index(); /* players.c */
363 free_messages(); /* fight.c */
364 free_text_files(); /* db.c */
365 board_clear_all(); /* boards.c */
366 free(cmd_sort_info); /* act.informative.c */
367 free_command_list(); /* act.informative.c */
(gdb) info local
pos = <value optimized out>
dir = 0x9f53068 "lib"
(gdb) up
Initial frame selected; you cannot go up.