[Point Blank] error in java - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Описание темы:need some help

Ответ
Опции темы
Непрочитано 18.06.2017, 05:52   #1
Пользователь

Автор темы (Топик Стартер) error in java

I am have this error keep show to me in console of Battle ?
what fix for it need some help ?????

Код:
[05:55:10|ERROR|nioEventLoopGroup-2-1    |io.netty.util.ResourceLeakDetector             ] LEAK: ByteBuf.release() was not called before it's garbage-collected.
Recent access records: 1
#1:
	io.netty.buffer.AdvancedLeakAwareByteBuf.writeBytes(AdvancedLeakAwareByteBuf.java:559)
	io.netty.buffer.Unpooled.copiedBuffer(Unpooled.java:421)
	ru.pb.battle.network.client.BattleClientConnection.channelRead0(BattleClientConnection.java:81)
	ru.pb.battle.network.client.BattleClientConnection.channelRead0(BattleClientConnection.java:22)
	io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
	io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
	io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
	io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
	java.lang.Thread.run(Unknown Source)
Created at:
	io.netty.util.ResourceLeakDetector.open(ResourceLeakDetector.java:190)
	io.netty.buffer.AbstractByteBufAllocator.toLeakAwareBuffer(AbstractByteBufAllocator.java:42)
	io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:55)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)
	io.netty.buffer.Unpooled.directBuffer(Unpooled.java:127)
	io.netty.buffer.Unpooled.copiedBuffer(Unpooled.java:417)
	ru.pb.battle.network.client.BattleClientConnection.channelRead0(BattleClientConnection.java:81)
	ru.pb.battle.network.client.BattleClientConnection.channelRead0(BattleClientConnection.java:22)
	io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
	io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
	io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
	io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
	java.lang.Thread.run(Unknown Source)
TomCodder вне форума Ответить с цитированием
Непрочитано 27.06.2017, 19:44   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: error in java

Give me an example of channelRead method.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 28.06.2017, 20:09   #3
Пользователь

Автор темы (Топик Стартер) Re: error in java

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Give me an example of channelRead method.
import io.netty.channel.socket.DatagramPacket;
 
import java.net.InetSocketAddress;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import ru.pb.battle.controllers.RoomController;
import ru.pb.battle.models.Player;
import ru.pb.battle.models.Room;
import ru.pb.battle.utils.ByteBuffer;
 
/**
 * @author DarkSkeleton
 */
public class BattleClientConnection extends SimpleChannelInboundHandler<DatagramPacket> {
 
	private static final Logger log = LoggerFactory.getLogger(BattleClientConnection.class);
 
	@Override
	protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket msg) throws Exception {
		ByteBuf bb = msg.content();
		byte opcode = bb.readByte();
		switch(opcode)
			{
				case 65: {
					// ByteBuffer _buffer2 = new ByteBuffer();
					// _buffer2.writeC((byte)66);
					// _buffer2.writeC((byte) 0);
					// _buffer2.writeB(new byte[5]);
					// _buffer2.writeC((byte) 0x0b);
					// _buffer2.writeB(new byte[3]);
					// ctx.writeAndFlush(new DatagramPacket(Unpooled.copiedBuffer(_buffer2.getData(), 0, _buffer2.getData().length), msg.sender()));
					Room room = RoomController.getInstance().getRoom(msg.sender().getAddress());
					if(room != null) {
						if(room.inetAddress.equals(msg.sender().getAddress())) {
							ByteBuffer _buffer = new ByteBuffer();
							_buffer.writeC((byte) 66);
							_buffer.writeC((byte) 0);
							_buffer.writeB(new byte[5]);
							_buffer.writeC((byte) 0x0b);
							_buffer.writeB(new byte[3]);
							room.isConnected = true;
							room.port = msg.sender().getPort();
							ctx.writeAndFlush(new DatagramPacket(Unpooled.copiedBuffer(_buffer.getData(), 0, _buffer.getData().length), msg.sender()));
						} else {
							Player player = RoomController.getInstance().getPlayer(msg.sender().getAddress());
							if(player != null) {
								ByteBuffer _buffer = new ByteBuffer();
								_buffer.writeC((byte) 66);
								_buffer.writeC((byte) 0);
								_buffer.writeB(new byte[5]);
								_buffer.writeC((byte) 0x0b);
								_buffer.writeB(new byte[3]);
								player.isConnected = true;
								player.playerPort = msg.sender().getPort();
								ctx.writeAndFlush(new DatagramPacket(Unpooled.copiedBuffer(_buffer.getData(), 0, _buffer.getData().length), msg.sender()));
							}
						}
					}
					break;
				}
				case (byte) 131:
				case (byte) 132:
				case 84:
				case 97:
				case 4:
				case 3: {
					Room room = RoomController.getInstance().getRoom(msg.sender().getAddress());
					if(room != null) {
						if(room.inetAddress.equals(msg.sender().getAddress())) {
							for(Player player : room.getPlayers().values()) {
								if(player.isActive) {
									if(player.playerPort > 0) {
										ctx.writeAndFlush(new PBUDPServerPacket(opcode, Unpooled.copiedBuffer(msg.content()), new InetSocketAddress(player.playerIP, player.playerPort)).getPacket());
									}
								}
							}
						} else {
							if(room.isActive) {
								if(room.port > 0) {
									ctx.writeAndFlush(new PBUDPServerPacket(opcode, Unpooled.copiedBuffer(msg.content()), new InetSocketAddress(room.inetAddress, room.port)).getPacket());
								}
							}
						}
					}
					break;
				}
				case 67: {
					Player player = RoomController.getInstance().getPlayer(msg.sender().getAddress());
					if(player != null) {
						player.isActive = false;
						player.isConnected = false;
					}
					break;
				}
 
			}
		bb.release();
	}
 
	@Override
	public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
		cause.printStackTrace();
		// We don't close the channel because we can keep serving requests.
	}
}
 
