Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Game-Server crash #3285

Closed
2 tasks done
ymkc opened this issue Jul 17, 2016 · 4 comments
Closed
2 tasks done

Game-Server crash #3285

ymkc opened this issue Jul 17, 2016 · 4 comments

Comments

@ymkc
Copy link
Contributor

ymkc commented Jul 17, 2016

I have:

Client Version (type /ver in game) :
30160427_0

Server Version (type @revision in game) :
31a78e2

Source Branch (master/stable) :
master

Additional Information (Steps to reproduce/Expected behavior) :
If compiled (clean master, gcc 6.1.1, linux i386) with the pettp fix,
the game crashes on certain zones on zoning in.
Dropping the commit resolves the issue, backtrace:

...
Program terminated with signal SIGABRT, Aborted.
#0 0xf7724d70 in __kernel_vsyscall ()

(gdb) bt
#0 0xf7724d70 in __kernel_vsyscall ()
#1 0xf6ef4c19 in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0xf6ef6117 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0xf6eedbd7 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4 0xf6eedc5b in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5 0x0807e1e2 in zmq::context_t::~context_t (this=0x81afae4 message::zContext, __in_chrg=) at /usr/include/zmq.hpp:406
#6 0xf6ef7683 in ?? () from /lib/i386-linux-gnu/libc.so.6
#7 0xf6ef76df in exit () from /lib/i386-linux-gnu/libc.so.6
#8 0x080ce969 in do_final (code=1) at src/map/map.cpp:289
#9 0x080ce98d in do_abort () at src/map/map.cpp:300
#10 0x0805b415 in sig_proc (sn=11) at src/common/kernel.cpp:105
#11
#12 0x08089eaf in __gnu_cxx::new_allocator<CBasicPacket*>::construct<CBasicPacket*<CBasicPacket* const&> > (__p=0x4, this=0xbddcd3c) at /usr/include/c++/6/ext/new_allocator.h:120
#13 std::allocator_traitsstd::allocator<CBasicPacket* >::construct<CBasicPacket*<CBasicPacket* const&> > (__p=0x4, __a=...) at /usr/include/c++/6/bits/alloc_traits.h:455
#14 std::deque<CBasicPacket*, std::allocator<CBasicPacket*> >::push_back (__x=, this=0xbddcd3c) at /usr/include/c++/6/bits/stl_deque.h:1522
#15 CCharEntity::pushPacket (this=0xbddb988, packet=0xd5959a8) at src/map/entities/charentity.cpp:242
#16 0x080924f0 in CMobEntity::PostTick (this=0xbddc8b8) at src/map/entities/mobentity.cpp:511
#17 0x080649d2 in CAIContainer::Tick (this=0xbddd218, _tick=...) at src/map/ai/ai_container.cpp:345
#18 0x0814184e in CZoneEntities::ZoneServer (this=0x929d910, tick=...) at src/map/zone_entities.cpp:946
#19 0x0813c91c in CZone::ZoneServer (this=0x929d878, tick=...) at src/map/zone.cpp:779
#20 0x0813c628 in zone_server (tick=..., PTask=0xb823ee8) at src/map/zone.cpp:83
#21 0x08060e38 in CTaskMgr::DoTimer (this=0x92077b0, tick=...) at src/common/taskmgr.cpp:71
#22 0x0804d3ae in main (argc=, argv=) at src/common/kernel.cpp:251

@HeavensSword
Copy link
Contributor

HeavensSword commented Jul 18, 2016

Could you list a few of the zones that you are seeing this issue occur in? I'll see if i can debug tonight.
If i had to take a guess, it may be a zone with BST mobs in which case i may just need an extra check on PMaster.

@teschnei
Copy link
Contributor

it wouldn't be zone specific - looks to me like PMaster was deleted before
being set to null, but I haven't looked into it yet (for a charmed mob, of
course)

On Sun, Jul 17, 2016 at 8:13 PM, Anthony notifications@github.com wrote:

Could you list a few of the zones that you are seeing this issue occur in?
I'll see if i can debug tonight.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#3285 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABGI_xnF4krqBOirAaKj0Kp8jPA812o_ks5qWuFLgaJpZM4JONgW
.

@HeavensSword
Copy link
Contributor

I was able to get rid of the crash by adding this check:
PMaster->objtype == TYPE_PC

It was probably failing when trying to cast a mobentity to a charentity and push the PetSyncPacket.

@teschnei
Copy link
Contributor

oh, I didn't even notice that - thanks

