>From: "Daniel A. Koepke" <dkoepke@CALIFORNIA.COM>
>Reply-To: Circle Discussion List <CIRCLE@post.queensu.ca>
>To: CIRCLE@post.queensu.ca
>Subject: Re: Olc, ASCII pfile, player char data... :P
>Date: Tue, 23 Nov 1999 19:36:03 -0800
>
>
>In gdb, switch to the frame where this call is made (e.g., "frame 0" to
>switch to #0 in the backtrace, "frame 1" to switch to #1, etc.) and "print
>*plr_index". Also do, "print line".
>
> > int fbgetline(FBFILE *fbfl, char *line)
> > {
>
>Switch to the frame where we're in this function (it's the line with the
>crash, yes?) and try:
>
> print *fbfl
> print line
> print r
> print fbfl->buf
> print fbfl->size
> print w
>
>Look for anything that seems wrong. For instance, when printing the
>contents of a character array, junk characters *before* a '\0'; for a
>pointer, a NULL address (0x0); if fbfl->size is considerably longer than
>fbfl->buf, etc.
Hmm,
After totally wiping pfiles.
creating a new character Zeuron works perfect, no crash whatsoever.
doin the same with "Zoo" gives this core dump:
----------------------------------------------------------
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libcrypt.so.1...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0 0x80a6f8d in fbgetline (fbfl=0x4015ffe8, line=0xbffffa24 "@")
at diskio.c:23
diskio.c:23: No such file or directory.
(gdb) bt
#0 0x80a6f8d in fbgetline (fbfl=0x4015ffe8, line=0xbffffa24 "@")
at diskio.c:23
#1 0x807603c in build_player_index () at db.c:461
#2 0x8075cb6 in boot_db () at db.c:326
#3 0x807133c in init_game (port=4000) at comm.c:344
#4 0x80712e5 in main (argc=3, argv=0xbffffc04) at comm.c:320
#5 0x4005ecb3 in __libc_start_main (main=0x8071080 <main>, argc=3,
argv=0xbffffc04, init=0x80491fc <_init>, fini=0x80aa51c <_fini>,
rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffbfc)
at ../sysdeps/generic/libc-start.c:78
(gdb)
(gdb) print line
$1 = 0xbffffa24 "@"
(gdb) print w
$2 = 0xbffffa25 ""
(gdb) print r
$3 = 0x410ad000 <Address 0x410ad000 out of bounds>
(gdb) print *fbfl
$4 = {
buf = 0x410acfe8 "1 zoo 34 0 943445718\n~\n@"... <Address 0x410ad000 out
of bounds>, ptr = 0x410acfff "@"... <Address 0x410ad000 out of bounds>, size
= 23,
flags = 1, name = 0x410aefec "pfiles/plr_index"}
(gdb)
First, the part:
diskio.c:23: No such file or directory.
is really bugging me, its in the same directory as the other
c files. Something i gotta do? :P
hmm, should line really be "@" ?
The plr_index looks like:
----------------------------------------
1 zoo 34 0 943445718
~
----------------------------------------
hrms..
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
+------------------------------------------------------------+
| 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 : 12/15/00 PST