Exception in thread "AISTPool-5" java.lang.StackOverflowError
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.startWaterTask(L2PcInstance.java:9109)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.checkWaterState(L2PcInstance.java:9122)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.revalidateZone(L2PcInstance.java:1540)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:626)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586)
at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819)
at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538)
at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494)
at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877)
at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586)
at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819)
at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538)
at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494)
at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877)
at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373)
at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296)
and 100 same error like last block
L2Character.java:3586 i marked it with plus "+"
....
if (offset > 0 || distance < 1)
{
// approximation for moving closer when z coordinates are different
// TODO: handle Z axis movement better
offset -= Math.abs(dz);
if (offset < 5)
offset = 5;
// If no distance to go through, the movement is canceled
if (distance < 1 || distance - offset <= 0)
{
if (Config.DEBUG)
_log.fine("already in range, no movement needed.");
// Notify the AI that the L2Character is arrived at destination
+ getAI().notifyEvent(CtrlEvent.EVT_ARRIVED);
return;
}
....
L2Character.java:2819
public void moveTo(int x, int y, int z, int offset)
{
+ moveToLocation(x, y, z, offset);
}
AbstractAI.java:538
protected void moveTo(int x, int y, int z, int offset)
{
// Check if actor can move
if (_actor.isMovementDisabled())
{
_actor.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Set AI movement data
_clientMoving = true;
if (_accessor == null)
return;
// Calculate movement data for a move to location action and add the actor to
+ _accessor.moveTo(x, y, z, offset);
if (!_actor.isMoving())
{
_actor.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Send a Server->Client packet CharMoveToLocation to the actor and all L2PcInstance in
_actor.broadcastPacket(new MoveToLocation(_actor));
}
protected boolean maybeMoveToPawn(L2Object target, int offset)
{
if (target == null || offset < 0) // skill radius -1
return false;
offset += _actor.getTemplate().getCollisionRadius();
if (target instanceof L2Character)
offset += ((L2Character) target).getTemplate().getCollisionRadius();
if (!_actor.isInsideRadius(target, offset, false, false))
{
if (getFollowTarget() != null)
{
int foffset = offset + (((L2Character) target).isMoving() ? 100 : 0);
// allow larger hit range when the target is moving (check is run only once per second)
if (!_actor.isInsideRadius(target, foffset, false, false))
{
if (!_actor.isAttackingNow() || _actor instanceof L2Summon)
+ moveToPawn(target, offset);
return true;
}
stopFollow();
return false;
}
if (_actor.isMovementDisabled() && !(_actor instanceof L2Attackable))
{
if (getIntention() == CtrlIntention.ATTACK)
setIntention(CtrlIntention.IDLE);
return true;
}
// If not running, set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
if (!(this instanceof L2PlayerAI) && !(this instanceof L2SummonAI))
_actor.setRunning();
if ((target instanceof L2Character) && !(target instanceof L2DoorInstance))
startFollow((L2Character) target, offset);
else
{
// Move the actor to Pawn server side AND client side by sending Server->Client packet MoveToPawn (broadcast)
moveToPawn(target, offset);
}
return true;
}
stopFollow();
return false;
}
L2PlayerAI.java:235
private void thinkCast()
{
L2Character target = (L2Character) getTarget();
if (Config.DEBUG)
_log.warning("L2PlayerAI: thinkCast -> Start");
if (_skill.getTargetType() == SkillTargetType.TARGET_GROUND && _actor instanceof L2PcInstance)
{
if (maybeMoveToPosition(((L2PcInstance) _actor).getCurrentSkillWorldPosition(), _skill.getCastRange()))
{
_actor.setIsCastingNow(false);
return;
}
}
else
{
if (checkTargetLost(target))
{
// Notify the target
if (_skill.isOffensive() && getTarget() != null)
setTarget(null);
_actor.setIsCastingNow(false);
return;
}
+ if (target != null && maybeMoveToPawn(target, _skill.getCastRange()))
{
_actor.setIsCastingNow(false);
return;
}
}
L2PlayerAI.java:312
protected void onEvtThink()
{
// Check if the actor can't use skills and if a thinking action isn't already in progress
if (_thinking && getIntention() != CtrlIntention.CAST) // casting must always continue
return;
// Start thinking action
_thinking = true;
try
{
// Manage AI thoughts
switch (getIntention())
{
case ATTACK:
thinkAttack();
break;
case CAST:
+ thinkCast();
break;
case PICK_UP:
thinkPickUp();
break;
case INTERACT:
thinkInteract();
break;
}
}
finally
{
// Stop thinking action
_thinking = false;
}
}
L2CharacterAI.java:641
protected void onEvtArrived()
{
_accessor.getActor().revalidateZone(true);
if (_accessor.getActor().moveToNextRoutePoint())
return;
if (_accessor.getActor() instanceof L2Attackable)
((L2Attackable) _accessor.getActor()).setIsReturningToSpawnPoint(false);
clientStoppedMoving();
// If the Intention was MOVE_TO, set the Intention to ACTIVE
if (getIntention() == CtrlIntention.MOVE_TO)
setIntention(CtrlIntention.ACTIVE);
// Launch actions corresponding to the Event Think
+ onEvtThink();
}
AbstractAI.java:373
...
case EVT_ARRIVED:
if (!_actor.isCastingNow() && !_actor.isCastingSimultaneouslyNow())
+ onEvtArrived();
break;
...
AbstractAI.java:296
public final void notifyEvent(CtrlEvent evt)
{
+ notifyEvent(evt, null, null);
}
i get this error not only with startWaterTask i get and with others, and same error 14000 lines... one time per day.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Hello. You may encounter the Push item fail error when trying to pick up an item dropped on the ground by a mob.
or
You can throw something out of your inventory and pick it up again, several times.
Probably this is a quantum dependency) I don't understand at what point this happens, sometimes two items one after another experience push item errors, and sometimes I don't have enough thousands of attempts to repeat this trick)
In any case, this is just a visual error and after the relog, the item appears in the inventory. I think first i need to disconnect the extender and check it on a bare server. I still need time to check this, maybe it's not even about the autoloot function.
https://youtu.be/6mcfmdImofE
-----------
In general, I would like to thank our wonderful Emca Eressea for her deep knowledge in programming and reverse engineering. And for the fact that her work is open to everyone, this is very amazing, and incredibly valuable.
ADENA
500 K = 40e
1kk = 70e
3kk = 190e
ITEMS
staff of life = 150e
karmian set = 90e
elven jewls top D = 30e
Orcish Poleaxe+1 best C pole = 680e
any D grade armor on demand
discord
wiz0642_81242
Question
wongerlt
L2J aCis.
Error:
L2Character.java:3586 i marked it with plus "+"
L2Character.java:2819
AbstractAI.java:538
AbstractAI.java:494
L2CharacterAI.java:877
L2PlayerAI.java:235
L2PlayerAI.java:312
L2CharacterAI.java:641
AbstractAI.java:373
AbstractAI.java:296
i get this error not only with startWaterTask i get and with others, and same error 14000 lines... one time per day.
Maybe anyone know how to solve this problem?
23 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.