13111: Merge branch 'master' into 12308-go-fuse
[arvados.git] / services / crunch-dispatch-slurm / crunch-dispatch-slurm.go
index 3d094c7f6e3a68f745f02be1950cc76eb8fdecd2..3c89103f38dbc1cd094047d173c10bfe0b28f08e 100644 (file)
@@ -222,7 +222,12 @@ func submit(dispatcher *dispatch.Dispatcher, container arvados.Container, crunch
 
        // Send a tiny script on stdin to execute the crunch-run
        // command (slurm requires this to be a #! script)
-       cmd.Stdin = strings.NewReader(execScript(append(crunchRunCommand, container.UUID)))
+
+       // append() here avoids modifying crunchRunCommand's
+       // underlying array, which is shared with other goroutines.
+       args := append([]string(nil), crunchRunCommand...)
+       args = append(args, container.UUID)
+       cmd.Stdin = strings.NewReader(execScript(args))
 
        var stdout, stderr bytes.Buffer
        cmd.Stdout = &stdout