Couldn't find config for user and project on tool [tracers] and path [tracers]

62 views
Skip to first unread message

Spiro Pantazatos

unread,
Sep 21, 2018, 2:11:32 AM9/21/18
to xnat_discussion
Hello, 

I'm got a strange error in the XNAT web interface after logging in. 

Couldn't find config for user xyz and project TEST on tool [tracers] path [tracers]

You can get technical details here.
Please continue your visit at our home page.


When logged in as a particular user (i.e. xyz), I'm unable to pull up Project Details (it is stuck at "Preparing Results..." under the Subjects Tab). However, the project Details load just fine when logged in as a different user. with the same permissions (i.e. Owner). 

When restarting tomcat7, I see the below error message in catalina.out, which I think might be related? This user account has existed for a while and everything was working just fine until recently, and I can't think of any major changes/updates/events to the server that could have caused the error.  Any ideas how to debug or apply fixes that don't entail creating a new user account and/or project?  I'm using XNAT 1.7.4.1. 

Many thanks in advance,
Spiro

INFO: Deploying web application archive /var/lib/tomcat7/webapps/ROOT.war
Sep 21, 2018 1:23:42 AM org.apache.catalina.session.StandardManager doLoad
SEVERE: ClassNotFoundException while loading persisted sessions: java.lang.ClassNotFoundException: net.bull.javamelody.SessionListener
java.lang.ClassNotFoundException: net.bull.javamelody.SessionListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1595)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1060)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:285)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:202)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:492)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Sep 21, 2018 1:23:42 AM org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.lang.ClassNotFoundException: net.bull.javamelody.SessionListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1595)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1060)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:285)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:202)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:492)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

SOURCE: /var/lib/tomcat7/webapps/ROOT/
Database up to date.
Sep 21, 2018 1:23:58 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Sep 21, 2018 1:23:58 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 73839 ms

Herrick, Rick

unread,
Sep 21, 2018, 10:21:25 AM9/21/18
to xnat_di...@googlegroups.com

I don’t have a good answer for you on either of these issues other than noting that I think something is wrong with your deployment, maybe the war file is corrupted or… something, I don’t know. The issue is here:

 

SEVERE: ClassNotFoundException while loading persisted sessions: java.lang.ClassNotFoundException: net.bull.javamelody.SessionListener

java.lang.ClassNotFoundException: net.bull.javamelody.SessionListener

 

There’s no good reason to try to load that class when trying to load a persisted session. XNAT doesn’t reference javamelody at ALL other than to provide a link to the application context at which javamelody is automatically provisioned (/monitoring) and it definitely doesn’t rely on it to load a session. Also, net.bull.javamelody.SessionListener should be available to the application in the appropriate jar file. In the case of 1.7.4.1, that is javamelody-core-1.68.1.jar. I just downloaded the war for 1.7.4.1 and did this:

 

$ jar xf xnat-web-1.7.4.1.war WEB-INF/lib/javamelody-core-1.68.1.jar

$ jar tf WEB-INF/lib/javamelody-core-1.68.1.jar | fgrep SessionListener

net/bull/javamelody/SessionListener$SessionInformationsComparator.class

net/bull/javamelody/SessionListener.class

 

You can check your war and/or the exploded application in Tomcat for the javamelody jar file and make sure that nothing’s corrupted in there. Alternatively you could just delete ROOT.war and the ROOT folder in your Tomcat webapps folder and download a fresh copy of the war and try that.

 

One other thing you can do is to modify the context.xml inside of XNAT to prevent Tomcat from even trying to load persisted sessions. Presuming you’re working with ROOT.war, you could do this (make sure Tomcat’s not running because this will blow its tiny tiny mind):

 

$ jar xf ROOT.war META-INF/context.xml

$ vim META-INF/context.xml

$ jar uf ROOT.war META-INF/context.xml

$ rm -rf META-INF

 

On the edit step there, you want to add one line to the context.xml file:

 

<Context>

    <Loader className="org.apache.catalina.loader.VirtualWebappLoader" searchVirtualFirst="true" virtualClasspath="${xnat.home}/plugins/*.jar"/>

    <JarScanner scanAllDirectories="true" />

    <Parameter name="xnatHome" value="${xnat.home}"/>

    <Manager pathname=""/>

</Context>

 

That highlighted line will not be in the file you extract. Add it in, save the file, then proceed. Note that this line is in context.xml in the upcoming 1.7.5 release.

 

Try those things and see if it helps fix your issue(s).

 

-- 

Rick Herrick

Sr. Programmer/Analyst

Neuroinformatics Research Group

Washington University School of Medicine

Phone: +1 (314) 273-1645

--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xnat_discussi...@googlegroups.com.
To post to this group, send email to xnat_di...@googlegroups.com.
Visit this group at https://groups.google.com/group/xnat_discussion.
To view this discussion on the web visit https://groups.google.com/d/msgid/xnat_discussion/f2e557d8-f181-4224-96ef-3a6d7422a6fe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

 


The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.

Spiro Pantazatos

unread,
Sep 21, 2018, 1:14:41 PM9/21/18
to xnat_discussion
Thanks for the prompt response Rick. I neglected to mention that I was getting the same errors on XNAT 1.7.4 and then saw the same errors after upgrading to XNAT 1.7.4.1 using a fresh war file. I'll try out the edit you recommend and report back. 

Spiro Pantazatos

unread,
Sep 21, 2018, 3:54:34 PM9/21/18
to xnat_discussion
So, I deleted the ROOT folder and replaced it with a new copy of ROOT.war, and then followed your steps to modify the context.xml file. After step 3 though it gave me the below error. I verified that the line wasn't added to the META-INF/context.xml after rerunning step 1 and 2. 

java.util.zip.ZipException: duplicate entry: WEB-INF/lib/axis-ant-1.4.jar

                at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:215)

                at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)

                at sun.tools.jar.Main.update(Main.java:583)

                at sun.tools.jar.Main.run(Main.java:224)

                at sun.tools.jar.Main.main(Main.java:1231)


I tried running "jar xf WEB-INF/lib/axis-ant-1.4.jar" to take a look but I got File not found error. Should the file exist given the above error? 

Reply all
Reply to author
Forward
0 new messages