Announcing the release of XNAT 1.6.2.1!

363 views
Skip to first unread message

Rick Herrick

unread,
Jul 15, 2013, 5:50:52 PM7/15/13
to xnat_di...@googlegroups.com
Full announcement with links and everything is available on our Water Cooler wiki! Long story short, you can download XNAT 1.6.2.1 from our download site or pull code from the XNAT Bitbucket repository.

We don't yet have release notes available, but will be working on those this week. Another long story short, we put a lot of work into this release and have resolved LOTS of bugs and implementation issues. Give it a try! 

Kasper Claes

unread,
Jul 16, 2013, 9:05:56 AM7/16/13
to xnat_di...@googlegroups.com
Dear XNAT developers,

thanks for all the hard work on XNAT. I was more or less able to upgrade from XNAT 1.6.1 (on Ubuntu 13.04, kernel 3.8.0-26, postgresql 9.1.9, JDK 7u21-2.3.9, Tomcat 7.0.42 directly from Apache website).
"bin/StoreXML -project bil -l security/security.xml -allowDataDeletion true"
failed to run, but I'm unsure whether this (and/or the other StoreXML command) should be run when upgrading.
The resulting system seems functional but I cannot access my configuration settings in the browser (logged in as admin): the data field are not filled out in none of the tabs, and I get an error:
"ERROR 200: Failed to parse site information."

After that, I tried an installation of a vanilla XNAT 1.6.2.1, and got stuck on the same StoreXML command:
bin/StoreXML -project bil -l security/security.xml -allowDataDeletion true
This user has insufficient privileges for the data type 'Only site administrators can read core documents.'.
ERROR:  See log for details (logs/xdat.log)

Below the content of xdat.log.

Thank you for your time/input,
   Kasper
--
dr.ir. Kasper Claes
Core facility manager Bio-Imaging Lab <http://bioimaginglab.ua.ac.be>
University of Antwerp
Campus Drie Eiken
Universiteitsplein 1
building Uc, room 1.11
B-2610 Antwerp (Wilrijk)
Tel: ++32 (0)3 2652784

java.lang.ClassNotFoundException: org.nrg.xnat.utils.WorkflowUtils
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:188)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.getWorkflowBuilder(PersistentWorkflowUtils.java:30)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildOpenWorkflow(PersistentWorkflowUtils.java:64)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildOpenWorkflow(PersistentWorkflowUtils.java:126)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildAdminWorkflow(PersistentWorkflowUtils.java:153)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:200)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:127)
        at StoreXML.process(StoreXML.java:255)
        at org.nrg.xft.commandPrompt.CommandPromptTool._process(CommandPromptTool.java:205)
        at org.nrg.xft.commandPrompt.CommandPromptTool.run(CommandPromptTool.java:179)
        at org.nrg.xft.commandPrompt.CommandPromptTool.<init>(CommandPromptTool.java:77)
        at StoreXML.<init>(StoreXML.java:45)
        at StoreXML.main(StoreXML.java:49)
2013-07-16 14:53:45,400 [main] ERROR org.nrg.xdat.turbine.utils.AdminUtils - Unable to send mail
java.lang.NullPointerException
        at org.nrg.framework.services.ContextService.getBean(ContextService.java:94)
        at org.nrg.xdat.XDAT.getMailService(XDAT.java:350)
        at org.nrg.xdat.turbine.utils.AdminUtils.sendAdminEmail(AdminUtils.java:370)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:91)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:103)
        at org.nrg.xdat.security.Authorizer.authorizeSave(Authorizer.java:64)
        at org.nrg.xft.utils.SaveItemHelper.unauthorizedSave(SaveItemHelper.java:213)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:214)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:127)
        at StoreXML.process(StoreXML.java:255)
        at org.nrg.xft.commandPrompt.CommandPromptTool._process(CommandPromptTool.java:205)
        at org.nrg.xft.commandPrompt.CommandPromptTool.run(CommandPromptTool.java:179)
        at org.nrg.xft.commandPrompt.CommandPromptTool.<init>(CommandPromptTool.java:77)
        at StoreXML.<init>(StoreXML.java:45)
        at StoreXML.main(StoreXML.java:49)
