Yeah... I don't really know what was wrong with it. Real freaky problem :). lang_free wasn't being modded anywhere else. But I found out 0x10 is out of bounds memory, and thats baaad :). But, yeah, in the boot_db, I added a

{    LANGUAGE *pLng;
    pLng = new_lang();
    free_lang(pLng);
}

And, ya know what... that fixed it! :) So I'm happy.
Davion

From: "Jeremy Hill" <[EMAIL PROTECTED]>
To: <[email protected]>
Subject: Re: Confusing
Date: Sat, 13 Dec 2003 02:36:41 -0600

Davion,

"$1 = (LANGUAGE *) 0x0" would be null. Not sure what 0x11 is.

Also, what does your language recyling look like? I'm assuming it looks like free_char's, for example, where new recycled elements are attached to the front of the free list.

But, definitely, 0x11 is your problem.

[EMAIL PROTECTED] area $ gdb ../src/rom
(gdb) run 4000
...
Sat Dec 13 02:35:09 2003 :: ROM is ready to rock on port 4000.
Program received signal SIGINT, Interrupt.
0x40125d42 in select () from /lib/libc.so.6
(gdb) print *char_free
Cannot access memory at address 0x0
(gdb) print char_free
$1 = (CHAR_DATA *) 0x0

That is null.


----- Original Message -----
From: "Davion Kalhen" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, December 12, 2003 8:28 PM
Subject: Confusing


> Ok, I'm getting a really weird crash bug that I can't fix. The bt is
>
> 341                     lang_free = lang_free->next;
> (gdb) bt
> #0  0x080ea9ae in lang_new () at language.c:341
> #1 0x080ea833 in lngedit_create (ch=0x4047612c, argument=0x404731c2 "leet")
>     at language.c:293
> #2  0x08141aa3 in do_lngedit (ch=0x4047612c, argument=0x404731c2 "leet")
>     at olc.c:2453
> #3  0x080e8d63 in interpret (ch=0x4047612c, argument=0x404731bb "create
> leet")
>     at interp.c:259
> (gdb) p lang_free
> $1 = (LANGUAGE *) 0x11
>
>
> Now this is the weird thing, it claims that lang_free is NULL, right? Well,
> this is the code in question.
>
> LANGUAGE * lang_new(void)
> { static LANGUAGE lang_zero;
> LANGUAGE *pLng;
>
> if(lang_free == NULL )
> pLng = alloc_perm(sizeof(*pLng) );
> else
> { pLng = lang_free;
> lang_free = lang_free->next; //This is where it goes down
> }
> *pLng = lang_zero;
> STRING_NEW(pLng->name);
> return pLng;
> }
>
>
> And I'm fairly sure my syntax is all correct, as well as logic... any help
> apreciated.
>
> Davion
>
> _________________________________________________________________
> Tired of spam? Get advanced junk mail protection with MSN 8.
>
http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2fjoin.msn.com%2f%3fpage%3dmisc%2fspecialoffers%26pgmarket%3den-ca
>
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom


--
ROM mailing list
[email protected]
http://www.rom.org/cgi-bin/mailman/listinfo/rom

_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=dept/features&pgmarket=en-ca&RU=http%3a%2f%2fjoin.msn.com%2f%3fpage%3dmisc%2fspecialoffers%26pgmarket%3den-ca


Reply via email to