|
|
|
|
|
#1 |
|
Пользователь
Регистрация: 27.04.2015
Сообщений: 70
|
Просьба исправить ошибку в выделенном сервере. Ошибка была замечена не только в 4.13.3, но и в более ранних версиях.
Для повторения ошибки необходимо выполнить следующие действия. Берется стандартный выделенный сервер версии 4.13.3m. В файл server.cmd дописывается строчка "f user.cmd". Создается файл user.cmd следующего содержания: Код:
user timeout 1 f user.cmd Код:
[5:16:01 PM] >user [5:16:01 PM] N Name Ping Score Army Aircraft [5:16:01 PM] >timeout 1 f user.cmd [5:16:02 PM] >user [5:16:02 PM] java.lang.StackOverflowError [5:16:02 PM] at java.lang.String.compareTo(Unknown Source) [5:16:02 PM] at java.util.TreeMap.compare(Unknown Source) [5:16:02 PM] at java.util.TreeMap.getEntry(Unknown Source) [5:16:02 PM] at java.util.TreeMap.get(Unknown Source) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:374) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) [5:16:02 PM] at com.maddox.rts.CmdEnv.atom(CmdEnv.java:380) |
|
|
|
|
|
#2 | |||
|
Местный
Регистрация: 18.01.2012
Сообщений: 814
|
Ну не сильно я спец по серверам, но всёж.
В стандартном server.cmd так Цитата:
сам gs.cmd Цитата:
т.е. он как бы сам себя запускает с заданным интервалом. При его выполнение выполняются команды GC по очистке памяти (сборка мусора) За точное дефолтное значение периодичности не ручаюсь, не помню сколько там по-дефолту стояла цифра. т.е timeout 1 - это очень часто скрипт сам себя вызывает. И происходит ли при этом вызов стандартных команд сборки мусора? Т.е. происходит ли за время работы сервера вот подобные сообщения об очистке Цитата:
Последний раз редактировалось yt2; 14.02.2017 в 21:36. |
|||
|
|
|
|
|
#3 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Дёргать каждую миллисекунду сборщик мусора - это очень жестко для явы. Даже раз в минуту не особенно нужно, раз в десять минут вполне нормально для Ила даже при большом кол-ве людей на сервере и насыщенной карте.
Вообще, для Ила очень нехорошо часто вызывать скрипты и грузить консоль командами, особенно запрашивая стату и проч. объёмные вещи. Верный путь к переполнению стека. Не всё в движке потокобезопасное и не всё отвечает быстро, код сложный и местами не быстрый. Ещё надо не забывать, что RT у Ила древнючий, что тоже ситуацию не улучшает. |
|
|
|
|
|
#4 | |
|
Местный
Регистрация: 12.04.2009
Сообщений: 5,106
|
Цитата:
__________________
ищется идейный Программер ) |
|
|
|
|
|
|
#5 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
|
|
|
|
|
|
#6 | |
|
Пользователь
Регистрация: 27.04.2015
Сообщений: 70
|
Цитата:
Но почему эта ошибка не возникает при отправки тех же самых команд коммандером? |
|
|
|
|
|
|
#7 | |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Цитата:
В случае со скриптами надо смотреть что он делает. Вполне может быть так, что от что-то долгоиграющее дёргает, тяжелое. А может там просто рекурсия где-то получается, тоже очень похоже на это. |
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|