On Mon, Jul 18, 2016 at 9:21 PM, Anthony notifications@github.com wrote:

I was able to get rid of the crash by adding this check:
PMaster->objtype == TYPE_PC

It was probably failing when trying to cast a mobentity to a charentity
and push the PetSyncPacket.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#3285 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABGI_-RYOeXfgU9Yc9qeTkvdWTNs9RRzks5qXELTgaJpZM4JONgW
.

kjl2y pushed a commit to kjl2y/darkstar that referenced this issue Aug 4, 2016
kjl2y added a commit to kjl2y/darkstar that referenced this issue Aug 4, 2016
# The first commit's message is:
# This is a combination of 2 commits.
# The first commit's message is:

# This is a combination of 44 commits.
# The first commit's message is:
# This is a combination of 3 commits.
# The first commit's message is:
fix for 15-character names and broken tells

# The 2nd commit message will be skipped:

#	Fix for the Norg NPC Fouvia the wyvern re-namer. It seemed that her base dialog ID was off causing her to display dialog from another NPC.

# The 3rd commit message will be skipped:

#	Fix an issue where RoZ missions would reset to beginning.

# The 2nd commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 3rd commit message will be skipped:

#	Removing FAME_AREA constants

# The 4th commit message will be skipped:

#	Fixed a missing objtype check
#
#	Fixes DarkstarProject#3285

# The 5th commit message will be skipped:

#	Implement Auction House fees

# The 6th commit message will be skipped:

#	Correct some small mob issues

# The 7th commit message will be skipped:

#	Minor documentation update in char_stats

# The 8th commit message will be skipped:

#	Created new mob mod 'MOBMOD_MULTI_HIT' for specifying if a mob has the capability of attacking more than once per round. e.g. Charybdis.

# The 9th commit message will be skipped:

#	Adjusted available NPC's on widescan

# The 10th commit message will be skipped:

#	Fix typo in Lobison mob's lua

# The 11th commit message will be skipped:

#	Move MOBMOD_IDLE_DESPAWN to seconds

# The 12th commit message will be skipped:

#	Added getFreeSlotsCount check to the quest Past Perfect & CoP 8-1/Gate of the Gods

# The 13th commit message will be skipped:

#	PROJECT: Transparent icons
#	(Thank you Tom_Neverwinter & Wykstrom)

# The 14th commit message will be skipped:

#	Unset day of the week bonus/penalty for crafting.
#
#	Confirmation from the FFXI AMA: https://www.reddit.com/r/ffxi/comments/4ulgh1/official_ffxi_developer_ama_with_producer_akihiko/d5qp5k5

# The 15th commit message will be skipped:

#	Added a subjob check to mobutils::SetupJob

# The 16th commit message will be skipped:

#	Updated TP formula

# The 17th commit message will be skipped:

#	Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated.
#
#	I cannot guarantee that the automation didn't mangle the human readability of a line or two someplace, but I did make sure the console log was clean of errors after.
#
#	Also, during this process a great many script errors were spotted. Most incidents were missing requires in quest scripts and these are now corrected.
#
#	Reasoning:
#	Many modern sites and services use the AT symbol (`@`) to direct messages to users, including the service currently hosting our repository. Someone unfamiliar with this (or simply doesn't consider it or doesn't care) can easily create situations where persons not involved in the project could be spammed.

# The 18th commit message will be skipped:

#	Revert "Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated."
#
#	This reverts commit 88c2a81.

# The 19th commit message will be skipped:

#	Fixed issue where Firaja's multiplier was incorrectly set to 1.0 instead of 2.3

# The 20th commit message will be skipped:

#	For gcc < 5.1, proposal N3922 has not been adopted.  auto{x} is deduced to type initializer_list rather than the type of x.  See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html

# The 21st commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 22nd commit message will be skipped:

#	Removing FAME_AREA constants

# The 23rd commit message will be skipped:

#	Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated.
#
#	I cannot guarantee that the automation didn't mangle the human readability of a line or two someplace, but I did make sure the console log was clean of errors after.
#
#	Also, during this process a great many script errors were spotted. Most incidents were missing requires in quest scripts and these are now corrected.
#
#	Reasoning:
#	Many modern sites and services use the AT symbol (`@`) to direct messages to users, including the service currently hosting our repository. Someone unfamiliar with this (or simply doesn't consider it or doesn't care) can easily create situations where persons not involved in the project could be spammed.

# The 24th commit message will be skipped:

