DiscordSRV

DiscordSRV

86.8k Downloads

No such method error

BlackAce21 opened this issue ยท 8 comments

commented

Version: 15.4-SNAPSHOT-143 AND 16.0
Minecraft Version: 1.7.10
Spigot Version: 1.7.10-R0.1-SNAPSHOT (Running Thermos 1614.56)
Pastebin of relevant log data: https://pastebin.com/nmhddFpQ

Information: We have been running this plugin on this specific server for some time without problems. I changed absolutely nothing with our plugin configuration or setup. I did update our forge side of the server with some new mod updates and had to run an /fml confirm command which MAY act similarly to a reload for the purposes of this error. That is the only thing I can think of to contribute to the problem but ever since the update the app has not worked. Prior to this happening we were running version 15.4-SNAPSHOT-143 of the plugin. I did find a post by someone else with a similar error where someone said it was related to a conflicting plugin and to downgrade but again we have been running this setup for some time without any issues.

I would appreciate any help in resolving this matter swiftly as we have a rather large community and handle many things via discord ^_^ thanks in advance

commented

You have a conflicting plugin that also uses OkHTTP

commented

Two problems with that analysis. 1) For the third time, nothing about our plugin setup has changed. 2) We are using the plugin across multiple servers from the same box and none of them are having problems.

The only logical possibility is that one of the mods added some sort of integration with OkHTTP which I will be looking into but even if that is the case that still doesn't tell me how to fix the underlying problem.

If we assume that both a mod and a plugin are trying to load the same classes wouldn't the error be something else completely? I have not dealt with multiple instances of the same class trying to load from 2 programs so I am confused on how it is forming a class not found exception if this is the case.

commented

The only possible reason for this is that you have a conflicting plugin/mod/whatever.

Plugin A loads class X, version 1. Plugin B wants to load class X version 2 but the class loader already has class X at version 1. Plugin B is not happy with using version 1 because it depends on methods that were added in version 2 and are unavailable in version 1. Plugin B tries to use v2 methods from the v1 class, NoSuchMethodError thrown.

commented

I see, that makes complete sense : ) I also found out which mod is using OkHTTP. Now I just need to figure out a solution....

Would it be possible to simply edit in the missing classes into the mod jar file and let it load up the updated version that has the additional methods that the plugin needs? Seems to me that as long as the more updated version didn't lose something the mod needs to function it would work just fine.

commented

The SpecialSource library included with Thermos uses ASM4.
Updating it to the latest version will fix the issue.

Instructions for updating to ASM5:

  1. Navigate to the libraries\net\md-5\SpecialSource\1.7-SNAPSHOT folder of the server
  2. Delete the SpecialSource-1.7-SNAPSHOT.jar jar file
  3. Download SpecialSource v1.7.4 from http://central.maven.org/maven2/net/md-5/SpecialSource/1.7.4/SpecialSource-1.7.4.jar
  4. Copy the jar file to the libraries\net\md-5\SpecialSource\1.7-SNAPSHOT folder
  5. Rename the jar file you just copied to SpecialSource-1.7-SNAPSHOT.jar
commented

I was skeptical of this working because a few things: 1) it worked before my changes to the mods folder without issue 2) my update did not include a change to our libraries folder and 3) we have other servers with the same setup having no issues.

Despite this I followed your instructions to the letter and the error remains exactly the same =\ it should be noted that right up to the moment I took the server down for maintenance the plugin was functioning just fine. I will check after I post this to see if there were any error messages prior to this and perhaps the fact it is not connecting is a separate issue and the error has always been there to be sure.

::edit:: upon checking, the error does not exist prior to this
::update:: I am starting the server now with all debug options enabled for log stack traces and JDA debug option. I will post that output soon

[JDA DEBUG] Received response with following cf-rays: [3dfe1087b928a02e-SLC]

Is all the extra log output I got

commented

also worth mentioning that the second part of that pastebin is no longer showing up. Specifically this part:

[12:33:22] [OkHttp ConnectionPool/WARN]: A connection to https://discordapp.com/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);

commented

Ok so this is a bit embarrassing but I just talked to the mod pack dev about the problem and apparently he uses discord too because he spoke with the mod dev already and has a fix =P crisis averted and I thank you whole heartedly for your help in this matter ^_^ thanks for putting up with me