2013-07-16 14:53:45,401 [main] ERROR org.nrg.xdat.security.Authorizer -
org.nrg.xft.exception.InvalidPermissionException: This user has insufficient privileges for the data type 'Only site administrators can read core documents.'.
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:92)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:103)
java.lang.ClassNotFoundException: org.nrg.xnat.utils.WorkflowUtils
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:188)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.getWorkflowBuilder(PersistentWorkflowUtils.java:30)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildOpenWorkflow(PersistentWorkflowUtils.java:64)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildOpenWorkflow(PersistentWorkflowUtils.java:126)
        at org.nrg.xft.event.persist.PersistentWorkflowUtils.buildAdminWorkflow(PersistentWorkflowUtils.java:153)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:200)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:127)
        at StoreXML.process(StoreXML.java:255)
        at org.nrg.xft.commandPrompt.CommandPromptTool._process(CommandPromptTool.java:205)
        at org.nrg.xft.commandPrompt.CommandPromptTool.run(CommandPromptTool.java:179)
        at org.nrg.xft.commandPrompt.CommandPromptTool.<init>(CommandPromptTool.java:77)
        at StoreXML.<init>(StoreXML.java:45)
        at StoreXML.main(StoreXML.java:49)
2013-07-16 14:53:45,400 [main] ERROR org.nrg.xdat.turbine.utils.AdminUtils - Unable to send mail
java.lang.NullPointerException
        at org.nrg.framework.services.ContextService.getBean(ContextService.java:94)
        at org.nrg.xdat.XDAT.getMailService(XDAT.java:350)
        at org.nrg.xdat.turbine.utils.AdminUtils.sendAdminEmail(AdminUtils.java:370)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:91)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:103)
        at org.nrg.xdat.security.Authorizer.authorizeSave(Authorizer.java:64)
        at org.nrg.xft.utils.SaveItemHelper.unauthorizedSave(SaveItemHelper.java:213)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:214)
        at org.nrg.xdat.XDATTool.storeXML(XDATTool.java:127)
        at StoreXML.process(StoreXML.java:255)
        at org.nrg.xft.commandPrompt.CommandPromptTool._process(CommandPromptTool.java:205)
        at org.nrg.xft.commandPrompt.CommandPromptTool.run(CommandPromptTool.java:179)
        at org.nrg.xft.commandPrompt.CommandPromptTool.<init>(CommandPromptTool.java:77)
        at StoreXML.<init>(StoreXML.java:45)
        at StoreXML.main(StoreXML.java:49)
2013-07-16 14:53:45,401 [main] ERROR org.nrg.xdat.security.Authorizer -
org.nrg.xft.exception.InvalidPermissionException: This user has insufficient privileges for the data type 'Only site administrators can read core documents.'.
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:92)
        at org.nrg.xdat.security.Authorizer.authorize(Authorizer.java:103)

Timothy Olsen

unread,
Jul 16, 2013, 10:45:29 AM7/16/13
to xnat_di...@googlegroups.com

Kasper,

 Are you creating a new database or reusing the old database?

 The StoreXML steps should not be run during a system upgrade when you are reusing the same database.  It would attempt to reset the administrative accounts to their original state and you would likely undo some changes you had made.  Please review the installation instructions here:

 https://wiki.xnat.org/display/XNAT16/How+to+Upgrade+XNAT#HowtoUpgradeXNAT-Update


Regarding your fresh installation, confirm that your tomcat server is shutdown when running this step (or it will try to use web services).  Also, the -project attribute shouldn’t be necessary here.

 Tim




--
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 http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Kasper Claes

unread,
Jul 17, 2013, 4:57:15 AM7/17/13
to xnat_di...@googlegroups.com
Tim,

thanks a lot for your quick reply: this solved the entire issue: an adapted XNAT 1.6.2.1 running fine here now.
In retrospect, I could have found the (very nice) upgrade documentation page myself :) , my apologies.

Regards,
   Kasper

Dom McIntyre

unread,
Jul 18, 2013, 7:40:54 AM7/18/13
to xnat_di...@googlegroups.com
Good morning,
I've had a quick play with upgrading two test databases, a VM and a from-scratch Windows installation, and hit problems with uploading new data with both; the data wouldn't appear in the prearchive, generating errors like "org.postgresql.util.PSQLException: ERROR: INSERT has more expressions than target columns". I looked at a fresh 1.6.2.1 installation and found a new timezone column in the xdat_search.prearchive table. Inserting that into my test database fixed uploading. Was that the right thing to do?
Thanks
Dom

Christoph Jansen

unread,
Jul 23, 2013, 9:21:29 AM7/23/13
to xnat_di...@googlegroups.com
Hi,

I have some issues with the new version of XNAT. I tried upgrading a previous version and I tried a complete new installation with a new database, but there's always the same error:

Uploading images to the prearchive works fine, but when I press the archive button I get an Internal Server Error 500. I've also tested several image sets

My System: Ubuntu 13.04, psql 9.1.9, Tomcat 7.0.39, XNAT 1.6.2.1

XDAT Log:
2013-07-23 14:48:09,740 [http-bio-8080-exec-7] ERROR org.nrg.xnat.helpers.merge.MergeSessionsA - 
java.lang.NullPointerException
at org.nrg.xnat.utils.CatalogUtils.populateStats(CatalogUtils.java:1001)
at org.nrg.xnat.helpers.merge.MergePrearcToArchiveSession.finalize(MergePrearcToArchiveSession.java:54)
at org.nrg.xnat.helpers.merge.MergePrearcToArchiveSession.finalize(MergePrearcToArchiveSession.java:32)
at org.nrg.xnat.helpers.merge.MergeSessionsA.call(MergeSessionsA.java:165)
at org.nrg.xnat.archive.PrearcSessionArchiver.call(PrearcSessionArchiver.java:561)
at org.nrg.xnat.helpers.prearchive.PrearcDatabase$12.extSync(PrearcDatabase.java:580)
at org.nrg.xnat.helpers.prearchive.PrearcDatabase$12.extSync(PrearcDatabase.java:577)
at org.nrg.xnat.helpers.prearchive.PrearcDatabase$LockAndSync.run(PrearcDatabase.java:1176)
at org.nrg.xnat.helpers.prearchive.PrearcDatabase._archive(PrearcDatabase.java:601)
at org.nrg.xnat.helpers.prearchive.PrearcDatabase.archive(PrearcDatabase.java:550)
at org.nrg.xnat.archive.FinishImageUpload.call(FinishImageUpload.java:106)
at org.nrg.xnat.restlet.resources.prearchive.PrearcSessionResource.handlePost(PrearcSessionResource.java:223)
... 

I attached the complete log files. 

Thanks in advance for your help.

Best regards, Christoph
dicom.log
prearchive.log
sql.log
xdat.log

Herrick, Rick

unread,
Jul 23, 2013, 11:17:07 AM7/23/13
to xnat_di...@googlegroups.com

Hey Christoph,

 

I can see where the error is occurring and can guess why it’s occurring, at least in the immediate analysis. For some reason the file count is returning null, which might make sense since the prearc session build process appears to be failing. Could you possibly make one of the sessions that’s causing this failure available to us to test?

 

Believe me, this initial part of the process is working for us here in the lab or we would have noticed that we couldn’t get any imaging data into our imaging data management server J

 

Rick Herrick

Sr. Programmer/Analyst

Neuroinformatics Research Group

Washington University School of Medicine

(314) 827-4250

--

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 http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/groups/opt_out.
 
 




The material in this message is private and may contain Protected Healthcare Information (PHI). 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.

Christoph Jansen

unread,
Jul 23, 2013, 12:30:22 PM7/23/13
to xnat_di...@googlegroups.com
Hey Rick,

