Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Does SCM_ALLOW_INSECURE work in RTC 3.0.1.2?

I am running scm -r nickname commands in our build and am getting the below error when more than one scm command is running.

Could not secure .jazz-scm:
Failed to set permissions on directory /home/myhome/.jazz-scm

I googled a bit and found references to SCM_ALLOW_INSECURE, but that is only documented for RTC 4.0.x
Does anybody know whether it also work for RTC 3.0.1.2?

I also found references that suggested to remove .jazz-scm and have scm recreate it and I did that and have started a bunch of builds again.

1 vote


Accepted answer

Permanent link
I believe that env var was introduced in 4.0. Does the scm tool have enough priviliges? or is your home directory on a NFS? You could also try pointing your configuration directory to some other location using the scm --config option or use the SCM_CONFIG_DIRECTORY
Martina Riedel selected this answer as the correct answer

1 vote

Comments

It can do the lock when only one scm command is running. The issue is when 2 or more are running at the same time and only one of  them can get the lock.

I remember that there was a race condition that could occur when running multiple commands from different consoles. I haven't seen any error related to that with respect to setting the permissions.

If the error is about locking a sandbox when two scm processes is accessing it then that is fine as we only allow one scm process to manage the sandbox.
Can you elaborate on your usecase? You could also try using 'lscm' instead of 'scm'.

this is nothing to do with a sandbox.
We are running the builds form Build Forge.
That means that all builds run from the same service account.
We use the -r nickname, so the pw doesn't get exposed.
The BF project is generic and used from literally thousands of build definitions.
Builds run in parallel, each has its own workspace, sandbox etc. They do commands like
scm list components, scm compare, scm list baselines, scm deliver
In fact scm list components is run as the very first command and the output is parsed to determine the stream name.
As probability will have it, if 2 or more builds are started in succession, the list components commands run at the same time and often 1 has that error.

I tried setting SCM_ALLOW_INSECURE=true and it looks like it works in 3.0.1.2 as well, its just undocumented.
I'll set it in the BF env and watch whether the error goes away.

SCM_ALLOW_INSECURE=true has no effect in RTC 3.0.1.2.
All our shares are NFS. Its a VM.
I have put in code that checks the error message for "Could not secure .jazz-scm" and retries in that case.

I just found this article that mentions the issue with NFS... https://jazz.net/library/article/533 

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 1,202
× 158
× 113
× 87

Question asked: Dec 06 '13, 1:27 p.m.

Question was seen: 6,696 times

Last updated: Jan 02 '14, 9:11 p.m.

Confirmation Cancel Confirm