Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bug Reports

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-18-2004, 03:54 AM
Xorith
Sarnak
 
Join Date: Nov 2004
Posts: 52
Default Zone Crash Bug in newest CVS release

Hello, submitted this on the bugzilla on sourceforge.

I'll paste it here too, though.

When a player (well, in this case it was a GM) loots an NPC's corpse, the zone server dies.

Here's my core dump through gdb:

(gdb) bt
#0 0x0812cc9f in ItemCommonInst::GetAugmentItemID (this=0x0, slot=3 '\003') at Item.h:361

#1 0x0816cdb6 in Client::SendItemLink (this=0x89dd810, inst=0x8a15c78, send_to_all=true) at inventory.cpp:468
#2 0x080d13b5 in Corpse::LootItem (this=0x8a33990, client=0x89dd810, app=0x8a13f3 at PlayerCorpse.cpp:929
#3 0x081081c4 in Client::HandlePacket (this=0x89dd810, app=0x8a13f3 at client_packet.cpp:2070
#4 0x080ab4d1 in Client::Process (this=0x89dd810) at client_process.cpp:523
#5 0x0808e566 in EntityList::MobProcess (this=0x81d9960) at entity.cpp:326
#6 0x080b4f20 in main (argc=5, argv=0x1) at net.cpp:373
(gdb)
#0 0x0812cc9f in ItemCommonInst::GetAugmentItemID (this=0x0, slot=3 '\003') at Item.h:361
#1 0x0816cdb6 in Client::SendItemLink (this=0x89dd810, inst=0x8a15c78, send_to_all=true) at inventory.cpp:468
#2 0x080d13b5 in Corpse::LootItem (this=0x8a33990, client=0x89dd810, app=0x8a13f3 at PlayerCorpse.cpp:929
#3 0x081081c4 in Client::HandlePacket (this=0x89dd810, app=0x8a13f3 at client_packet.cpp:2070
#4 0x080ab4d1 in Client::Process (this=0x89dd810) at client_process.cpp:523
#5 0x0808e566 in EntityList::MobProcess (this=0x81d9960) at entity.cpp:326
#6 0x080b4f20 in main (argc=5, argv=0x1) at net.cpp:373
(gdb)


Notice frame #0 has this=0x0 (NULL). This is usually a "very bad thing" :P

Not sure, but could this also be linked to the Merchant issue where the merchants always say "This item is for display purposes only"...? I found out that the Merchant only says this when the item lookup in the DB fails.

-- Xorith
Reply With Quote
  #2  
Old 11-18-2004, 05:50 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I can confirm. When I loot a NPC's corpse, the zone server doesn't crash, however the character can't do anything until they zone/camp.
Reply With Quote
  #3  
Old 11-18-2004, 10:00 AM
Xorith
Sarnak
 
Join Date: Nov 2004
Posts: 52
Default

My server does that when you interact with merchants.. Very very odd.

Does it make sense that having added columns to the items table (per a few posts around here) might break shared memory?
Reply With Quote
  #4  
Old 11-18-2004, 10:55 AM
Doodman's Avatar
Doodman
Developer
 
Join Date: Aug 2003
Posts: 246
Default

I don't think the NPC looting and the merchant one are the same but, but the NPC looting is fixed in dev CVS.. Should be on SF in a few hours.

But here is the patch to loottables.cpp:
Code:
*** loottables-orig.cpp Mon Nov  8 19:11:03 2004
--- loottables.cpp      Thu Nov 18 16:39:27 2004
***************
*** 599,604 ****
--- 599,609 ----
                                
        item->item_id = item2->ItemNumber;
        item->charges = charges;
+       item->aug1 = 0;
+       item->aug2 = 0;
+       item->aug3 = 0;
+       item->aug4 = 0;
+       item->aug5 = 0;
        if (equipit) {
                uint8 eslot = 0xFF;
                //const Item_Struct* item2 = database.GetItem(item->item_id);
Sorry about that.. Thought I caught all ServerLootItem_Structs, but missed setting the augments to 0 on the NPC loot.
Reply With Quote
  #5  
Old 11-18-2004, 01:11 PM
Xorith
Sarnak
 
Join Date: Nov 2004
Posts: 52
Default

Thanks Doodman! Excellent response time. Even better than most commercial projects.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:48 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3