Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-03-2010, 10:37 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default Strange Crash

Not sure wtf this means but this is pretty much the only crash I get... Was hoping some one could help me figure out how to fix this.


Code:
Core was generated by `./zone'.
Program terminated with signal 11, Segmentation fault.
[New process 27175]
[New process 27181]
[New process 27180]
[New process 27179]
[New process 27178]
#0  0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x000000000060abf1 in Client::GetReverseFactionCon (this=0x22c02c0,
    iOther=0x7f6dfc56eda0) at faction.cpp:180
#2  0x0000000000718dd6 in Mob::CheckWillAggro (this=0x7f6dfc585390,
    mob=0x22c02c0) at aggro.cpp:312
#3  0x0000000000719042 in EntityList::CheckClientAggro (this=0xbdcfa0,
    around=0x22c02c0) at aggro.cpp:45
#4  0x00000000005c1156 in Client::Process (this=0x22c02c0)
    at client_process.cpp:672
#5  0x0000000000585ff0 in EntityList::MobProcess (this=0xbdcfa0)
    at entity.cpp:487
#6  0x00000000005d1c6c in main (argc=1, argv=0x7fff116d93a8) at net.cpp:494
Reply With Quote
  #2  
Old 01-03-2010, 11:16 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I get that crash occasionally as well. I think it has something to do with a certain scenario when it is doing the CheckWillAggro check. I don't really know how to read those very well and didn't see any problems that stood out in the code for it, but I do get it too.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 01-04-2010, 03:59 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

On my end it's like a plague , hits at least once every couple of hours..
Reply With Quote
  #4  
Old 01-04-2010, 07:31 PM
gaeorn
Developer
 
Join Date: Apr 2009
Location: USA
Posts: 478
Default

this part
Code:
#0  0x0000000000000000 in ?? ()
shows it can not identify the function it was in. this often times means memory corruption, if it indeed in memory corruption, it is possible the backtrace is completely incorrect. this kind of problem can be very hard to track down.
Reply With Quote
  #5  
Old 01-05-2010, 05:48 AM
OscarGrouch05
Sarnak
 
Join Date: Apr 2008
Posts: 71
Default

make sure you have all the zone files in the map dir under eqemu..
it's telling mobs can't argo you because you are missing files
under the map dir or other files in your eq dir to go with the zone
your in. that should solve this problem.
Reply With Quote
  #6  
Old 01-05-2010, 07:29 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,450
Default

Quote:
Originally Posted by OscarGrouch05 View Post
make sure you have all the zone files in the map dir under eqemu..
it's telling mobs can't argo you because you are missing files
under the map dir or other files in your eq dir to go with the zone
your in. that should solve this problem.
Memory corruption has no relation to .map files. Trust me on this, if it's truely memory corruption, then it's going to be a completely different issue than what the coredump is getting at, most of the time.
Reply With Quote
  #7  
Old 01-05-2010, 07:50 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

PEQ has seen this exact crash for years, and others very similar to it also calling Mob::CheckWillAggro. So you aren't alone Mort. However, in our case it's a once weekly thing and not as common as you're seeing. Derision's latest commit might actually help this some, the crash he corrected is in the same realm. Though, he worked with quest::depopall, and this crash has been happening to PEQ before that function even went in.
Reply With Quote
  #8  
Old 01-06-2010, 06:14 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

For this particular crash, you can find out what zone it occured in by executing:
Code:
gdb ./zone <core file name>
<snip>
(gdb) frame 6
#6  0x0810bc19 in main (argc=142145976, argv=0x9) at net.cpp:473
473                                             if(net.group_timer.Enabled() && net.group_timer.Check())
(gdb) print zone->short_name
$1 = 0x8431068 "potactics"
(gdb) frame 1
(gdb) print name
<should print client name involved in crash>
(gdb) print iOther->name
<should print mob name in involved in crash>
If the zone and mob name are fairly consistent, it may give you somewhere to concentrate on, e.g. any quest .pl files that mob is involved in.
Reply With Quote
  #9  
Old 01-11-2010, 01:43 AM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

Ok this is what i got back for one of the crashes

Code:
Core was generated by `./zone kerraridge'.
Program terminated with signal 11, Segmentation fault.
[New process 13604]
[New process 13609]
[New process 13608]
[New process 13607]
[New process 13606]
#0  0x0000000000000000 in ?? ()
(gdb) frame 6
#6  0x00000000005d1c6c in main (argc=2, argv=0x7fff12106dc8) at net.cpp:494
494                                             entity_list.MobProcess();
(gdb) print zone->short_name
$1 = 0x233df00 "kerraridge"
(gdb) frame 1
#1  0x000000000060abf1 in Client::GetReverseFactionCon (this=0x3088740,
    iOther=0x2aafa20) at faction.cpp:180
