WE HAVE SUNSET THIS LISTSERV - Join us at collectionspace@lyrasislists.org
View all threadsHi Richard (and talk list),
I'm attempting to get the exhibition procedure into 4.2, and I'm hitting a
blocker.
When I build from the master branch, I get a bunch of these errors on the
deploy_services_artifacts step:
[exec] java.io.FileNotFoundException:
/tmpcore.collectionspace.org.users.bindings.xml (Permission denied)
It looks like there's a slash missing after /tmp -- is this a bug, or do I
need to configure something somewhere?
As a semi-related aside, I've been finding that /tmp is a bad place to put
these files. When you have two cspace source trees on the same computer,
and those source trees are built by different users, the file names
collide, and one user is unable to write to the files that the other user
created. Even if the same user is used to build both source trees, consider
what might happen if the builds happen simultaneously. It seems safer to
put these in a target directory in the source tree.
Thanks,
Ray
?Ray,
I haven't seen this but probably because I haven't done a local build on Mac OS/Linux in a few weeks -mostly, I've been building on Windows 7. I'll try a build on my Mac and see if I can resolve the problem.
As for putting these debug files in tmp, I can easily change the location. How about, for each build, I add directory with a random UUID as the name for containing these files? They'll still go to temp/tmp but will be namespaced inside that new directory? Any other suggestions are welcome.
-Richard
From: Ray Lee rhlee@berkeley.edu
Sent: Thursday, April 23, 2015 1:05 PM
To: Richard Millet
Cc: CollectionSpace Talk List
Subject: master build error
Hi Richard (and talk list),
I'm attempting to get the exhibition procedure into 4.2, and I'm hitting a blocker.
When I build from the master branch, I get a bunch of these errors on the deploy_services_artifacts step:
[exec] java.io.FileNotFoundException: /tmpcore.collectionspace.org.users.bindings.xml (Permission denied)
It looks like there's a slash missing after /tmp -- is this a bug, or do I need to configure something somewhere?
As a semi-related aside, I've been finding that /tmp is a bad place to put these files. When you have two cspace source trees on the same computer, and those source trees are built by different users, the file names collide, and one user is unable to write to the files that the other user created. Even if the same user is used to build both source trees, consider what might happen if the builds happen simultaneously. It seems safer to put these in a target directory in the source tree.
Thanks,
Ray
Ray,
Could you send me a stack trace (ideally with a class name and line number) for that java.io.FileNotFoundException? I'm not seeing the problem on my Mac. Also, the Nightly server on Linux is not having any problems.
FYI, here is the location that the temporary files are getting placed on my Mac:
/var/folders/rr/z92p26zj0_q1qqb9m0nc2skm0000gn/T/core.collectionspace.org.loanin.bindings.xml
I'm pretty sure the code is just asking the JVM for the system temp directory. But I can still add a new directory in the system temp in which to store these temp files. That should help you keep track of them better.
-Richard
From: Ray Lee rhlee@berkeley.edu
Sent: Thursday, April 23, 2015 1:05 PM
To: Richard Millet
Cc: CollectionSpace Talk List
Subject: master build error
Hi Richard (and talk list),
I'm attempting to get the exhibition procedure into 4.2, and I'm hitting a blocker.
When I build from the master branch, I get a bunch of these errors on the deploy_services_artifacts step:
[exec] java.io.FileNotFoundException: /tmpcore.collectionspace.org.users.bindings.xml (Permission denied)
It looks like there's a slash missing after /tmp -- is this a bug, or do I need to configure something somewhere?
As a semi-related aside, I've been finding that /tmp is a bad place to put these files. When you have two cspace source trees on the same computer, and those source trees are built by different users, the file names collide, and one user is unable to write to the files that the other user created. Even if the same user is used to build both source trees, consider what might happen if the builds happen simultaneously. It seems safer to put these in a target directory in the source tree.
Thanks,
Ray
Here's a stack trace. I'm building on Ubuntu.
[exec] 2015-04-23 13:46:08,432 DEBUG [main]
[org.collectionspace.chain.installation.Services:250] Could not write
Service bindings for record='users' to file:
/tmpcore.collectionspace.org.users.bindings.xml
[exec] java.io.FileNotFoundException:
/tmpcore.collectionspace.org.users.bindings.xml (Permission denied)
[exec] at java.io.FileOutputStream.open(Native Method)
[exec] at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
[exec] at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
[exec] at
org.apache.commons.io.FileUtils.openOutputStream(FileUtils.java:238)
[exec] at
org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:1474)
[exec] at
org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:1489)
[exec] at
org.collectionspace.chain.installation.Services.writeToFile(Services.java:246)
[exec] at
org.collectionspace.chain.installation.Services.doServiceBindingsCommon(Services.java:214)
[exec] at
org.collectionspace.chain.installation.Services.doit(Services.java:88)
[exec] at
org.collectionspace.chain.installation.XsdGeneration.<init>(XsdGeneration.java:272)
[exec] at
org.collectionspace.chain.controller.CommandLine.generateServiceBindings(CommandLine.java:552)
[exec] at
org.collectionspace.chain.controller.CommandLine.main(CommandLine.java:664)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[exec] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[exec] at java.lang.reflect.Method.invoke(Method.java:606)
[exec] at com.simontuffs.onejar.Boot.run(Boot.java:313)
[exec] at com.simontuffs.onejar.Boot.main(Boot.java:161)
Making a unique subdirectory under /tmp would definitely help.
Thanks,
Ray
On Thu, Apr 23, 2015 at 1:38 PM, Richard Millet richard.millet@lyrasis.org
wrote:
Ray,
Could you send me a stack trace (ideally with a class name and line
number) for that java.io.FileNotFoundException? I'm not seeing the
problem on my Mac. Also, the Nightly server on Linux is not having any
problems.
FYI, here is the location that the temporary files are getting placed on
my Mac:
/var/folders/rr/z92p26zj0_q1qqb9m0nc2skm0000gn/T/core.collectionspace.org.loanin.bindings.xml
I'm pretty sure the code is just asking the JVM for the system temp
directory. But I can still add a new directory in the system temp in which
to store these temp files. That should help you keep track of them better.
-Richard
From: Ray Lee rhlee@berkeley.edu
Sent: Thursday, April 23, 2015 1:05 PM
To: Richard Millet
Cc: CollectionSpace Talk List
Subject: master build error
Hi Richard (and talk list),
I'm attempting to get the exhibition procedure into 4.2, and I'm hitting a
blocker.
When I build from the master branch, I get a bunch of these errors on the
deploy_services_artifacts step:
[exec] java.io.FileNotFoundException:
/tmpcore.collectionspace.org.users.bindings.xml (Permission denied)
It looks like there's a slash missing after /tmp -- is this a bug, or do
I need to configure something somewhere?
As a semi-related aside, I've been finding that /tmp is a bad place to put
these files. When you have two cspace source trees on the same computer,
and those source trees are built by different users, the file names
collide, and one user is unable to write to the files that the other user
created. Even if the same user is used to build both source trees, consider
what might happen if the builds happen simultaneously. It seems safer to
put these in a target directory in the source tree.
Thanks,
Ray