NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 961 - latest update throws exceptions
latest update throws exceptions
Status: RESOLVED FIXED
Product: ImageJ
Classification: Unclassified
Component: Legacy
unspecified
PC All
: P4 normal
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2014-11-17 13:56 CST by charless fowlkes
Modified: 2015-04-06 15:52 CDT
3 users (show)

See Also:

Description charless fowlkes 2014-11-17 13:56:12 CST
To reproduce the problem, download latest version of Fiji   (continuous build, linux 64bit)
Run the Fiji updateder
Restart


yields the following excpetion  ->


log4j:WARN No appenders could be found for logger (org.bushe.swing.event.EventService).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.lang.IllegalArgumentException: Cannot modify method: public void run()
	at net.imagej.patcher.CodeHacker.insertAtTopOfMethod(CodeHacker.java:167)
	at net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:229)
	at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:308)
	at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
	at net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
	at net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
	at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
	at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
	at net.imagej.legacy.DefaultLegacyService.<clinit>(DefaultLegacyService.java:124)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:302)
	at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
	at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
	at org.scijava.Context.<init>(Context.java:244)
	at org.scijava.Context.<init>(Context.java:203)
	at org.scijava.Context.<init>(Context.java:142)
	at org.scijava.Context.<init>(Context.java:98)
	at org.scijava.Context.<init>(Context.java:86)
	at net.imagej.ImageJ.<init>(ImageJ.java:82)
	at net.imagej.Main.launch(Main.java:61)
	at net.imagej.Main.main(Main.java:73)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:258)
	at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:184)
	at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.IllegalArgumentException: No such class: JavaScriptEvaluator
	at net.imagej.patcher.CodeHacker.getClass(CodeHacker.java:880)
	at net.imagej.patcher.CodeHacker.getMethod(CodeHacker.java:906)
	at net.imagej.patcher.CodeHacker.getBehavior(CodeHacker.java:896)
	at net.imagej.patcher.CodeHacker.insertAtTopOfMethod(CodeHacker.java:158)
	... 34 more
Caused by: javassist.NotFoundException: JavaScriptEvaluator
	at javassist.ClassPool.get(ClassPool.java:450)
	at net.imagej.patcher.CodeHacker.getClass(CodeHacker.java:875)
	... 37 more

Information about your version of Java:

  os.arch => amd64
  os.name => Linux
  os.version => 3.11.0-19-generic
  java.version => 1.6.0_24
  java.vendor => Sun Microsystems Inc.
  java.runtime.name => Java(TM) SE Runtime Environment
  java.runtime.version => 1.6.0_24-b07
  java.vm.name => Java HotSpot(TM) 64-Bit Server VM
  java.vm.version => 19.1-b02
  java.vm.vendor => Sun Microsystems Inc.
  java.vm.info => mixed mode
  java.awt.graphicsenv => sun.awt.X11GraphicsEnvironment
  java.specification.name => Java Platform API Specification
  java.specification.version => 1.6
  sun.cpu.endian => little
  sun.desktop => null
  file.separator => /

The up-to-date check says: REMIND_LATER

Information relevant to JAVA_HOME related problems:

  JAVA_HOME is set to: /home/fowlkes/bin/Fiji.app/java/linux-amd64/jdk1.6.0_24//jre
  imagej.dir => /home/fowlkes/bin/Fiji.app

Information about the version of each plugin:

Activated update sites:
ImageJ: http://update.imagej.net/ (last check:20141109211443)
Fiji: http://fiji.sc/update/ (last check:20141111114731)
Comment 1 Curtis Rueden 2014-11-17 14:16:30 CST
Thank you. This has been an issue for a while now, but no one has had time to investigate. It has something to do with the fact that the JavaScriptEvaluator class (packageless) cannot be modified by the ImageJ Legacy component's Javassist logic, because the class cannot be loaded. Perhaps it's an issue with packageless classes in general -- likely a lurking larger issue.

In the short term, from an end user perspective, the exception is harmless and can be ignored.
Comment 2 Curtis Rueden 2015-04-06 15:52:51 CDT
I believe this issue was finally resolved a while back. Please reopen if not.