Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Глюк ТВ (https://forum.zone-game.info/showthread.php?t=44762)

Rork 29.11.2021 17:49

Глюк ТВ
 
Помогите решить проблему с глюком битв за земли. Добра всем
вот ошибка:
Свернуть ↑Развернуть ↓

Rosterik 13.01.2022 07:38

Re: Глюк ТВ
 
В чем именно глюк?

partyzan 14.01.2022 10:33

Re: Глюк ТВ
 
Все написано какие ошибки и строчки открываешь скрипт и правишь, если все сложно с явой то плати, плюс опиши в че проблема.

flopix 14.01.2022 22:17

Re: Глюк ТВ
 
ConcurrentModificationException попытка изменить список без поддержки многопоточности одновременно более чем из одного потока.

Используйте потокобезопасную версию списка или лучше используйте синхронизацию.

vetal.lebed 16.01.2022 01:16

Re: Глюк ТВ
 
Цитата:

Сообщение от flopix (Сообщение 437205)
ConcurrentModificationException попытка изменить список без поддержки многопоточности одновременно более чем из одного потока.

Используйте потокобезопасную версию списка или лучше используйте синхронизацию.

Глупость.. Многопоточнусть утт не причем.
Типичная ошибка итерации в Foreach'ом и модификации той же коллекции..

Для решения проблемы всего-то нужно использовать Iterator

flopix 22.01.2022 16:41

Re: Глюк ТВ
 
Цитата:

Сообщение от vetal.lebed (Сообщение 437207)
Глупость.. Многопоточнусть утт не причем.
Типичная ошибка итерации в Foreach'ом и модификации той же коллекции..

Для решения проблемы всего-то нужно использовать Iterator

Вовсе не обязательно. Ошибка значит ровно одно - коллекция была изменена во время итерации. А сделано это внутри нашего цикла или где то в другом потоке это не важно.
Мы не видим проблемный код и можем только гадать.

Вот пример такого же исключения:
Цитата:

java.util.ConcurrentModificationException
at l2open.util.GArray$Itr.checkForComodification(GArr ay.java:338)
at l2open.util.GArray$Itr.next(GArray.java:300)
at ai.FreyaStand.onEvtAttacked(FreyaStand.java:192)
at l2open.gameserver.ai.AbstractAI.notifyEvent(Abstra ctAI.java:128)
at l2open.gameserver.ai.AbstractAI.notifyEvent(Abstra ctAI.java:111)
at ....l2open.gameserver.model.L2Character.onHitTimer (L2Character.java:2860)

Вот цикл где бросило ConcurrentModificationException
PHP код:

192:            for(L2NpcInstance minion _minionsList)
193:                attacker.addDamageHate(minion01000); 

Тоже переделать под итератор? Где тут в этих 2 строках изменяется _minionsList ?


Текущее время: 05:25. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot