[arvados] created: 2.1.0-3067-g1599275ce

git repository hosting git at public.arvados.org
Fri Nov 18 20:04:08 UTC 2022


        at  1599275ce2d694a361109b8530dc0ea9c0a3673d (commit)


commit 1599275ce2d694a361109b8530dc0ea9c0a3673d
Author: Tom Clegg <tom at curii.com>
Date:   Fri Nov 18 15:03:14 2022 -0500

    18765: Update to singularity 3.10.4.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/lib/crunchrun/executor_test.go b/lib/crunchrun/executor_test.go
index 2b66a5515..ad940da1e 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -134,6 +134,8 @@ func (s *executorSuite) TestExecCleanEnv(c *C) {
 			// singularity also sets this by itself (v3.5.2, but not v3.7.4)
 		case "PROMPT_COMMAND", "PS1", "SINGULARITY_BIND", "SINGULARITY_COMMAND", "SINGULARITY_ENVIRONMENT":
 			// singularity also sets these by itself (v3.7.4)
+		case "SINGULARITY_NO_EVAL":
+			// singlarity also sets this by itself (v3.10.4)
 		default:
 			got[kv[0]] = kv[1]
 		}
diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go
index c3e71975f..a18de38c1 100644
--- a/lib/crunchrun/singularity_test.go
+++ b/lib/crunchrun/singularity_test.go
@@ -59,7 +59,7 @@ func (s *singularitySuite) TestInject(c *C) {
 }
 
 func (s *singularitySuite) TestExecLongArg(c *C) {
-	// singularity 3.9.9 fails with:
+	// singularity 3.9.9 and 3.10.4 fail with:
 	// FATAL:   while initializing starter command: while copying engine configuration: engine configuration too big > 1048448
 	c.Skip("known bug/limitation, see https://dev.arvados.org/issues/18765")
 	s.executorSuite.TestExecLongArg(c)
diff --git a/lib/install/deps.go b/lib/install/deps.go
index 1b4bf7266..1c13892b5 100644
--- a/lib/install/deps.go
+++ b/lib/install/deps.go
@@ -35,7 +35,7 @@ const goversion = "1.18.8"
 const (
 	rubyversion             = "2.7.6"
 	bundlerversion          = "2.2.19"
-	singularityversion      = "3.9.9"
+	singularityversion      = "3.10.4"
 	pjsversion              = "1.9.8"
 	geckoversion            = "0.24.0"
 	gradleversion           = "5.3.1"
@@ -198,8 +198,13 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
 			}
 		}
 		if dev || test {
-			pkgs = append(pkgs, "squashfs-tools") // for singularity
-			pkgs = append(pkgs, "gnupg")          // for docker install recipe
+			pkgs = append(pkgs,
+				"libglib2.0-dev", // for singularity
+				"libseccomp-dev", // for singularity
+				"seccomp",        // for singularity
+				"squashfs-tools", // for singularity
+				"gnupg",          // for docker install recipe
+			)
 		}
 		switch {
 		case osv.Debian && osv.Major >= 11:
@@ -360,7 +365,7 @@ S=`+singularityversion+`
 tmp=/var/lib/arvados/tmp/singularity
 trap "rm -r ${tmp}" ERR EXIT
 cd /var/lib/arvados/tmp
-git clone https://github.com/sylabs/singularity
+git clone --recurse-submodules https://github.com/sylabs/singularity
 cd singularity
 git checkout v${S}
 ./mconfig --prefix=/var/lib/arvados

commit 944de5bf9702bf28c284bfbd2c40d16ecb57e392
Author: Tom Clegg <tom at curii.com>
Date:   Tue Jun 7 09:53:46 2022 -0400

    18765: Add repro/test case.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/lib/crunchrun/executor_test.go b/lib/crunchrun/executor_test.go
index e757f579f..2b66a5515 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -140,6 +140,22 @@ func (s *executorSuite) TestExecCleanEnv(c *C) {
 	}
 	c.Check(got, DeepEquals, s.spec.Env)
 }
+
+func (s *executorSuite) TestExecLongArg(c *C) {
+	hostdir := c.MkDir()
+	c.Assert(os.WriteFile(hostdir+"/testfile", []byte("last tube"), 0777), IsNil)
+	s.spec.BindMounts = map[string]bindmount{}
+	for n := 0; n < 9600; n++ {
+		s.spec.BindMounts[fmt.Sprintf("/longargtest-%d", n)] = bindmount{HostPath: hostdir + "/testfile", ReadOnly: true}
+	}
+	s.spec.Command = []string{"/bin/sh", "-c", fmt.Sprintf("printf %%s %123000.123000s a", " ")}
+	c.Logf("command arg[2] len is %d", len(s.spec.Command[2]))
+	s.checkRun(c, 0)
+	if !c.Check(s.stdout.String(), Equals, "a") {
+		c.Logf("stderr:\n%s\n", s.stderr.String())
+	}
+}
+
 func (s *executorSuite) TestExecEnableNetwork(c *C) {
 	for _, enable := range []bool{false, true} {
 		s.SetUpTest(c)
diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go
index e4c7cdb30..c3e71975f 100644
--- a/lib/crunchrun/singularity_test.go
+++ b/lib/crunchrun/singularity_test.go
@@ -58,6 +58,13 @@ func (s *singularitySuite) TestInject(c *C) {
 	s.executorSuite.TestInject(c)
 }
 
+func (s *singularitySuite) TestExecLongArg(c *C) {
+	// singularity 3.9.9 fails with:
+	// FATAL:   while initializing starter command: while copying engine configuration: engine configuration too big > 1048448
+	c.Skip("known bug/limitation, see https://dev.arvados.org/issues/18765")
+	s.executorSuite.TestExecLongArg(c)
+}
+
 var _ = Suite(&singularityStubSuite{})
 
 // singularityStubSuite tests don't really invoke singularity, so we

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list