Перейти к содержанию
Авторизация  
pvpgate

Падает логин (BufferUnderflowException)

Рекомендуемые сообщения

Всем привет, очень давно мучает проблема, но никак не доходили руки.
Сборка овероподобная
Время от времени падает логин сервер
Ошибка:
 

[15:45:50]  INFO Trying to register gameserver: 16 [127.0.0.1]
[15:45:50]  INFO Gameserver registration successful.
[23:25:35] ERROR 
java.nio.BufferUnderflowException
	at java.nio.Buffer.nextGetIndex(Buffer.java:506)
	at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361)
	at core.commons.net.nio.ReceivablePacket.readD(ReceivablePacket.java:32)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.readImpl(AuthRequest.java:37)
	at core.loginserver.network.gameservercon.ReceivablePacket.read(ReceivablePacket.java:48)
	at core.loginserver.network.gameservercon.GameServerCommunication.tryReadPacket(GameServerCommunication.java:191)
	at core.loginserver.network.gameservercon.GameServerCommunication.read(GameServerCommunication.java:156)
	at core.loginserver.network.gameservercon.GameServerCommunication.run(GameServerCommunication.java:95)
[23:25:35]  INFO Trying to register gameserver: 0 [193.142.146.216]
[23:25:35] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.setExternalHost(GameServer.java:96)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.runImpl(AuthRequest.java:74)
	at core.loginserver.network.gameservercon.ReceivablePacket.run(ReceivablePacket.java:62)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[23:25:45] ERROR Gameserver I/O error: Connection reset by peer
[23:52:12] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.getPort(GameServer.java:109)
	at core.loginserver.network.serverpackets.ServerList.<init>(ServerList.java:91)
	at core.loginserver.network.clientpackets.RequestServerList.runImpl(RequestServerList.java:50)
	at core.loginserver.network.clientpackets.L2LoginClientPacket.run(L2LoginClientPacket.java:33)
	at core.commons.lang.ExecutableQueue.run(ExecutableQueue.java:52)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Почитал форумы, ничего толкового не нашел, ответчики часто ссылались на возможный ДДОС, что в моем случае почти наверняка исключено, проблема всплывала даже на закрытых тестах, когда о сервере никто не знал. 
Происходит с рандомно от раза в неделю до нескольких раз в день. После рестарта логин сервера все в порядке, но через некоторое время опять падает. Как-то связать с событиями на гейм сервере не получается. Насколько я понял проблема стандартная с овероподобными сборками. Подскажите в какую сторону копать, плз
Спасибо за ответы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не сталкивался с оверами  но попробуй для начало нормально выделять оперативки Логину

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, pvpgate сказал:

Всем привет, очень давно мучает проблема, но никак не доходили руки.
Сборка овероподобная
Время от времени падает логин сервер
Ошибка:
 


[15:45:50]  INFO Trying to register gameserver: 16 [127.0.0.1]
[15:45:50]  INFO Gameserver registration successful.
[23:25:35] ERROR 
java.nio.BufferUnderflowException
	at java.nio.Buffer.nextGetIndex(Buffer.java:506)
	at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361)
	at core.commons.net.nio.ReceivablePacket.readD(ReceivablePacket.java:32)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.readImpl(AuthRequest.java:37)
	at core.loginserver.network.gameservercon.ReceivablePacket.read(ReceivablePacket.java:48)
	at core.loginserver.network.gameservercon.GameServerCommunication.tryReadPacket(GameServerCommunication.java:191)
	at core.loginserver.network.gameservercon.GameServerCommunication.read(GameServerCommunication.java:156)
	at core.loginserver.network.gameservercon.GameServerCommunication.run(GameServerCommunication.java:95)
[23:25:35]  INFO Trying to register gameserver: 0 [193.142.146.216]
[23:25:35] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.setExternalHost(GameServer.java:96)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.runImpl(AuthRequest.java:74)
	at core.loginserver.network.gameservercon.ReceivablePacket.run(ReceivablePacket.java:62)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[23:25:45] ERROR Gameserver I/O error: Connection reset by peer
[23:52:12] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.getPort(GameServer.java:109)
	at core.loginserver.network.serverpackets.ServerList.<init>(ServerList.java:91)
	at core.loginserver.network.clientpackets.RequestServerList.runImpl(RequestServerList.java:50)
	at core.loginserver.network.clientpackets.L2LoginClientPacket.run(L2LoginClientPacket.java:33)
	at core.commons.lang.ExecutableQueue.run(ExecutableQueue.java:52)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Почитал форумы, ничего толкового не нашел, ответчики часто ссылались на возможный ДДОС, что в моем случае почти наверняка исключено, проблема всплывала даже на закрытых тестах, когда о сервере никто не знал. 
