Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
Bug in get_exp_worth( )
Oct 10, 2017, 1:26 am
By GatewaySysop
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Users Online
Yahoo!, CommonCrawl, Yandex, Google, Bing, Sogou

Members: 0
Guests: 10
Stats
Files
Topics
Posts
Members
Newest Member
477
3,705
19,232
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Codebases » SWFOTE FUSS » Extended Bitvectors
Forum Rules | Mark all | Recent Posts

Extended Bitvectors
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Feb 11, 2008, 9:14 am
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

I have been converting all flags to extended bitvectors. So, I got to affected flags and set that up and now the MUD won't start up. I removed all areas but help.are and then the limbo.are file and removed mobs from limbo.are and it still won't load. It stops at

Reading in area files...
(help.are)


Any ideas on what I should do to get this working?
       
Post is unread #2 Feb 11, 2008, 1:44 pm
Go to the top of the page
Go to the bottom of the page

Zeno
Sorcerer
GroupMembers
Posts723
JoinedMar 5, 2005

Have you tried using gdb to see what is happening?
       
Post is unread #3 Feb 12, 2008, 8:22 am
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

GDB shows this... ( I can't attach it and its not putting out a core so I'm running it within GDB)

(gdb) start
Breakpoint 1 at 0x48e873: file comm.c, line 126.
Starting program: /home/will/MUD/swdev/src/swr 
main (argc=1, argv=0x7fff9b600cd8) at comm.c:126
126        bool fCopyOver = FALSE;
(gdb) continue
Continuing.


Goes into all the blah blah starting stuff.

Then ends like this
Tue Feb 12 11:19:31 2008 :: Reading in area files...

Program exited with code 01.


I'm clueless.
       
Post is unread #4 Feb 12, 2008, 11:31 am
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

That doesn't look like a crash, it looks like the game is calling exit with code 1. I would grep the files for "exit" and see if any of those points is reachable from the beginning. You might also set a breakpoint for the line that says "Reading in area files" and step through the code from there.
       
Post is unread #5 Feb 13, 2008, 7:09 am
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Exit code 1 is generally only used in db.c when a corrupted file is encountered. So you've likely got an area file which has become corrupted. Since it's not logging anything past help.are, I'd suspect the first area file loaded after it in the area.lst file.
       
Post is unread #6 Feb 14, 2008, 2:26 pm
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

I've been searching through that area file and I can't find whats off.

It's obviously related to extended_bitvectors since its the last thing I did.
       
Post is unread #7 Feb 14, 2008, 4:19 pm
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

I would set a gdb breakpoint to the point in the code where it prints out the last message you see (the one about reading in area files) and stepping until you see where it calls 'exit'.

Chances are it's expecting an extended bit vector but only finds an old bit vector, and therefore declares that the file is invalid.
       
Post is unread #8 Feb 14, 2008, 11:55 pm
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

I'm utterly baffled and feeling n00bish...

Breakpoint 1, boot_db (fCopyOver=0 '\0') at db.c:835
835           log_string( "Reading in area files..." );
(gdb) step
log_string_plus (str=0x5d099d "Reading in area files...", log_type=0, level=102) at db.c:4242
4242       strtime = ctime( &current_time );
(gdb) step
4243       strtime[strlen( strtime ) - 1] = '\0';
(gdb) step
4244       fprintf( stderr, "%s :: %s\n", strtime, str );
(gdb) step
Fri Feb 15 02:52:15 2008 :: Reading in area files...
4245       if( strncmp( str, "Log ", 4 ) == 0 )
(gdb) step
4248          offset = 0;
(gdb) step
4249       switch ( log_type )
(gdb) step
4252             to_channel( str + offset, CHANNEL_LOG, "Log", level );
(gdb) step
to_channel (argument=0x5d099d "Reading in area files...", channel=512, verb=0x5d1dff "Log", level=102) at act_comm.c:697
697     {
(gdb) step
701        if( !first_descriptor || argument[0] == '\0' )
(gdb) step
729     }
(gdb) step
log_string_plus (str=0x5d099d "Reading in area files...", log_type=0, level=102) at db.c:4253
4253             break;
(gdb) step
4264    }
(gdb) step
boot_db (fCopyOver=0 '\0') at db.c:836
836           if( ( fpList = fopen( AREA_LIST, "r" ) ) == NULL )
(gdb) step
838              shutdown_mud( "Unable to open area list" );
(gdb) step
shutdown_mud (reason=0x5d09c1 "Unable to open area list";) at db.c:403
403        if( ( fp = fopen( SHUTDOWN_FILE, "a" ) ) != NULL )
(gdb) step
405           fprintf( fp, "%s\n", reason );
(gdb) step
406           fclose( fp );
(gdb) step
408     }
(gdb) step
boot_db (fCopyOver=0 '\0') at db.c:839
839              exit( 1 );
       