thanks for your quick reply. I tried a new installation with the package from the xnat download page (http://www.xnat.org/download/) in the meantime and now everything's working.
I still have no idea what went wrong with my installation from the developers repository. But since it's working now, I guess I made a mistake in one of the installation steps.

Again, thank you very much for your help. I didn't mean to bother you ;)

Best regards, Christoph

Simon Doran

unread,
Jul 23, 2013, 1:20:20 PM7/23/13
to xnat_di...@googlegroups.com
Dear Rick et al.

  Having a few problems installing 1.6.2.1. Maybe I am doing some stupid things but it didn't seem too dumb at the time. I wanted to preserve the original database so that I could always go back, so I made a copy.

stop_tomcat
cd /srv/xnat/XNAT/postgres_db_dumps
pg_dump -U xnat xnat161_valhalla > xnat161_valhalla.`date +%Y_%m_%d`
psql -U postgres
CREATE DATABASE xnat162_valhalla WITH OWNER xnat;
psql -U xnat -d xnat162_valhalla -f xnat161_valhalla.2013_07_23
---> Edit build properties to include new database.
cd /srv/xnat/XNAT/code
ln -s xnat_1.6.2.1 Current
cd $XNAT_HOME  [This is /srv/xnat/XNAT/code/Current.]
bin/setup.sh
cd /srv/xnat/XNAT/code/xnat_1.6.1/projects
cp -r XNAT_VALHALLA/ /srv/xnat/XNAT/code/Current/projects/
bin/update.sh -Ddeploy=true
cd deployments/XNAT_VALHALLA/sql
psql -U xnat -d xnat162_valhalla -f XNAT_VALHALLA-update.sql
start_tomcat

When I log in, I get the message:

An error has occurred.

Please contact your IT staff or the application logs for more information.


axis.log
7475 [localhost-startStop-1] ERROR org.apache.axis.configuration.EngineConfigurationFactoryServlet  - Unable to find config file.  Creating new servlet engine config file: /WEB-INF/server-config.wsdd

velocity.log
2013-07-23 17:10:02,272 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 0
2013-07-23 17:10:02,273 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 0
2013-07-23 17:10:02,273 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 0
2013-07-23 17:10:02,298 [localhost-startStop-1] ERROR velocity - VM #xdatSearchForm: error : too few arguments to macro. Wanted 2 got 0
2013-07-23 17:10:02,334 [localhost-startStop-1] ERROR velocity - VM #displayFileSystem: error : too few arguments to macro. Wanted 1 got 0
2013-07-23 17:10:02,335 [localhost-startStop-1] ERROR velocity - VM #auditBoxes: error : too few arguments to macro. Wanted 4 got 0
2013-07-23 17:10:26,495 [http-bio-8443-exec-3] ERROR velocity - Left side ($sessionCount) of '>' operation has null value. Operation not possible. navigations//DefaultTop.vm [line 157, column 21]
2013-07-23 17:10:02,272 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 02013-07-23 17:10:02,273 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 0
2013-07-23 17:10:02,273 [localhost-startStop-1] ERROR velocity - VM #xdatStringBoxOnChange: error : too few arguments to macro. Wanted 6 got 0
2013-07-23 17:10:02,298 [localhost-startStop-1] ERROR velocity - VM #xdatSearchForm: error : too few arguments to macro. Wanted 2 got 0
2013-07-23 17:10:02,334 [localhost-startStop-1] ERROR velocity - VM #displayFileSystem: error : too few arguments to macro. Wanted 1 got 0
2013-07-23 17:10:02,335 [localhost-startStop-1] ERROR velocity - VM #auditBoxes: error : too few arguments to macro. Wanted 4 got 0
2013-07-23 17:10:26,495 [http-bio-8443-exec-3] ERROR velocity - Left side ($sessionCount) of '>' operation has null value. Operation not possible. navigations//DefaultTop.vm [line 157, column 21]
2013-07-23 17:10:26,497 [http-bio-8443-exec-3] ERROR velocity - Left side ($sessionIpCount) of '>' operation has null value. Operation not possible. navigations
//DefaultTop.vm [line 157, column 44]

xdat.log
Lots of errors of form:
2013-07-23 17:10:26,281 [http-bio-8443-exec-3] ERROR org.nrg.xdat.turbine.modules.screens.SecureScreen -
java.lang.NullPointerException
        at com.google.common.base.Joiner.appendTo(Joiner.java:94)
        at com.google.common.base.Joiner.appendTo(Joiner.java:129)
        at com.google.common.base.Joiner.join(Joiner.java:160)
        at org.nrg.xdat.XDAT.createDefaultWhitelist(XDAT.java:608)
        at org.nrg.xdat.XDAT.getWhitelistConfiguration(XDAT.java:112)
        at org.nrg.xdat.XDAT.getWhitelistedIPs(XDAT.java:106)
        at org.nrg.xdat.turbine.modules.screens.SecureScreen.doBuildTemplate(SecureScreen.java:133)
        at org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:100)
        at org.apache.turbine.modules.Screen.build(Screen.java:57)
        at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:104)
        at org.apache.turbine.modules.layouts.VelocityOnlyLayout.doBuild(VelocityOnlyLayout.java:92)
        at org.apache.turbine.modules.Layout.build(Layout.java:53)
        at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:98)
        at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:146)
        at org.apache.turbine.modules.Page.build(Page.java:53)
        at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:98)
        at org.apache.turbine.Turbine.doGet(Turbine.java:751)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)





