Hi All,
I've tried building TB via tor-browser-build using runc-1.0.0-rc2 and it is currently failing. Has anyone recently had success with this? I created new debootstrap chroots of Xenial, Sid, Stretch, and Jessie - they all failed for one reason or another. In general I'm getting the following error, and this is caused by incorrectly parsing the Capabilities object in the runc-config.json file (expecting an array of capabilities, but the file containing the Capabilities object with array members is malformed). I understand the reasoning behind the error, from bug 23039, but I'm not sure why runc is expecting the old format.
$ make release git submodule update --init ./rbm/rbm build release --target release --target torbrowser-all Building project tor-browser - tor-browser-7.5a4-linux-x86_64-7de4de Building project container-image - container-image_wheezy-amd64-df3a332e7b34.tar.gz Building project debootstrap-image - container-image_wheezy-amd64.tar.gz Using file /home/sysrqb/tor-browser-build/out/debootstrap-image/container-image_ubuntu-base-17.04-base-amd64.tar.gz Error: Error starting remote:
json: cannot unmarshal object into Go struct field Process.capabilities of type []string
Makefile:6: recipe for target 'release' failed make: *** [release] Error 1
$ sudo runc --version runc version spec: 1.0.0-rc2-dev
$ apt-cache show runc Package: runc Version: 1.0.0~rc2+git20170201.133.9df8b30-3
I suspect this is some incompatibility in my system and it's partially caused by running this in a chroot, but I'm not exactly certain. I successfully built a torbrowser release using a fresh vm running Debian Stretch and checking out commit HEAD~ in tor-browser-build, master's HEAD failed. It seems the template for choosing between `runc start` and `runc run` chose the wrong subcommand:
$ make release git submodule update --init ./rbm/rbm build release --target release --target torbrowser-all Building project tor-browser - tor-browser-7.5a4-linux-x86_64-7de4de Building project container-image - container-image_wheezy-amd64-df3a332e7b34.tar.gz Building project debootstrap-image - container-image_wheezy-amd64.tar.gz Using file /home/sysrqb/tor-browser-build/out/debootstrap-image/container-image_ubuntu-base-17.04-base-amd64.tar.gz Error: Error starting remote:
No help topic for 'run'
Makefile:6: recipe for target 'release' failed make: *** [release] Error 1
$ sudo runc --version runc version 0.1.1 spec: 1.0.0-rc1
$ apt-cache show runc Package: runc Source: runc (0.1.1+dfsg1-2) Version: 0.1.1+dfsg1-2+b2 [...]
Thanks, Matt
Hi!
On Tue, 19 Sep 2017, Matthew Finkel wrote:
Hi All,
I've tried building TB via tor-browser-build using runc-1.0.0-rc2 and it is currently failing. Has anyone recently had success with this? I created new debootstrap chroots of Xenial, Sid, Stretch, and Jessie - they all failed for one reason or another. In general I'm getting the following error, and this is caused by incorrectly parsing the Capabilities object in the runc-config.json file (expecting an array of capabilities, but the file containing the Capabilities object with array members is malformed). I understand the reasoning behind the error, from bug 23039, but I'm not sure why runc is expecting the old format.
$ make release git submodule update --init ./rbm/rbm build release --target release --target torbrowser-all Building project tor-browser - tor-browser-7.5a4-linux-x86_64-7de4de Building project container-image - container-image_wheezy-amd64-df3a332e7b34.tar.gz Building project debootstrap-image - container-image_wheezy-amd64.tar.gz Using file /home/sysrqb/tor-browser-build/out/debootstrap-image/container-image_ubuntu-base-17.04-base-amd64.tar.gz Error: Error starting remote:
json: cannot unmarshal object into Go struct field Process.capabilities of type []string
Makefile:6: recipe for target 'release' failed make: *** [release] Error 1
$ sudo runc --version runc version spec: 1.0.0-rc2-dev
$ apt-cache show runc Package: runc Version: 1.0.0~rc2+git20170201.133.9df8b30-3
Ah, I only tried it with runc 0.1.1 (from Debian jessie backports, and from stretch), and runc 1.0.1 from Fedora 25. It seems version 1.0.0~rc2 is half between those two versions.
I opened #23585 for that issue: https://trac.torproject.org/projects/tor/ticket/23585
And I made a patch that might fix the issue: https://gitweb.torproject.org/user/boklm/tor-browser-build.git/commit/?h=bug...
When you are on that commit, could you check the output from the following 2 commands?
$ ./rbm/rbm showconf tor var_p/runc100 $ ./rbm/rbm showconf tor var_p/runc_spec100
The first one (var_p/runc100) should print '1', and the second one (var_p/runc_spec100) should print an empty line.
You can then try doing a build to see if this fix the issue.
I suspect this is some incompatibility in my system and it's partially caused by running this in a chroot, but I'm not exactly certain. I successfully built a torbrowser release using a fresh vm running Debian Stretch and checking out commit HEAD~ in tor-browser-build, master's HEAD failed. It seems the template for choosing between `runc start` and `runc run` chose the wrong subcommand:
$ make release git submodule update --init ./rbm/rbm build release --target release --target torbrowser-all Building project tor-browser - tor-browser-7.5a4-linux-x86_64-7de4de Building project container-image - container-image_wheezy-amd64-df3a332e7b34.tar.gz Building project debootstrap-image - container-image_wheezy-amd64.tar.gz Using file /home/sysrqb/tor-browser-build/out/debootstrap-image/container-image_ubuntu-base-17.04-base-amd64.tar.gz Error: Error starting remote:
No help topic for 'run'
Makefile:6: recipe for target 'release' failed make: *** [release] Error 1
$ sudo runc --version runc version 0.1.1 spec: 1.0.0-rc1
$ apt-cache show runc Package: runc Source: runc (0.1.1+dfsg1-2) Version: 0.1.1+dfsg1-2+b2 [...]
This issue (with version 0.1.1 in Debian stretch) should be fixed by commit 1f054c59ddc349cf5719447bc51eaccde554312a (current HEAD since today, but maybe not yet at the time you were building). Do you still have an error if you build with this commit in Debian Stretch?
Nicolas