I've seen another intermittent TestUniterRelations failure, which I'm adding under this bug because they might both be related: test 5: unit becomes dead while in a relation step 0: uniter_test.quickStartRelation{} uniter_test.quickStart{} uniter_test.createCharm{revision:0, badHooks:[]string(nil), customize:(func(*gocheck.C, *uniter_test.context, string))(nil)} uniter_test.addCharm{dir:(*charm.Dir)(0xc21026aea0), curl:(*charm.URL)(0xc210732a00)} uniter_test.serveCharm{} uniter_test.createUniter{} uniter_test.ensureStateWorker{} uniter_test.createServiceAndUnit{serviceName:""} API: login as "unit-u-0" successful uniter_test.startUniter{unitTag:""} uniter_test.waitAddresses{} uniter_test.waitUnit{status:"started", info:"", data:params.StatusData(nil), charm:0, resolved:""} want unit status "started", got "pending"; still waiting want unit status "started", got "pending"; still waiting want unit status "started", got "pending"; still waiting want unit status "started", got "installed"; still waiting want unit status "started", got "installed"; still waiting uniter_test.waitHooks{"install", "config-changed", "start"} waiting for hooks: []string{"install", "config-changed", "start"} ctx.hooksCompleted: []string{"install", "config-changed", "start"} uniter_test.verifyCharm{revision:0, dirty:false} uniter_test.waitHooks{} waiting for hooks: []string{"install", "config-changed", "start"} ctx.hooksCompleted: []string{"install", "config-changed", "start"} uniter_test.addRelation{waitJoin:false} uniter_test.addRelationUnit{} uniter_test.waitHooks{"db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0"} waiting for hooks: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0"} ctx.hooksCompleted: []string{"install", "config-changed", "start"} ctx.hooksCompleted: []string{"install", "config-changed", "start"} ctx.hooksCompleted: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0"} ctx.hooksCompleted: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0"} uniter_test.verifyRunning{noHooks:false} uniter_test.stopUniter{err:""} uniter_test.startUniter{unitTag:""} uniter_test.waitHooks{"config-changed"} waiting for hooks: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0", "config-changed"} ctx.hooksCompleted: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0"} ctx.hooksCompleted: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0"} ctx.hooksCompleted: []string{"install", "config-changed", "start", "db-relation-joined mysql/0 db:0", "db-relation-changed mysql/0 db:0", "config-changed"} step 1: uniter_test.custom{f:(func(*gocheck.C, *uniter_test.context))(0x45d290)} step 2: uniter_test.waitUniterDead{err:""} uniter_test.startUniter{unitTag:""} uniter_test.go:1026: s.runUniterTests(c, relationsTests) uniter_test.go:1392: c.Assert(err, gc.Equals, worker.ErrTerminateAgent) ... obtained *errors.errorString = &errors.errorString{s:"failed to initialize uniter for \"unit-u-0\": agent should be terminated"} ("failed to initialize uniter for \"unit-u-0\": agent should be terminated") ... expected *errors.errorString = &errors.errorString{s:"agent should be terminated"} ("agent should be terminated")