Решено Краш при входе игрока

Статус
Закрыто для дальнейших ответов.

GeraMelikyan

Активный участник
Пользователь
Баллы
63
Доброго времени суток, Товарищи!
Давно возникла такая проблема, какие-то разы решалась обновлением ядра, а сейчас что-то непонятное. Очень заинтересован в том, чтобы исправить, но даже не представляю, в чём дело.

Суть такая:
Человек входит на сервер в определённый чанк, сервер выключается. Любой, кто туда входит, вызывает краш. Что примечательно, никаких "краш-голов" там нет. Этот тип ошибки один раз решился обновлением ядра.
Но буквально сегодня появилась новая проблема, а текст ошибки тот же. Сервер по-прежнему выключается при входе определённого игрока, но тут дело именно в инвентаре этого игрока. Если удалить файл игрока, краш прекращается.

Полагаю, дело в каком-то определённом предмете, но как его исправить? Буду сильно благодарен, если кто-то поможет и скажет, в чём дело.

Список плагинов и ядро:
Spigot 1.11.2 (От 7 Марта).
8m9OZk9XdZA.jpg

wcrXDniIMjs.jpg

6o39qFypFU4.jpg

Логи ( Большой (1000 строк) и циклический набор строк):
[20:05:59] [Server thread/INFO]: Имя_Игрока[/xxx.xxx.xxx.xxxx:36300] logged in with entity id 35482 at ([world]-92.06361692907016, 205.80948674189204, -262.1973088086344)
[20:05:59] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.StackOverflowError
at net.minecraft.server.v1_11_R1.RegionFileCache.a(RegionFileCache.java:18) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkRegionLoader.chunkExists(ChunkRegionLoader.java:42) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:132) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAt(World.java:329) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAtWorldCoords(World.java:325) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getType(World.java:806) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.b(TileEntityChest.java:186) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.a(TileEntityChest.java:168) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.o(TileEntityChest.java:157) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.z(TileEntityChest.java:337) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:718) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:706) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkRegionLoader.loadEntities(ChunkRegionLoader.java:423) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:42) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:1) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:188) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.get(AsynchronousExecutor.java:164) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:334) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:137) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAt(World.java:329) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAtWorldCoords(World.java:325) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getType(World.java:806) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.b(TileEntityChest.java:186) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.a(TileEntityChest.java:168) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.o(TileEntityChest.java:157) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.z(TileEntityChest.java:337) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:718) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:706) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkRegionLoader.loadEntities(ChunkRegionLoader.java:423) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:42) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:1) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:188) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.get(AsynchronousExecutor.java:164) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:334) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:137) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAt(World.java:329) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAtWorldCoords(World.java:325) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getType(World.java:806) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.b(TileEntityChest.java:186) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.a(TileEntityChest.java:168) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.o(TileEntityChest.java:157) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.z(TileEntityChest.java:337) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:718) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:706) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkRegionLoader.loadEntities(ChunkRegionLoader.java:423) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:42) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:1) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:188) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor$Task.get(AsynchronousExecutor.java:164) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:334) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at org.bukkit.craftbukkit.v1_11_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:137) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAt(World.java:329) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getChunkAtWorldCoords(World.java:325) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.World.getType(World.java:806) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.b(TileEntityChest.java:186) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.a(TileEntityChest.java:168) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.o(TileEntityChest.java:157) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.TileEntityChest.z(TileEntityChest.java:337) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:718) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
at net.minecraft.server.v1_11_R1.Chunk.a(Chunk.java:706) ~[spigot.jar:git-Spigot-d4f98a3-cb61ac0]
 
"[Server thread/INFO]: Имя_Игрока[/xxx.xxx.xxx.xxxx:36300] logged in with entity id 35482 at ([world]-92.06361692907016, 205.80948674189204, -262.1973088086344)"

Суть в том, что игрок с данным ником вошёл в чанк (даны даже координаты: -92.06361692907016, 205.80948674189204, -262.1973088086344) с предметом, который имеет id 35482. Не знаю, где в ванильном мк такой предмет можно найти, конечно. Может, у тебя раньше было другое ядро, которое с модами работало? И у этого игрока остался блок из мода в инвентаре, вот он и крашит

