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

Outdated OC API java.lang.NoClassDefFoundError: li/cil/oc/api/network/Context #428

Open
2 of 3 tasks
CaitlynMainer opened this issue Mar 24, 2016 · 11 comments
Open
2 of 3 tasks

Comments

@CaitlynMainer
Copy link
Member

Thank you for reporting an issue with LanteaCraft. Please fill out this template when submitting your report - thank you!

Submission checklist

  • Check that you are running the latest recommended version of LanteaCraft.
  • Check that the issue isn't a known problem already (https://github.com/PC-Logix/LanteaCraft/issues).
  • Check that you can repeat this issue with just LanteaCraft installed. - Requires OpenComputers

Expected behavior

Game doesn't crash

Actual behavior

Game crashes

Steps to reproduce

Connect gate to OC Computer, and install Iris (Other interactions do it as well in theory).
The issue is our use of old OC API, Context was removed in like OC 1.3 or 1.4, latest release is 1.5, current beta is 1.6 api/network/Context.class no longer exists.

Attached crash log from another user.

System information

Tagging @MyNameIsKodos

@AfterLifeLochie would you like me to update the API?

@AfterLifeLochie
Copy link

If you do, make sure you update both OpenComputersEnvironmentDriver and OpenComputersDriverManager.

@CaitlynMainer
Copy link
Member Author

I've updated both.. but it no worky, still poking at it.

@AfterLifeLochie
Copy link

What happens currently, and what do you expect to happen?

@Cronosus
Copy link
Contributor

Cronosus commented Apr 8, 2016

yes, please fix in next build ;)

@taswin
Copy link

taswin commented Apr 15, 2016

Same error. http://pastebin.com/BUhRQVgh

@CaitlynMainer
Copy link
Member Author

@AfterLifeLochie I expect it to work, and it's not :P It never detects the gate base as a component either directly, or via an adapter, and I'm not sure why.

@TheRealM18
Copy link

if you would like to fix it quickly this is the package name change you would need ...n/java/li/cil/oc/api/network/Context.java → ...n/java/li/cil/oc/api/machine/Context.java

thanks and I hope to have the 1.7.10 updated soon so that i can try it out

@CaitlynMainer
Copy link
Member Author

CaitlynMainer commented Jul 26, 2016

This change is already done locally, but it's non functioning, I do OC addon dev daily I'm not inept enough to miss a class move.

Actually I pushed this a while back: https://git.io/vK5ja

@AfterLifeLochie
Copy link

@CaitlynMainer If you're in a debug environment (BuildInfo.DEBUG) then you should already have a rundir/vm folder which contains the "compiled" versions of the classes post-transformation. You should see the members (fields, methods, init, clinit, etc) of OpenComputersEnvironmentDriver nested within the compatible entities (TileStargateBase, etc). If not, the usual core.log will contain information about successful/unsuccessful source transformations.

You might also want to consider putting a breakpoint on ComputerMethodExecutor#invokeMethod, since this will allow you to trap any calls the other mod(s) make to invoke a ComputerCallable.

It might also be checking the metaprovider (OpenComputersDriverManager); the logic all looks OK, but you can use this to peek into the ManagedEnvironment, which might be useful.

@CaitlynMainer
Copy link
Member Author

CaitlynMainer commented May 26, 2017

I can't actually test anything any more, trying to launch a world with just a Base Block placed crashes with this: http://paste.pc-logix.com/ziyoheqika.scala

Even without OC installed I still crash with: http://paste.pc-logix.com/hudowucuqo.pas

@AfterLifeLochie
Copy link

I'm not sure why this is happening; even if you receive a VerifyError you should still have a copy of a core.log and a copy of the (probably malformed) class that was generated (see the rundir/vm/lc_tiles_TileStargateBase.class(?) file in a decompiler, etc).

I wonder if this is an issue with something we're generating running in 1.8.0_111; if you could provide me a copy of the runtime class implementation (rundir/vm) of anything offending / the matching corelog for each of the offending classes/configurations?

There could be a bunch of different things causing this, so I might suggest you try a clean environment, fresh pull, etc. It could be that driver code is being incorrectly merged or could be mangling some other code, so it would be useful to see all debug info you have -- since I can't replicate this locally, unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants