Всем здрасти) Решил порыться в своем очень старом(самом первом моде), но сорцев на момент создания я не оставил нигде, а потому пришлось мод собирать почти с нуля. Вроде всё сделал, с ошибками явными не столкнулся, но при попытке наступить на блок у меня зависает клиент и в диспетчере процесс сжирает память до тех пор, пока она не кончится или не убить процесс. Полагаю, виноват цикл внутри блока. Говорю сразу, код еще не читал, просто перенес из деоб. мода.

Вопрос: как мне в будущем ловить такие моменты, если даже в лог ничего не пишет?
PS. Оригинальный мод работает исправно и на клиенте, и на сервере.

BlockPlateWhite.class:

public class BlockPlateWhite extends BlockPlate < public BlockPlateWhite() < super(); setRegistryName(«jump_plate_white»); setUnlocalizedName(«jump_plate_white»); >public void onEntityWalk(World worldIn, BlockPos pos, Entity entityIn) < if (Math.abs(entityIn.motionY) < 0.1D !entityIn.isSneaking()) entityIn.motionY = 0.6666666666666666D; super.onEntityWalk(worldIn, pos, entityIn); worldIn.playSound((EntityPlayer)null, pos, RegisterSound.JUMPPLATEUSE, SoundCategory.BLOCKS, 1.0F, 1.0F); double i; for (i = 0.0D; i < 6.283185307179586D; ) worldIn.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, 0.9D, 0.9D, 0.9D, new int[0]); i += 0.01D; >>

BlockPlate.class:

34. Что такое утечка памяти? Как найти утечку памяти? Устраняем реальную утечку памяти в приложении.


public class BlockPlate extends Block < public BlockPlate() < super(Material.ROCK); setCreativeTab(Main.JUMPPLATES); >public boolean isOpaqueCube(IBlockState state) < return false; >public boolean isFullCube(IBlockState state) < return false; >public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) < AxisAlignedBB axisAlignedBB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.21D, 1.0D); return axisAlignedBB; >public AxisAlignedBB getSelectedBoundingBox(IBlockState state, World worldIn, BlockPos pos) < AxisAlignedBB axisAlignedBB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.09D, 1.0D); return axisAlignedBB; >public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance) < if (entityIn.isSneaking()) super.onFallenUpon(worldIn, pos, entityIn, fallDistance); else entityIn.fall(fallDistance, 0.0F); >public void onLanded(World worldIn, Entity entityIn) < if (entityIn.isSneaking()) super.onLanded(worldIn, entityIn); else if (entityIn.motionY < 0.0D) < entityIn.motionY = 0.0D; if (!(entityIn instanceof net.minecraft.entity.EntityLivingBase)) entityIn.motionY = 0.0D; >> >

Читайте также:  Как в Майнкрафт получить тошноту

Лог при зависании:

[04:50:08] [Server thread/INFO] [minecraft/MinecraftServer]: Player116 joined the game [04:50:08] [Client thread/DEBUG] [FML]: Overriding dimension: using 0 [04:50:10] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game. [04:50:10] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level ‘New World’/overworld [04:50:10] [Server thread/DEBUG] [FML]: Gathering id map for writing to world save New World [04:50:11] [Server thread/WARN] [minecraft/MinecraftServer]: Can’t keep up! Did the system time change, or is the server overloaded? Running 2488ms behind, skipping 49 tick(s)

Последнее редактирование: 8 Апр 2022

Мод MemoryFix — используйте меньше памяти в Minecraft! (ОБЪЯСНЕНИЕ)

Собираю мелочи для опыта

Источник: forum.mcmodding.ru

Решено Утечка памяти

Статус Решение проблемы! Перейти к решению. В этой теме нельзя размещать новые ответы.

Whoopsen

Игрок
30 Ноя 2020 18 2 8

При непродолжительной активно лаунчера начинает жестко хавать ОЗУ, не реагирует на изменение выделенной памяти в лаунчере. Если при запущенном лаунчере открыть например гугл, то через некоторое кол-во времени (достаточно быстро) лаунчер просто закрывается. В просмотре событий есть ошибка в лаунчере (скрин). Так же если лаунчер не сворачивать, то через некоторое время от вылетает с ошибкой (скрин)

Решение проблемы! Перейти к решению.

Вложения

image (4).png
4.1 КБ · Просмотры: 14
image (3).png
10.4 КБ · Просмотры: 13
image (2).png
9.4 КБ · Просмотры: 10
image (1).png
22.5 КБ · Просмотры: 12

Whoopsen

Игрок
30 Ноя 2020 18 2 8

Вылет в режиме отладки (сайт не дает загрузить сюда лог, поэтому залил на яндекс диск — https://disk.yandex.ru/d/Nt-4dN_RErDYqA)

Комментарий

Whoopsen

Игрок
30 Ноя 2020 18 2 8

1. Версия вашей операционной системы (Windows 7,8,10,11; Linux; macOS): Win 11
2. Разрядность системы (32 бит/64 бит; описано в разделе №I, п.4): 64
3. Кол-во оперативной памяти на устройстве, кол-во выделенной памяти (описано в разделе №II, п.2): 16гб, 4 гб
4. Скриншот ошибки/текст с режима откладки (в текстовом документе)/крашлог: Выше 5. Что вы предпринимали: Переустановка лаунчера, перезапуск ПК, отключение защитника виндовс, изменение выделенной памяти, обновление драйверов видюхи.

Читайте также:  В каких версиях Майнкрафта есть кошка

Комментарий

Kepuhka

Гл. Модератор DraconicTechnoMagic # 2, 4

Команда форума
Гл.Модератор
22 Янв 2019 727 507 105

Доброго времени суток.
Судя по краш логу, проблема именно в выделяемой памяти. В крашлоге указано, что вы выделили 1гб, что недостаточно для нормального запуска. Попробуйте переустановить java, перезапустить пк и выделить хотя бы 2гб памяти.
Жду вашего ответа.

Источник: victorycraft.ru

Тема: Утечка памяти#2

Snezhokk

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

Snezhokk вне форума

Участник

Сообщений 566

Cервер Divine

Любимые моды WorldEdit

Любимый монстр Marzia, FroZor

Регистрация 28.03.2015

Адрес Google

5 мёртвая» память, указатель к которой, видимо, был потерян), но до сих пор не знаю её причины. Жду ваших предположений.

Последний раз редактировалось Snezhokk; 01.07.2018 в 17:50 .

Источник: minecraftonly.ru