All suggestions welcome.

Simon

Herrick, Rick

unread,
Jul 23, 2013, 2:11:02 PM7/23/13
to xnat_di...@googlegroups.com

Well that’s weird. A couple things.

 

Your axis.log and velocity.log messages are basically red herrings. That axis.log message will pop up on every server restart since we don’t have that wsdd configuration so it always uses its default set up. The velocity log is due partly to some mangled Velocity structures in the code and partly due to the age of the version of Velocity that we have.

 

The xdat.log message is probably the real error, but it’s really strange. It comes from here:

 

return XDAT.getConfigService().replaceConfig(username, reason, IP_WHITELIST_TOOL, IP_WHITELIST_PATH, Joiner.on("\n").join(getLocalhostIPs()));

 

getLocalhostIPs() does what you think it would do: returns the various values for the IP addresses for the localhost. This is used to filter out multiple logins for a single user when, e.g., pipelines run on the XNAT server. So something must be going wrong in there then nulling out the List<String> that gets returned.

 

Try this: in your deployed web app, edit the file WEB-INF/conf/log4j.properties. Look for the line:

 

log4j.category.org.nrg.xdat=ERROR, xdat

 

Replace ERROR with INFO, restart Tomcat, then try again. You should find a message in your xdat.log that has a message something like “Localhost is an unknown host”. Let me know what that says.

 

Rick Herrick

Sr. Programmer/Analyst

Neuroinformatics Research Group

Washington University School of Medicine

(314) 827-4250

 

From: xnat_di...@googlegroups.com [mailto:xnat_di...@googlegroups.com] On Behalf Of Simon Doran
Sent: Tuesday, July 23, 2013 12:20 PM
To: xnat_di...@googlegroups.com
Subject: [XNAT Discussion] Re: Announcing the release of XNAT 1.6.2.1!

 

Dear Rick et al.

--

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 http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Herrick, Rick

unread,
Jul 23, 2013, 2:48:59 PM7/23/13
to xnat_di...@googlegroups.com

Christoph,

 

It turns out that you ran across a bug in the development code that also ended up affecting our development servers. I just pushed a change up to the development repo on Bitbucket if you want to try to revert back to the development tip. Of course, this sort of thing is why pulling from the development tip can be a little scary J Thanks for the good info on the problem!

 

Rick Herrick

Sr. Programmer/Analyst

Neuroinformatics Research Group

Washington University School of Medicine

(314) 827-4250

 

--

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 http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Simon Doran

