Bug #168

make -j5 is incompatible with SeaBIOS payload

Added by First name * Last name * over 1 year ago. Updated 3 months ago.

Status:FeedbackStart date:06/19/2018
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

There's a race condition for git repo access:

fatal: Unable to create '/home/l29ah/projects/coreboot-x230/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
fatal: A branch named 'coreboot' already exists.
make[1]: *** [Makefile:37: checkout] Error 128
make: *** [payloads/external/Makefile.inc:73: seabios] Error 2
make: *** Waiting for unfinished jobs....

lenovoX230 (23.5 KB) HCL technologies, 08/20/2019 01:16 PM

History

#1 Updated by HCL technologies 4 months ago

It works as expected and the error is not reproducible as of now at our end(tried to open a git commit process in the same repo but got no such issue).
While replicating the issue, there was no error found when building for lenovo X230 as well as for qemu.
Attached is the config file for X230 as a reference.
There might be an issue with the background processes running on your host system and more susceptible with something broken while fetching and continuing within the same directory. The error message is rather explicit as to which process causes it typically, so if you have no other git processes running (which is the normal case), go ahead and delete that file(.git/index.lock).
As this doesn't seems the issue with the current coreboot source code, please change status appropriately.

#2 Updated by HCL technologies 3 months ago

".git/index.lock': File exists:" this occurs when not used sudo. Using sudo solves this well for me.

I suppose, this issue should be closed as soon as possible as it has been more than a year and is not valid in reference to its current status.

#3 Updated by Paul Menzel 3 months ago

  • Status changed from New to Feedback

Is it a permission issue? What does ls -l payloads/external/SeaBIOS/seabios/.git/index.lock return, when you do not run it with sudo?

#4 Updated by HCL technologies 3 months ago

1. For the first time if I 'sudo make' gives no error, issue is not replicated.
2. 'make' gives me:- fatal: Unable to create '/home/starks/Documents/sandbox/boot/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': `Permission denied`

ls -l payloads/external/SeaBIOS/seabios/.git/index.lock returns nothing for me as no file there beforehand.

3. To replicate the issue, I created index.lock as payloads/external/SeaBIOS/seabios/.git/index.lock
   'make' give now as:- fatal: Unable to create '/home/starks/Documents/sandbox/boot/coreboot/payloads/external/SeaBIOS/seabios/.git/index.lock': `File exists.`

The same as depicted from the description given in the issue above(rest is same as I got)

4. I even tried after sudo chmod 777 payloads/external/SeaBIOS/seabios/.git/index.lock, the same error exists as point 3.

Finally, should be done as follows:
1. Just go for rm payloads/external/SeaBIOS/seabios/.git/index.lock and retry with make, if sudo is not required in your host system.
2. Use sudo make to resolve the same.

Also available in: Atom PDF