[arvados] created: 2.1.0-2593-ge88fa4626

git repository hosting git at public.arvados.org
Tue Jun 7 13:55:22 UTC 2022


        at  e88fa4626ed30e12b46d80cfabe375e85943b1bd (commit)


commit e88fa4626ed30e12b46d80cfabe375e85943b1bd
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 ea6e610d8..f22e7a59d 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -123,6 +123,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