#	Revert "Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated."
#
#	This reverts commit 88c2a81.

# The 25th commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 26th commit message will be skipped:

#	Removing FAME_AREA constants

# The 27th commit message will be skipped:

#	Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated.
#
#	I cannot guarantee that the automation didn't mangle the human readability of a line or two someplace, but I did make sure the console log was clean of errors after.
#
#	Also, during this process a great many script errors were spotted. Most incidents were missing requires in quest scripts and these are now corrected.
#
#	Reasoning:
#	Many modern sites and services use the AT symbol (`@`) to direct messages to users, including the service currently hosting our repository. Someone unfamiliar with this (or simply doesn't consider it or doesn't care) can easily create situations where persons not involved in the project could be spammed.

# The 28th commit message will be skipped:

#	crap

# The 29th commit message will be skipped:

#	Revert "Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated."
#
#	This reverts commit 88c2a81.

# The 30th commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 31st commit message will be skipped:

#	Removing FAME_AREA constants

# The 32nd commit message will be skipped:

#	Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated.
#
#	I cannot guarantee that the automation didn't mangle the human readability of a line or two someplace, but I did make sure the console log was clean of errors after.
#
#	Also, during this process a great many script errors were spotted. Most incidents were missing requires in quest scripts and these are now corrected.
#
#	Reasoning:
#	Many modern sites and services use the AT symbol (`@`) to direct messages to users, including the service currently hosting our repository. Someone unfamiliar with this (or simply doesn't consider it or doesn't care) can easily create situations where persons not involved in the project could be spammed.

# The 33rd commit message will be skipped:

#	Revert "Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated."
#
#	This reverts commit 88c2a81.

# The 34th commit message will be skipped:

#	For gcc < 5.1, proposal N3922 has not been adopted.  auto{x} is deduced to type initializer_list rather than the type of x.  See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html

# The 35th commit message will be skipped:

#	fix for 15-character names and broken tells

# The 36th commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 37th commit message will be skipped:

#	Removing FAME_AREA constants

# The 38th commit message will be skipped:

#	Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated.
#
#	I cannot guarantee that the automation didn't mangle the human readability of a line or two someplace, but I did make sure the console log was clean of errors after.
#
#	Also, during this process a great many script errors were spotted. Most incidents were missing requires in quest scripts and these are now corrected.
#
#	Reasoning:
#	Many modern sites and services use the AT symbol (`@`) to direct messages to users, including the service currently hosting our repository. Someone unfamiliar with this (or simply doesn't consider it or doesn't care) can easily create situations where persons not involved in the project could be spammed.

# The 39th commit message will be skipped:

#	crap

# The 40th commit message will be skipped:

#	Revert "Deprecated `@` symbol use in GM commands. It still works for now alongside its replacement `$` and all documentation has been updated."
#
#	This reverts commit 88c2a81.

# The 41st commit message will be skipped:

#	Adjusted available NPC's on widescan

# The 42nd commit message will be skipped:

#	Fame for Abyssea and Adoulin

# The 43rd commit message will be skipped:

#	Removing FAME_AREA constants

# The 44th commit message will be skipped:

#	Fix for the Norg NPC Fouvia the wyvern re-namer. It seemed that her base dialog ID was off causing her to display dialog from another NPC.

# The 2nd commit message will be skipped:

#	Fix an issue where RoZ missions would reset to beginning.

# The 2nd commit message will be skipped:

#	Correct some small mob issues

# The 3rd commit message will be skipped:

#	Fixed a missing objtype check
#
#	Fixes DarkstarProject#3285

# The 4th commit message will be skipped:

#	Created new mob mod 'MOBMOD_MULTI_HIT' for specifying if a mob has the capability of attacking more than once per round. e.g. Charybdis.

# The 5th commit message will be skipped:

#	Minor documentation update in char_stats

# The 6th commit message will be skipped:

#	Fix typo in Lobison mob's lua

# The 7th commit message will be skipped:

#	Move MOBMOD_IDLE_DESPAWN to seconds

# The 8th commit message will be skipped:

#	Added getFreeSlotsCount check to the quest Past Perfect & CoP 8-1/Gate of the Gods

# The 9th commit message will be skipped:

#	PROJECT: Transparent icons
#	(Thank you Tom_Neverwinter & Wykstrom)

# The 10th commit message will be skipped:

#	Added a subjob check to mobutils::SetupJob
Fiocitrine pushed a commit to Fiocitrine/darkstar that referenced this issue Oct 29, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants