Cell profiler vigra startup error on linux

Hello,
Our CellProfiler, v2.2.0rc3, on linux (ubuntu) throws an error on startup - we can’t seem to get the ilastik connection to work. Any suggestions ?
(if we run the run_ilastik.sh script, it launches ok so it seems we need to tell CP where/how to locate ilastik)
Thank you very much.
Bob

Plugin directory doesn’t point to valid folder: /is2/projects/RAS-intl/static/rp3_ifx/cell_profiler/plugins
ilastik import: failed to import the ilastik. Please follow the instructions on
"http://www.ilastik.org" to install ilastik
Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/cellprofiler/modules/classifypixels.py”, line 71, in
from ilastik.core.dataMgr import DataMgr, DataItemImage
ImportError: No module named ilastik.core.dataMgr
ilastik import: failed to import the ilastik. Please follow the instructions on
"http://www.ilastik.org" to install ilastik
Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/cellprofiler/modules/ilastik_pixel_classification.py”, line 70, in
import ilastik_main
ImportError: No module named ilastik_main
Version: 2016-06-10T16:08:23 Unknown rev. / 20160610160823

It’s on our to do list to fix that error, but it’s not anything to worry about. Sorry for the confusion!

Excellent, thank you. CellProfiler is awesome !

1 Like

vigra startup error on linux
cellprofiler.dev+c9d59fd86e8278cc8869a150a1900f14@gmail.com>

Excellent, thank you. CellProfiler is awesome !

Beth, do you think we should temporarily disable (remove) the ilastik segmentation module from CellProfiler until this issue is fixed. I know its unfortunate to remove a module, but from a brief discussion with several sources I am under the impression that fixing the ilastik compile is not a low hanging fruit, and it might take quite a while until the issue is fixed? In the meantime we could save the users (and yourselves) many questions about the startup error by temporarily removing the (anyways non-working) module… maybe that’s the smaller of two evils?

Possibly, but not in my particular wheelhouse/decision above my paygrade. @agoodman is compiling the new release now, he may have already done it (or have thoughts why we shouldn’t).

@emmenlau I do! In fact, it’s been removed in nightly.

Some work has been done on a replacement module:

https://github.com/CellProfiler/CellProfiler/pull/1774

but it needs better documentation and tests before it can be merged.

1 Like

I’m guessing from this thread that this is a known (and unimportant?) error that I get. Unlike OP, my error is occurring on a Windows 10 Machine. I just upgraded my CP version. I have java (build 1.8.0_131-b11).

I guess from the thread that ilastic has been removed from nightly, but not from the release? Backwards ;-)? What is the status of a replacement and where are we standing in a release cycle sense?

The console startup errors are:
java.lang.IllegalArgumentException: Cannot handle replace call to list in ij.Menus’s public static synchronized java.lang.String[] getPlugins()
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:725)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:650)
at net.imagej.patcher.LegacyExtensions.addExtraPlugins(LegacyExtensions.java:477)
at net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:175)
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.patcher.JavaAgent.preinit(JavaAgent.java:147)
at net.imagej.patcher.JavaAgent.premain(JavaAgent.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 15
at javassist.CtClassType.getClassFile2(CtClassType.java:203)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:110)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:329)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:390)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:354)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.Javac.compileStmnt(Javac.java:568)
at javassist.expr.MethodCall.replace(MethodCall.java:234)
at net.imagej.patcher.CodeHacker$7.edit(CodeHacker.java:686)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:191)
at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
at javassist.CtBehavior.instrument(CtBehavior.java:618)
at net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1278)
at net.imagej.patcher.CodeHacker.replaceCallInMethod(CodeHacker.java:670)
… 17 more
Caused by: java.io.IOException: invalid constant type: 15
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1027)
at javassist.bytecode.ConstPool.read(ConstPool.java:970)
at javassist.bytecode.ConstPool.(ConstPool.java:127)
at javassist.bytecode.ClassFile.read(ClassFile.java:693)
at javassist.bytecode.ClassFile.(ClassFile.java:85)
at javassist.CtClassType.getClassFile2(CtClassType.java:190)
… 37 more
java.lang.IllegalArgumentException: Cannot handle app name in ij.ImageJ’s public (java.applet.Applet applet, int mode)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:446)
at net.imagej.patcher.LegacyExtensions.insertAppNameHooks(LegacyExtensions.java:406)
at net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:291)
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.patcher.JavaAgent.preinit(JavaAgent.java:147)
at net.imagej.patcher.JavaAgent.premain(JavaAgent.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 15
at javassist.CtClassType.getClassFile2(CtClassType.java:203)
at javassist.CtClassType.subtypeOf(CtClassType.java:303)
at javassist.CtClassType.subtypeOf(CtClassType.java:318)
at javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:247)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:119)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:329)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.Javac.compileStmnt(Javac.java:568)
at javassist.expr.MethodCall.replace(MethodCall.java:234)
at net.imagej.patcher.CodeHacker$4.edit(CodeHacker.java:427)
at net.imagej.patcher.CodeHacker$4.edit(CodeHacker.java:441)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:219)
at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
at javassist.CtBehavior.instrument(CtBehavior.java:618)
at net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1278)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:402)
… 16 more
Caused by: java.io.IOException: invalid constant type: 15
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1027)
at javassist.bytecode.ConstPool.read(ConstPool.java:970)
at javassist.bytecode.ConstPool.(ConstPool.java:127)
at javassist.bytecode.ClassFile.read(ClassFile.java:693)
at javassist.bytecode.ClassFile.(ClassFile.java:85)
at javassist.CtClassType.getClassFile2(CtClassType.java:190)
… 37 more
WARNING: Unable to load module 'vigra.fourier’
ilastik import: failed to import the ilastik. Please follow the instructions on
"http://www.ilastik.org" to install ilastik
Traceback (most recent call last):
File “cellprofiler\modules\ilastik_pixel_classification.pyc”, line 70, in
ImportError: No module named ilastik_main

By way of follow-up. I went on to download the nightly build. It seems to produce the same startup errors, so I’m unclear that ilastik has been removed. Further, running the built in example analysis seems to succeed, but produces a number of cryptic exceptions on the console along the way. I’m guessing you are aware of these, but it is disconcerting to end-users.

Should I have found a known-issues page somewhere that I missed?

By the way, in trying to use ‘help about’ to accurately report the nightly build version, I got this:
Traceback (most recent call last):
File “cellprofiler\gui\cpframe.pyc”, line 973, in about
File “cellprofiler\gui\dialog.pyc”, line 15, in init
File “pkg_resources_init_.pyc”, line 545, in get_distribution
File “pkg_resources_init_.pyc”, line 425, in get_provider
File “pkg_resources_init_.pyc”, line 946, in require
File “pkg_resources_init_.pyc”, line 833, in resolve
DistributionNotFound: The ‘cellprofiler’ distribution was not found and is required by the application

The console output (CP 2.4.0RC1 rev 29342ff) containing the exceptions during the example processing (on Windows 10) is attached.Cell Profiler Built in example.txt (0 Bytes)

Unfortunately our release schedule is behind (our developers are working extremely hard, there’s just a lot to do!), but that is indeed the same issue on Windows as on Linux (and in Mac too). We’re hoping to release CP 3.0 soon, and getting rid of all those scary-though-harmless errors is high on our “must fix before release” to-do list. Thanks and sorry!