180             if (iOther->GetPrimaryFaction() < 0)
(gdb) print name
$2 = "Muffinbut", '\0' <repeats 54 times>
(gdb) print iOther->name
$3 = "Harry\000e", '\0' <repeats 56 times>
Alright well Muffinbut is his main char and Harry is his Alt..
Reply With Quote
  #10  
Old 01-11-2010, 09:05 AM
OscarGrouch05
Sarnak
 
Join Date: Apr 2008
Posts: 71
Default

what it's telling me is that you are not seeing the faction hits message
and when you con the mob it's should tell you if your friend or foe.
like i stated before missing files this could fall on the server side not the
client.

you read books i read machine language!
Reply With Quote
  #11  
Old 01-11-2010, 04:11 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

No i don't read books

But anyway what I did last night was cleaned up all of our Useless factions and faction_entries there was a ton of them not even in use and I haven't seen this crash since then.. I hope that I fixed it doing this but not posative..

As for the maps thing I will have to check into that but i'm pretty sure we are all caught up on all the maps..

Does some one have a direct SVN addy for me to download all the maps ?
Reply With Quote
  #12  
Old 01-11-2010, 05:02 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

http://code.google.com/p/eqemumaps/source/checkout

or http://eqemumaps.googlecode.com/svn/trunk/
Reply With Quote
  #13  
Old 01-15-2010, 04:34 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

Alright well this was the latest drop.. I took out all un-needed factions in the game and found a fairly large reduction in the crashes but still...

Code:
Core was generated by `./zone kerraridge'.
Program terminated with signal 11, Segmentation fault.
[New process 5126]
[New process 5131]
[New process 5130]
[New process 5129]
[New process 5128]
#0  0x00000000008df0d6 in typeinfo name for Entity ()
(gdb) bt
#0  0x00000000008df0d6 in typeinfo name for Entity ()
#1  0x000000000060abf1 in Client::GetReverseFactionCon (this=0x7feab85bb4b0,
    iOther=0x2921ce0) at faction.cpp:180
#2  0x0000000000718dd6 in Mob::CheckWillAggro (this=0x7feab8613280,
    mob=0x7feab85bb4b0) at aggro.cpp:312
#3  0x0000000000719042 in EntityList::CheckClientAggro (this=0xbdcfa0,
    around=0x7feab85bb4b0) at aggro.cpp:45
#4  0x00000000005c1156 in Client::Process (this=0x7feab85bb4b0)
    at client_process.cpp:672
#5  0x0000000000585ff0 in EntityList::MobProcess (this=0xbdcfa0)
    at entity.cpp:487
#6  0x00000000005d1c6c in main (argc=2, argv=0x7fffca4220e8) at net.cpp:494
(gdb) frame 6
#6  0x00000000005d1c6c in main (argc=2, argv=0x7fffca4220e8) at net.cpp:494
494                                             entity_list.MobProcess();
(gdb) print zone->short_name
$1 = 0x22857e0 "kerraridge"
(gdb) frame 1
#1  0x000000000060abf1 in Client::GetReverseFactionCon (this=0x7feab85bb4b0,
    iOther=0x2921ce0) at faction.cpp:180
180             if (iOther->GetPrimaryFaction() < 0)
(gdb) print name
$2 = "Caesar", '\0' <repeats 57 times>
(gdb) print iOther->name
$3 = "Sand\000me", '\0' <repeats 56 times>
(gdb)
Caesar is a player, and so is Sand ...
Reply With Quote
  #14  
Old 01-15-2010, 05:03 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

This makes no sense to me. If we consider frame 3
Code:
#3  0x0000000000719042 in EntityList::CheckClientAggro (this=0xbdcfa0,
    around=0x7feab85bb4b0) at aggro.cpp:45
This is the code from aggro.cpp around that line:
Code:
  39         for(iterator.Reset(); iterator.MoreElements(); iterator.Advance()) {
  40                 _ZP(EntityList_CheckClientAggro_Loop);
  41                 Mob* mob = iterator.GetData();
  42                 if(mob->IsClient())     //also ensures that mob != around
  43                         continue;
  44
  45                 if(mob->CheckWillAggro(around)) {
So in your backtrace, mob->CheckWillAggro is called at line 45, but you are saying that both mobs involved are players, but line 42 checks if mob is a client and will skip line 45 and move on to the next mob if that is the case.

Strange.

I note that both the BTs you posted are for kerraridge. Do all the crashes happen there ?

Have you talked to the players involved in the crashes to see what they were doing at the time the zone crashed ?

Last edited by Derision; 01-15-2010 at 05:13 PM..
Reply With Quote
  #15  
Old 01-15-2010, 06:09 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Could this be due to players being charmed there by chance?
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

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 07:11 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3