Vivid init system bug status

Martin Packman martin.packman at canonical.com
Fri Apr 17 14:00:56 UTC 2015


On 17/04/2015, John Meinel <john at arbash-meinel.com> wrote:
>
> Do you know what version of Go you're using in your custom builds?

The go compiler version was the key, our CI and Oleg are using 1.3.3 on vivid.

Frustrating, this issue is in large part to vivid tests not being
reliable enough to gate on:

<https://bugs.launchpad.net/juju-core/+bug/1441302>

Menno's branch had good tests, that correctly failed on our
infrastructure, using go 1.3 on vivid:

<http://reports.vapour.ws/releases/2543/job/run-unit-tests-vivid-amd64/attempt/455>

FAIL: upstart_test.go:395: IsRunningSuite.TestUpstartNotInstalled

upstart_test.go:400:
    c.Assert(err, jc.ErrorIsNil)
... value *errors.Err = &errors.Err{message:"",
cause:(*os.PathError)(0xc208142240),
previous:(*os.PathError)(0xc208142240),
file:"github.com/juju/juju/service/upstart/upstart.go", line:43}
("fork/exec /foo/bar/not-exist: no such file or directory")
... error stack:
	fork/exec /foo/bar/not-exist: no such file or directory
	github.com/juju/juju/service/upstart/upstart.go:43:

OOPS: 19 passed, 1 FAILED

No one is looking at these results, because they are filled with junk
that hasn't been addressed, despite the fact we want to be doing this
release on vivid.

So, the actual issue is the error returned from the os.exec module
changed in go 1.3 - and somewhat compounded by the map ordering change
making hitting that case inconsistent and messing with our debugging
attempts.

I have put up a merge proposal making the error handling robust across
go versions, and removing the map interation confusion:

<https://github.com/juju/juju/pull/2094>

This should be on the 1.23 branch shortly.

Martin



More information about the Juju-dev mailing list