Code: Java
so what the fix of this error what called JavaLeak ?
@PROGRAMMATOR

Последний раз редактировалось TomCodder; 02.07.2017 в 18:35.
TomCodder вне форума Ответить с цитированием
Непрочитано 04.07.2017, 22:05   #4
Пользователь

По умолчанию Re: error in java

Try this code:
Код:
 ResourceLeakDetector.setLevel(Level.DISABLED);
If it does not work, try using this:
Код:
if (ResourceLeakDetector.isEnabled())
    		ResourceLeakDetector.setEnabled(false);
PISTOLA вне форума Ответить с цитированием
Непрочитано 05.07.2017, 00:58   #5
Пользователь

Автор темы (Топик Стартер) Re: error in java

Цитата:
Сообщение от PISTOLA Посмотреть сообщение
Try this code:
Код:
 ResourceLeakDetector.setLevel(Level.DISABLED);
If it does not work, try using this:
Код:
if (ResourceLeakDetector.isEnabled())
    		ResourceLeakDetector.setEnabled(false);
Thx but i need to fix java leak not just stop LeakDetector , i enabled it to where is the leak to stop it cause many crashes ,i need some help to fix it PLZ

@PROGRAMMATOR @Awiion
TomCodder вне форума Ответить с цитированием
Непрочитано 06.07.2017, 03:53   #6
Аватар для DarkSkeleton12
Пользователь

По умолчанию Re: error in java

There are 2 ways:

1. Use this after all read operations in the try {} finally{}

Код:
finally {
ReferenceCountUtil.release(msg);
}
2. Use .slice ()

Код:
ByteBuf bb = msg.content().slice();
DarkSkeleton12 вне форума Отправить сообщение для DarkSkeleton12 с помощью Skype™ Ответить с цитированием
Непрочитано 06.07.2017, 09:07   #7
Пользователь

Автор темы (Топик Стартер) Re: error in java

Цитата:
Сообщение от DarkSkeleton12 Посмотреть сообщение
There are 2 ways:

1. Use this after all read operations in the try {} finally{}

Код:
finally {
ReferenceCountUtil.release(msg);
}
2. Use .slice ()

Код:
ByteBuf bb = msg.content().slice();
THX , I will try this fix and I will inform you with the results , but I have Another problem is the disappearance of channels from the servers after running the server for a period of time or the entry of a number of players, and this is one of the worst problems that meet me
TomCodder вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Piercing Blow] [HELP ME] Error ID yGGhz Point Blank (Piercing Blow) 0 23.12.2016 07:37
ERROR Error could not store skills! Againamine Работа со скриптами 9 16.06.2012 07:18
Java Error Psych_O Работа со скриптами 4 22.02.2012 04:58
GS error mego4el Lineage II 0 24.02.2011 21:17
std out (error) HudsoN Lineage II 1 15.12.2010 22:22


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 20:49. Часовой пояс GMT +3.

Вверх