unread,
Jul 24, 2013, 7:31:54 AM7/24/13
to xnat_di...@googlegroups.com
Rick,

  Thanks for the pointer. Here is the info that comes back.

2013-07-23 21:59:40,733 [http-bio-8443-exec-6] INFO  org.nrg.xdat.XDAT - Localhost is an unknown host... Wha?
java.net.UnknownHostException: xxxx.xxxx.nhs.uk: xxxx.xxxx.nhs.uk: Name or service not known

  So, that certainly has the potential for explaining why something is going wrong. It's not completely surprising to me that this is the case, as the machine is (deliberately) on a very restricted network behind. It suggests we may have some work to do here, in general, with relation to DNS but doesn't explain why 1.6.1 worked fine with no modification.  Fortunately for the solution to this specific problem, all I had to do was to add an appropriate line in /etc/hosts and the problem went away.

  Thanks again for the help.

Simon

Herrick, Rick

unread,
Jul 24, 2013, 10:47:23 AM7/24/13
to xnat_di...@googlegroups.com

The reason 1.6.1 worked with no problem is that it didn’t do this at all. The problem was that then every session for an account showed up and freaked people out, since it would say something along the lines of “10 sessions from 3 IPs r u being teh haxx0rzed ono!!!!” Or something like that.

 

So we put in the filtering to remove sessions that we knew had to be benign, which includes any analogs of localhost, but can also include other whitelisted IPs:

 

·         Yes, you can configure additional IPs to filter out, e.g., sessions spawned from back-end processing like grid engine or Hadoop clusters

·         No, there’s no documentation on how to do this yet

·         Yes, I really need to work on that, but it was a late fix to address issues with CNDA users, so the docs haven’t made it yet

 

That’s excellent that you were able to work out a solution to the issue. I’ll put a fix in the code to just ignore localhost synonyms that can’t resolve. I had assumed that localhosts would all be good, but clearly I hadn’t counted on the devilish ingenuity of the NHS ;)

 

Rick Herrick

Sr. Programmer/Analyst

Neuroinformatics Research Group

Washington University School of Medicine

(314) 827-4250

 

From: xnat_di...@googlegroups.com [mailto:xnat_di...@googlegroups.com] On Behalf Of Simon Doran


Sent: Wednesday, July 24, 2013 6:32 AM
To: xnat_di...@googlegroups.com

Simon Doran

unread,
Jul 25, 2013, 3:07:46 AM7/25/13
to xnat_di...@googlegroups.com
Rick,

  Thanks for the explanation.

  Unfortunately, it seems as if my previous celebrations were a bit premature. Everything seemed to be working but I have come across two more problems:

1. Obviously, trying to track down the previous problem has involved quite a lot of starting and stopping Tomcat. Looking at catalina.out has revealed lots of problems of the form below. On one occassion, there were so many unterminated Java processes running on the system that I ran out of memory on a system with 64 GB of RAM and I had to type 'kill -9' quite a lot of times!

SEVERE: The web application [/XNAT_xxxxx] appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10] but has failed to stop it. This is very likely to create a memory leak.
Jul 25, 2013 7:37:35 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

SEVERE: The web application [/XNAT_xxxxx] appears to have started a thread named [ActiveMQ Cleanup Timer] but has failed to stop it. This is very likely to create a memory leak.

