Death causes LD, corpse loss, and zone segfault
Every time a character dies on my server it causes the zone to crash, the character comes back into the game in the same zone near where they died, naked and without a corpse.
/var/log/messages shows this almost instantly upon character death: Code:
Mar 14 11:49:59 eqsrv kernel: zone[14527]: segfault at 87c9000 ip 0815ac0e sp bfd2f78c error 4 in zone[8048000+319000] Months back when I originally updated to 1038 I did not have this issue, so I am thinking that a system update may have been the culprit. I run gentoo x86 and update on a weekly basis. The machine only has what is necessary to run eqemu since it is a dedicated server. |
is there a difference between a character dying with bots and without bots?
what other logging messages do you have, like from /eqemu/logs/ ? |
No difference I have compiled the server with bots enabled and without. As soon as a character dies either way the zone segfaults.
the error logs don't show anything, I just found the one in /var/log/messages. I compile up a server again and pastebin some of my logs. |
Ok this test run was with a clean peq 1265 db. And svn rev 1265 compiled w/out bots.
Created a new character, loaded into glooming deep and attacked the first NPC I could find. Died and went LD. /var/log/messages: Code:
[/CMar 14 15:46:18 cronic kernel: zone[14518]: segfault at 88e5000 ip 0815abee sp bfdb8d2c error 4 in zone[8048000+319000] eqemu_world.log: http://dpaste.com/171904/ eqemu_zone.log: http://dpaste.com/171906/ eqemu_error_zone.log http://dpaste.com/171907/ eqemu_error_world.log http://dpaste.com/171909/ the tail of eqemu_debug_world.log since it was to large to paste and just had the normal world boot stuff. Code:
14505 [03.14. - 15:45:38] [WORLD__CLIENT] testuser: Character creation request from testuser LS#1 (192.168.42.30:48392) : Code:
14553 [03.14. - 15:46:29] [ZONE__INIT] Entering sleep mode Code:
[Debug] [ZONE__INIT] Loaded default rule set 'default' |
Also to note I have gone as far as trying different versions of mysql as well as deleting my .ccache directory before building.
|
for anyone that may care the world file for my gentoo eqemu server. These and the packages that these depend on are all that is isntalled on this system besides the eqemu server. Everything installed on the system is at the current stable version as of 3/12/2010.
Code:
app-admin/logrotate Code:
#NTP Code:
# These settings were set by the catalyst build script that automatically |
The first step in diagnosing a segfault in Linux is to enable core dumps in the shell in which you start eqlaunch:
Code:
ulimit -c unlimited Fire up gdb: Code:
gdb <path to zone executable> <core file name> Code:
(gdb) bt |
the core dump:
Code:
gdb zone core |
It appears to be crashing in the assembler in common/crc32.cpp.
Maybe a GCC version related issue (I use 4.1.1 without issue). A quick thing to try rather than downgrading your GCC version would be to edit common/crc32.cpp and change line 175 from: Code:
#elif defined(i386) Code:
#elif defined(i386xxx) |
Using sys-devel/gcc-4.3.4 . I will try that change and post my results.
|
I had to make some changes to get the old VZTZ source to work in Linux. I'm not sure what revision their source was based on but I ended up scrapping it for 8.0. Here's one of the things I had to change to get it to work with newer gcc versions:
Code:
vztzfebsource-read-only/common$ svn diff crc32.cpp |
This worked!
Quote:
|
All times are GMT -4. The time now is 10:30 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.