Azure Pipeline job script /usr/bin/xvfb-run: cannot create /dev/stdout: No such device or address

Viewed 267

I created an Azure Agent in my kubernetes cluster using https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops. I can run hello-world style pipelines on it, the agent is up and running. I have unity-editor installed with a manual license file using unityci/editor:ubuntu-2021.1.10f1-webgl-0.13.0 from GameCI.

Tried running the script beforehand by execing into the pod:

unity-editor -nographics -batchmode -quit -manualLicenseFile /path/to/license-file

This was working fine...

Now with Azure Pipeline:

steps:
- script: unity-editor -nographics -batchmode -quit -manualLicenseFile /path/to/license-file
  displayName: 'Validate unity installation'

I get the following error:

==============================================================================
Generating script.
Script contents:
unity-editor -nographics -batchmode -quit -manualLicenseFile /path/to/license-file
========================== Starting Command Output ===========================
/bin/bash --noprofile --norc /azp/_work/_temp/bad98430-5af6-47b2-a280-353adbf033c9.sh
/usr/bin/xvfb-run: 159: /usr/bin/xvfb-run: cannot create /dev/stdout: No such device or address
/usr/bin/xvfb-run: 83: /usr/bin/xvfb-run: cannot create /dev/stdout: No such device or address
##[error]Bash exited with code '2'.

I suspected some kind of permission error, but the job is running under root (verified by a whoami pipeline step returning root)

I then tried running the exact same line the job is running

echo "unity-editor -nographics -batchmode -quit -manualLicenseFile /path/to/license-file" > tmp.sh
chmod +x tmp.sh
/bin/bash --noprofile --norc ./tmp.sh

Which again... worked fine.

What am I missing with Azure Pipeline?

0 Answers
Related