VirtualBox runner can't create the vm, and the build fails with 'wait: no child processes'
I'm adding a virtualbox runner to our CI, but I can't make it work and got invariably the following:
gitlab-ci-multi-runner 1.0.4 (014aa8c)
Using VirtualBox version 5.0.14r105127 executor...
Creating new VM...
ERROR: Build failed with: wait: no child processes
GitLab and VirtualBox run in the same docker container of a custom image built on top of gitlab/gitlab-runner:latest with VirtualBox 5.0.14r105127.
The box I'm trying to run, has been built with packer and registered via vagrant. Manually, I can add the box and register it by VirtualBox, I can run it, I can clone it, etc. without any issues.
When following what's happening in terms of process and files, the clone is successful. But according the VBox.log
, it doesn't find it when it's done. During a very short time, it is even possible to get it in the list of vms with vboxmanage list vms
.
below the debug log:
Executing VBoxManageOutput: []string{"--version"}
Using VirtualBox version 5.0.14r105127 executor... build=803 runner=xxxxxxxx
Executing VBoxManageOutput: []string{"showvminfo", "", "--machinereadable"}
- Received signal child exited
- Grim reaper cleanup: pid=23, wstatus=256
Executing VBoxManageOutput: []string{"showvminfo", "win10-runner-xxxxxxxx-concurrent-0"}
- Grim reaper cleanup: pid=51, wstatus=256
Executing VBoxManageOutput: []string{"showvminfo", "win10-runner-xxxxxxxx-concurrent-0"}
Creating new VM... build=803 runner=xxxxxxxx
Executing VBoxManageOutput: []string{"showvminfo", "win10-runner-xxxxxxxx-concurrent-0", "--machinereadable"}
Executing VBoxManageOutput: []string{"showvminfo", "win10-runner-xxxxxxxx-concurrent-0"}
Creating testing VM from VM win10 ... build=803 runner=xxxxxxxx
Executing VBoxManageOutput: []string{"clonevm", "win10", "--mode", "machine", "--name", "win10-runner-xxxxxxxx-concurrent-0", "--register"}
Feeding runners to channel builds=1
803 Submitting build to coordinator... ok runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
803 Submitting build to coordinator... ok runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
updateBuildLog Nothing to send. build=803 runner=xxxxxxxx
- Grim reaper cleanup: pid=99, wstatus=0
ERROR: Build failed with: wait: no child processes build=803 runner=xxxxxxxx
Build took 51.665082302s build=803 runner=xxxxxxxx
Waiting for build log updater to finish build=803 runner=xxxxxxxx
Build log updater finished. build=803 runner=xxxxxxxx
Build log: gitlab-ci-multi-runner 1.0.4 (014aa8c)
Using VirtualBox version 5.0.14r105127 executor...
Creating new VM...
ERROR: Build failed with: wait: no child processes
build=803 runner=xxxxxxxx
updateBuildLog Received finish. build=803 runner=xxxxxxxx
PushTrace finished build=803 runner=xxxxxxxx
803 Submitting build to coordinator... ok runner=xxxxxxxx
Build finished build=803 runner=xxxxxxxx
Executing VBoxManageOutput: []string{"controlvm", "win10-runner-xxxxxxxx-concurrent-0", "acpipowerbutton"}
Executing VBoxManageOutput: []string{"unregistervm", "win10-runner-xxxxxxxx-concurrent-0", "--delete"}
I do not understand why it loses the child process when it actually succeeds to clone the vm.
Could you help me?