Запутанная нетти IllegalAccessErrror 4.1.5.Final - PullRequest
0 голосов
/ 03 мая 2018

Я начал видеть ошибку в производстве, которая является новой для меня. Похоже, что в клиентском драйвере Java Riak произошла ошибка, а затем я получил спам с тысячами ошибок от netty.

Это трассировка стека, которую я вижу:

java.lang.IllegalAccessError: io/netty/channel/AdaptiveRecvByteBufAllocator$HandleImpl/
at io.netty.channel.AdaptiveRecvByteBufAllocator.newHandle(AdaptiveRecvByteBufAllocator.java:180)/
at io.netty.channel.AbstractChannel$AbstractUnsafe.recvBufAllocHandle(AbstractChannel.java:434)/
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:110)/
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:610)/
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:551)/
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:465)/
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:437)/
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)/
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)/
at java.lang.Thread.run(Thread.java:748)

Чтение базы кода netty, это похоже на создание объекта:

@Override
public Handle newHandle() {
    return new HandleImpl(minIndex, maxIndex, initial);
}

Впервые я вижу это в своих журналах сразу после того, как увидел это исключение:

Operation onException() channel: id:306028938 riakts.service.consul:8087 java.lang.IllegalAccessError: 
tried to access class io.netty.channel.AbstractChannel$AbstractUnsafe$7 from class io.netty.channel.AbstractChannel$AbstractUnsafe

Я действительно совершенно не понимаю, как это может вызывать ошибку IllegalAccessError. Любое руководство о том, что может быть причиной этого исключения или как с ним справиться? У меня появляется сильное чувство, если я откажусь от своего производственного приложения, оно исчезнет, ​​но в ответ я чувствую себя довольно хакерским, и я надеялся добиться большего успеха.

...