Говоришь, циклически повторяешься? Оно будет повторяться несколько раз, потому что чанки прогружаются по радиусу.
В essentials удали userdat'у
 
"[Server thread/INFO]: Имя_Игрока[/xxx.xxx.xxx.xxxx:36300] logged in with entity id 35482 at ([world]-92.06361692907016, 205.80948674189204, -262.1973088086344)"

Суть в том, что игрок с данным ником вошёл в чанк (даны даже координаты: -92.06361692907016, 205.80948674189204, -262.1973088086344) с предметом, который имеет id 35482. Не знаю, где в ванильном мк такой предмет можно найти, конечно. Может, у тебя раньше было другое ядро, которое с модами работало? И у этого игрока остался блок из мода в инвентаре, вот он и крашит

Говоришь, циклически повторяешься? Оно будет повторяться несколько раз, потому что чанки прогружаются по радиусу.
В essentials удали userdat'у

Про загрузку по радиусу не знал, интересно.

А Entity ID, насколько я знаю, это некий айди игрока, дабы ядро всегда было Spigot'овским ванильным.
Проблема удалением профиля решилась, но как я уже сказал, это не первый раз. Хочу знать, как этот казус вообще предотвратить.
 

Вложения

Что то не то с некими сундуками TileEntityChest. Возможно проюзали креатив краш.
Много перепахал, так и не нашёл подобного краша, только через головы.
Но если помогло удаление инвентаря игрока, разве это имеет прямую связь с сундуком?
 
чанкам капут, выноси фиксером https://github.com/Fenixin/Minecraft-Region-Fixer
эта штука может помочь? я не в курсе что за краш такой с помощью сундука

Пользуюсь им, через раз помогает, но вот как предотвратить такой баг...
Вот сегодня опять заходил невинный человек, крашнул, почистили инвентарь, перестало.
 
Пользуюсь им, через раз помогает, но вот как предотвратить такой баг...
Вот сегодня опять заходил невинный человек, крашнул, почистили инвентарь, перестало.
Скинь сюда игрока.dat с багом на изучения. Ибо с вангами сейчас туго.
 
Если баг проявляется только при "пересечении" определенного чанка и определенного инвентаря, то скорее всего кривой один из плагинов. Это предположение объясняет и отсутствие ошибок в консоли - программист не посчитал нужным отображать собственный позор.
Создай копию сервера, в которой будет только мир и данные "битого" игрока. Зайди под его ником. Можно предположить, что сервер не упадёт.
Если действительно так - старым добрым способом ищи плагин, который виновен в такой неадекватной работе сервера.
Возможно в этой проблеме приняли участие и битый чанк, и битый предмет в инвентаре. Однако эти вещи сами по себе не валят сервер
 
Если баг проявляется только при "пересечении" определенного чанка и определенного инвентаря, то скорее всего кривой один из плагинов. Это предположение объясняет и отсутствие ошибок в консоли - программист не посчитал нужным отображать собственный позор.
Создай копию сервера, в которой будет только мир и данные "битого" игрока. Зайди под его ником. Можно предположить, что сервер не упадёт.
Если действительно так - старым добрым способом ищи плагин, который виновен в такой неадекватной работе сервера.
Возможно в этой проблеме приняли участие и битый чанк, и битый предмет в инвентаре. Однако эти вещи сами по себе не валят сервер
Да, отличная идея, попробую выискать, сообщу результат.
Всем ещё раз привет!
В общем, это было что-то с чем-то. Однако мы с товарищем нашли корень зла.
Множество краш-чанков мы исследовали через McEdit и нашли-таки тот заветный сундук, о котором шла речь в логах. Это сундук с ID:54:2.
В игре выглядит как прозрачный блок.

Суть краша:

Сетим сундук через WE, выходим из региона, возвращаемся, крашим.
Оказывается, работает и через обычный сундук (#ID: 54).
И важное условие - FAWE (Fast Async WorldEdit). С обычным WE не работает.
Плагин относительно новый и приобретает большую популярность, так что думаю, краш актуальный.
Интересно только, есть ли ещё такие блоки.

Пофиксили через disallowed-blocks в WE.

Всем большое спасибо за помощь!
Тему закрою.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