Author Topic: need help understanding error/language  (Read 2972 times)

Offline Dave

  • bit
  • Posts: 2
    • View Profile
need help understanding error/language
« on: January 31, 2012, 02:46:06 PM »
I learned programming a while back and have forgotten a lot of what I learned.  I am however trying to fix an error I am having in a game.  Can anyone dumb down this error for me?:

java.lang.IllegalAccessError: tried to access method wj.a(Lry;IIIILjava/util/Random;I)V from class FCBlockStokedFire
   at FCBlockStokedFire.a(FCBlockStokedFire.java:64)
   at ry.f(World.java:2406)
   at ry.c(World.java:2199)
   at net.minecraft.client.Minecraft.k(SourceFile:1593)
   at net.minecraft.client.Minecraft.x(SourceFile:705)
   at net.minecraft.client.Minecraft.run(SourceFile:658)
   at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT 990785dc ----------

I'm getting that "fcblockstokedfire.class" tried to access something that it is not allowed.  However, when it states "method wj", is that supposed to be another class file or is "method" referring to an operation?  Sorry for the inexperienced questions, but any help would be greatly appreciated.  Thanks.

Offline Epic_bubble

  • long
  • ***
  • Posts: 235
    • View Profile
Re: need help understanding error/language
« Reply #1 on: January 31, 2012, 02:54:25 PM »
Im guessing the game with the issue is Minecraft based on the error log. Do you know what causes that error to pop up?
Device: Xperia play
CPU: Qualcomm 1 GHz Scorpion (Snapdragon)
GPU: Adreno 205
RAM: 512 MB
Screen res: 854 ? 480
ROM: stock android 2.3.4 rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3471
  • Developer
    • View Profile
    • PaulsCode.Com
Re: need help understanding error/language
« Reply #2 on: January 31, 2012, 03:15:48 PM »
That syntax is the way Java (and JNI, but I doubt that's being used here) looks up a method using a string argument.  In this case, it is trying to look up a method called "a", which is a member of class "wj", from FCBlockStokedFire.java.  This "a" method is a void method, and takes the parameters (ry, int, int, int, int, Random, int).  The method definition would likely look something like this:

Code: [Select]
public void a( ry myRy, int i1, int i2, int i3, int i4, Random rnd, int i5 ) {
...etc

Judging from the variable names, this was either written by someone inconsiderate of other developers, or it's been obfuscated (probably the latter).  If you don't have a class called "wj" in your project, then it is probably a member of an external jar your program is supposed to link to.  Make sure your project is set up correctly and linked with all the required external dependencies.  Check path names and file permissions as well.
« Last Edit: January 31, 2012, 03:27:07 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Dave

  • bit
  • Posts: 2
    • View Profile
Re: need help understanding error/language
« Reply #3 on: January 31, 2012, 06:49:24 PM »
Epic-bubble, yes, lol, it is Minecraft.  The error is caused by the Better than wolves mod stoking a fire (just recently started after I installed another mod).  I'm trying to figure out why exactly this is crashing the game so that I may be able to go in and patch the coding so that everything operates how it should.

Paul, awesome!!  Thanks for the insight man!  I'll get into my classes now that I have an idea of where to start looking.  Thanks you guys!  I am thankful for any information.