Происходит с рандомно от раза в неделю до нескольких раз в день. После рестарта логин сервера все в порядке, но через некоторое время опять падает. Как-то связать с событиями на гейм сервере не получается. Насколько я понял проблема стандартная с овероподобными сборками. Подскажите в какую сторону копать, плз
Спасибо за ответы

выстави в конфиге рестарт логина, каждый час ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

посмотри параметры

setMaximumPoolSize

setIdleTimeout

setConnectionTimeout

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, pvpgate сказал:

Всем привет, очень давно мучает проблема, но никак не доходили руки.
Сборка овероподобная
Время от времени падает логин сервер
Ошибка:
 


[15:45:50]  INFO Trying to register gameserver: 16 [127.0.0.1]
[15:45:50]  INFO Gameserver registration successful.
[23:25:35] ERROR 
java.nio.BufferUnderflowException
	at java.nio.Buffer.nextGetIndex(Buffer.java:506)
	at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361)
	at core.commons.net.nio.ReceivablePacket.readD(ReceivablePacket.java:32)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.readImpl(AuthRequest.java:37)
	at core.loginserver.network.gameservercon.ReceivablePacket.read(ReceivablePacket.java:48)
	at core.loginserver.network.gameservercon.GameServerCommunication.tryReadPacket(GameServerCommunication.java:191)
	at core.loginserver.network.gameservercon.GameServerCommunication.read(GameServerCommunication.java:156)
	at core.loginserver.network.gameservercon.GameServerCommunication.run(GameServerCommunication.java:95)
[23:25:35]  INFO Trying to register gameserver: 0 [193.142.146.216]
[23:25:35] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.setExternalHost(GameServer.java:96)
	at core.loginserver.network.gameservercon.gspackets.AuthRequest.runImpl(AuthRequest.java:74)
	at core.loginserver.network.gameservercon.ReceivablePacket.run(ReceivablePacket.java:62)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[23:25:45] ERROR Gameserver I/O error: Connection reset by peer
[23:52:12] ERROR 
java.lang.NullPointerException
	at core.loginserver.network.gameservercon.GameServer.getPort(GameServer.java:109)
	at core.loginserver.network.serverpackets.ServerList.<init>(ServerList.java:91)
	at core.loginserver.network.clientpackets.RequestServerList.runImpl(RequestServerList.java:50)
	at core.loginserver.network.clientpackets.L2LoginClientPacket.run(L2LoginClientPacket.java:33)
	at core.commons.lang.ExecutableQueue.run(ExecutableQueue.java:52)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Почитал форумы, ничего толкового не нашел, ответчики часто ссылались на возможный ДДОС, что в моем случае почти наверняка исключено, проблема всплывала даже на закрытых тестах, когда о сервере никто не знал. 
Происходит с рандомно от раза в неделю до нескольких раз в день. После рестарта логин сервера все в порядке, но через некоторое время опять падает. Как-то связать с событиями на гейм сервере не получается. Насколько я понял проблема стандартная с овероподобными сборками. Подскажите в какую сторону копать, плз
Спасибо за ответы

тут проблема у тебя из за старый остаток жабы 1.5-1.7 смотри в сторону в io буффера по идей надо перепилить все это плюс к нему надо еще крон тоже перепилить 

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 11.02.2021 в 14:27, PrizraKZN2000 сказал:

тут проблема у тебя из за старый остаток жабы 1.5-1.7 смотри в сторону в io буффера по идей надо перепилить все это плюс к нему надо еще крон тоже перепилить 

у меня похожая проблема = код надо обновить? Я думал что политики Java "однажды написанный код будет работать всегда" действует.  Неужели совместимость версий уже в прошлом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вроде ж понятно из ошибки, что размер данных не соответствует ожидаемому, т.е. как вариант в каких-то условиях приходит кривой пакет AuthRequest

Так что только изучать, что конкретно криво приходит - завернуть к примеру этот фрагмент кода, в котором происходит ошибка (содержимое метода readImpl класса AuthRequest), дополнительно в try/catch и в случае появления ошибки выводить в catch в лог к примеру полностью дамп пришедших данных. после чего изучать и думать.

Изменено пользователем Gaikotsu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

интересное кино. та же проблема. 3 месяца серв работал исправно . и вылетов логина замечано не было а тут посыпалось раз в день  как минимум. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
49 минут назад, lexxx3 сказал:

интересное кино. та же проблема. 3 месяца серв работал исправно . и вылетов логина замечано не было а тут посыпалось раз в день  как минимум. 

Люся ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, ammy сказал:

Люся ?

Самое смешное если реально нет проверки на корявые данные. Таким методом можно положить логин ....... написать скриптик и досвидоc

Изменено пользователем gawric

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, gawric сказал:

Самое смешное если реально нет проверки на корявые данные. Таким методом можно положить логин ....... написать скриптик и досвидоc

Проблема в остатках старой явы как писали выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...