Post is unread #9 Feb 15, 2008, 4:46 am
Go to the top of the page
Go to the bottom of the page

tphegley
Magician
GroupMembers
Posts176
JoinedMay 21, 2006

What does your area.lst look like?
       
Post is unread #10 Feb 15, 2008, 6:59 am
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005


help.are
limbo.are
$
       
Post is unread #11 Feb 15, 2008, 8:25 am
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

Are you starting the MUD from the area directory? The gdb output is saying that it can't even open the file, let alone read it correctly. Since you have the file, and since you probably didn't change the AREA_LIST constant, chances are high that you're starting the MUD from inside src and not area.
       
Post is unread #12 Feb 15, 2008, 10:25 am
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

Heh, whoops.
Now that I learned something new and feel slightly less n00bish, I'm closer to the end. But I'm just as confused.

load_mobiles (tarea=0x8d1de0, fp=0x898e90) at db.c:1245
1245          pMobIndex->pShop = NULL;
(gdb) 
1246          pMobIndex->alignment = fread_number( fp );
(gdb) 
fread_number (fp=0x898e90) at db.c:3180
3180          if( feof( fp ) )
(gdb) 
3187          c = getc( fp );
(gdb) 
3189       while( isspace( c ) );
(gdb) 
3191       number = 0;
(gdb) 
3193       sign = FALSE;
(gdb) 
3194       if( c == '+' )
(gdb) 
3198       else if( c == '-' )
(gdb) 
3204       if( !isdigit( c ) )
(gdb) 
3207          if( fBootDb )
(gdb) 
3208             exit( 1 );
(gdb) 


Sorry for all the trouble. Just trying to figure this one out.
       
Post is unread #13 Feb 15, 2008, 11:03 am
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

Well this problem is more complicated. It would appear that somehow an area file is not in the format that the code expects. How that happened is unclear; it could have happened if you saved/loaded areas while working on the extended bit vectors, thereby introducing extra numbers into the formats before it was ready for it.

I would recommend manually inspecting the area that is causing it to fail. It looks like it is failing upon attempting to read the mob's alignment.
       
Post is unread #14 Feb 15, 2008, 2:25 pm
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

I removed all the areas to be rebuilt anyways, so for the record, I don't mind nuking this one, but you have to have an area with vnum 3 for the supermob or whatever.

But as I'm watching it load the mobs in gdb, its passing this line several times before it exits.
       
Post is unread #15 Feb 15, 2008, 3:10 pm
Go to the top of the page
Go to the bottom of the page

Krylan
Fledgling
GroupMembers
Posts39
JoinedApr 14, 2005

Ugh, so I fixed that but got a new one that I can't seem to figure out.

Program terminated with signal 11, Segmentation fault.
#0  0x00000000004a0998 in load_shops (tarea=0x8d1d90, fp=0x898e90) at db.c:2077
2077          pMobIndex->pShop = pShop;
(gdb) bt
#0  0x00000000004a0998 in load_shops (tarea=0x8d1d90, fp=0x898e90) at db.c:2077
#1  0x00000000004aa6e4 in load_area_file (tarea=0x8d1d90, filename=0x853aa0 "mobworkslimbo.are";) at db.c:5636
#2  0x000000000049ce42 in boot_db (fCopyOver=0 '\0') at db.c:848
#3  0x000000000048ebb9 in main (argc=2, argv=0x7fff623579e8) at comm.c:232


All line 2077 says is this
      pMobIndex->pShop = pShop;


Nothing has been touched on that in anytime in the recent past. About 2 months ago I removed repair shops but it worked great after that.
       
Post is unread #16 Feb 19, 2008, 4:58 pm
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

What is the value of pMobIndex? If it's null, then it would appear that something is trying to make a shop out of a mob that doesn't exist, which most likely means that an area file got corrupted or badly edited somehow.
       
Pages:<< prev 1 next >>