SEVERE: The web application [/XNAT_xxxxx] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@99e3414]) and a value of type [org.nrg.xnat.restlet.XNATApplication] (value [org.nrg.xnat.restlet.XNATApplication@5b2b65a7]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

2. When I navigated to the Administer -> Configuration page, I got the rather disconcerting display below. 

   The same happens with all the admin configuration pages. I checked in the logs and no errors appear to show up.

   Do you have any ideas what could have caused this and could it have been related to the previous problem?

   In the meantime, I am going to try starting the migration procedure again from scratch, in case my previous issue has contributed to either of these.

   Best wishes,

Simon

Simon Doran

unread,
Jul 25, 2013, 3:20:01 AM7/25/13
to xnat_di...@googlegroups.com
OK, so the screenshot didn't get attached properly to my last post. Let's try again.

The error was "ERROR 200: Failed to parse site information".




config_page.png

Simon Doran

unread,
Jul 25, 2013, 5:46:27 AM7/25/13
to xnat_di...@googlegroups.com
Sorry, me again, this time regarding the upgrade documentation at https://wiki.xnat.org/display/XNAT16/How+to+Upgrade+XNAT#

Observation: The following line doesn't work fully.

> If you have any project customizations in the projects/project folder, copy the old projects directory into the new release.

   There are files in the projects folder of 1.6.2.1 that don't exist in 1.6.1 (and presumably this holds to an even greater extent for 1.6.2.1 vs. 1.5.4). So simply replacing the directory $XNAT_HOME/projects/xnat with $XNAT_OLD_VERSION/projects/xnat can't be right.

   My second attempt was to use cp -u, so that any additional (i.e., customised) files in 1.6.1 get copied into the new projects folder, but newer (replacement) files already in 1.6.2.1 don't get overwritten.

   However, this is also a problem, as key files that require customisation might have been updated in 1.6.2.1. The obvious example is InstanceSettings.xml, which has a new line for screeningAssessment.xsd inserted into it. I have now changed this to fill back in my schema location and the bin/update.sh now completes correctly.

   Are there any other files that I need to be careful of? To do this rigorously, I started out on the route:

cd $XNAT_HOME/projects
find . -print > 1.6.2_file_list
cd $XNAT_OLD_VERSION/projects
find . -print > old_file_list
diff old_file_list 1.6.2_file_list

but this just seemed like hard work to go through by hand.

Is it worth updating the documentation to provide a good recommendation for what to do here?

Simon  

Tom Gee

unread,
Aug 27, 2013, 3:07:24 PM8/27/13
to xnat_di...@googlegroups.com
Hey Simon, did you ever make any progress on this question?  I'm seeing the same warnings.

Thanks!
   Tom
---

felix.rui...@icometrix.com

unread,
Aug 28, 2013, 5:21:17 PM8/28/13
to xnat_di...@googlegroups.com
Hi,

thanks for the new version. I have tried it out, and seems not to work as expected when going from 1.6.1 to 1.6.2.1
When logging in, it seems i am unable to get a major part of the queries made by the application. I can't get any scan data at all trought the GUI.
When checking the logs, we have
==> xdat.log <==
2013-08-28 23:02:47,981 [http-8443-4] ERROR org.nrg.xdat.turbine.modules.screens.SecureScreen - 
org.postgresql.util.PSQLException: The column index is out of range: 19, number of columns: 18.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkColumnIndex(AbstractJdbc2ResultSet.java:2680)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkResultSet(AbstractJdbc2ResultSet.java:2697)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1872)
at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:174)

=> prearchive.log <==
2013-08-28 23:12:07,253 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5] ERROR org.nrg.xnat.helpers.prearchive.SessionXMLRebuilderJob - 
org.postgresql.util.PSQLException: The column index is out of range: 19, number of columns: 18.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkColumnIndex(AbstractJdbc2ResultSet.java:2680)
2013-08-28 23:12:07,254 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5] INFO  org.nrg.xnat.helpers.prearchive.SessionXMLRebuilderJob - Built 0 of 0
2013-08-28 23:13:07,251 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6] DEBUG org.nrg.xnat.helpers.prearchive.SessionXMLRebuilderJob - Running prearc job as admin
2013-08-28 23:13:07,253 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6] ERROR org.nrg.xnat.helpers.prearchive.PrearcTableBuilder - 
org.postgresql.util.PSQLException: The column index is out of range: 19, number of columns: 18.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkColumnIndex(AbstractJdbc2ResultSet.java:2680)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkResultSet(AbstractJdbc2ResultSet.java:2697)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1872)

The version of tomcat:   Tomcat/6.0.36
The version of postgres: 8.4.13
the version of java jdk 1.6.0_45

Does any of you happen have an idea?
Thank you very much!
felix
Reply all
Reply to author
Forward
0 new messages