Page 1 of 1

Java Exception: Class: 11 Method: 146

Posted: Fri Mar 14, 2008 5:31 pm
by rudolphg
I have a student using
lejos nxj version .5 on Windows XP.

He had a program crash. Upon restarting the brick, the following error ocurred:

Java Exception:
Class: 11
Method: 146

Reloading the firmware has not solved the problem. After reflashing the firmware, the same exception occurs. The firmware appears to be loaded, and the lejos splash screen comes up, but then the error appears after the splash screen goes away.

when nxjflash triggers a firmware restart, the update tick can also still be heard after lejos has started. If I restart the brick without reflashing it,
I hear an audible buzz on the speaker when the exception occurs,
and then a very low pulse (not the same as the update tick) from the brick.

Any idea what the error is?

Posted: Fri Mar 14, 2008 5:43 pm
by gloomyandy
My guess is that the flash file system has been damaged. The easiest way to fix this would be to re-flash the Lego firmware and then switch back to leJOS 0.5....


Posted: Fri Mar 14, 2008 6:36 pm
by rudolphg

I thought of the same thing after I posted this message,
so I tried it, and it seems to have worked.
I only wish I had thought of it sooner...

I would still like to know what that error is, however.

Posted: Fri Mar 14, 2008 6:52 pm
by gloomyandy
Exception class 11 is ArrayIndexOutOfBounds you can find the "standard exceptions" (along with lots of other info) in the leJOS FAQ which is here...
Or take a look at the verbose output from the leJOS linker for the class and method signatures that get reported for your own programs.

I don't have the linker output for the 0.5 menu system handy so I can't lookup the method, but my guess is that some part of the file system structure has been corrupted and that is causing the error.

The next release of leJOS will handle errors slightly differently providing a more accurate indication of the method that caused the error plus a short stack trace. You will still need to cross reference this against the linker output though...