Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LinkageError : loader constraint violation: when resolving interface method 'boolean org.geysermc.floodgate.api.FloodgateApi.sendForm(java.util.UUID, org.geysermc.cumulus.util.FormBuilder)' #369

Closed
wifi-left opened this issue Nov 23, 2022 · 2 comments
Labels
duplicate This issue or pull request already exists

Comments

@wifi-left
Copy link

Logs

14:19:43 [严重] [.wifi_left] -> UpstreamBridge - encountered exception
java.lang.LinkageError: loader constraint violation: when resolving interface method 'boolean org.geysermc.floodgate.api.FloodgateApi.sendForm(java.util.UUID, org.geysermc.cumulus.util.FormBuilder)' the class loader net.md_5.bungee.api.plugin.PluginClassloader @f6c03cb of the current class, me/gamom/commandServers, and the class loader net.md_5.bungee.api.plugin.PluginClassloader @1b7332a7 for the method's defining class, org/geysermc/floodgate/api/FloodgateApi, have different Class objects for the type org/geysermc/cumulus/util/FormBuilder used in the signature (me.gamom.commandServers is in unnamed module of loader net.md_5.bungee.api.plugin.PluginClassloader @f6c03cb, parent loader 'app'; org.geysermc.floodgate.api.FloodgateApi is in unnamed module of loader net.md_5.bungee.api.plugin.PluginClassloader @1b7332a7, parent loader 'app')
    at me.gamom.commandServers.execute(commandServers.java:96)
    at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:207)
    at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:157)
    at net.md_5.bungee.connection.UpstreamBridge.handleChat(UpstreamBridge.java:188)
    at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:169)
    at net.md_5.bungee.protocol.packet.ClientCommand.handle(ClientCommand.java:77)
    at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:114)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:336)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:308)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:299)
    at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:445)
    at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:50)
    at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:403)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at java.base/java.lang.Thread.run(Thread.java:833)

I'm using Geyser as well as Flootgate as a dependency library development.

FloodgateApi Fapi = FloodgateApi.getInstance();
ProxiedPlayer Pplayer = (ProxiedPlayer) commandSender;
UUID senderUUID = Pplayer.getUniqueId();
boolean isBEPlayer = Fapi.isFloodgatePlayer(senderUUID);
SimpleForm.Builder CForm = SimpleForm.builder()
                .title("A").content("B");
CForm = CForm.responseHandler((arg0) -> {
                System.out.println(arg0);
            });
            Fapi.sendForm(senderUUID, CForm);
@Tim203
Copy link
Member

Tim203 commented Nov 23, 2022

This is a duplicate of #178 and unfortunately we don't really have a solution for that yet.

@Tim203 Tim203 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 23, 2022
@Tim203 Tim203 added the duplicate This issue or pull request already exists label Nov 23, 2022
@Jens-Co
Copy link
Member

Jens-Co commented Nov 23, 2022

https://github.com/kejonaMC/Floodgate You can use this fork of floodgate which solves this issue :) do know that this is a fork and not a release from GeyserMC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

3 participants