Hi,
I have ran into a bug when running an action with agent-version 1.24.4 running on trusty.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x6b6cca]
goroutine 32 [running]:
runtime.panic(0x18ac240, 0x3fcc3e8)
/usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6
github.com/juju/juju/worker/uniter.(*Uniter).runOperation(0xc2101f91c0, 0x0, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/uniter.go:410 +0xda
github.com/juju/juju/worker/uniter.continueAfter(0xc2101f91c0, 0x0, 0xe, 0x7f135dbc0c70, 0x1)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/modes.go:551 +0x31
github.com/juju/juju/worker/uniter.ModeContinue(0xc2101f91c0, 0x0, 0xc2101f7c00, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/modes.go:154 +0x761
github.com/juju/juju/worker/uniter.(*Uniter).loop(0xc2101f91c0, 0xc2101ef370, 0xb, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/uniter.go:179 +0x915
github.com/juju/juju/worker/uniter.func·024()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/uniter.go:119 +0x8e
created by github.com/juju/juju/worker/uniter.NewUniter
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/uniter.go:120 +0x1ba
goroutine 1 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2100b0c00, 0x3, 0xc2101d6be0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*runner).Wait(0xc2100b0c00, 0x1cb03a0, 0x3)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:122 +0x2e
main.(*UnitAgent).Run(0xc21019c1b0, 0xc21019a8c0, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/cmd/jujud/unit.go:142 +0x41b
github.com/juju/cmd.(*SuperCommand).Run(0xc2100613c0, 0xc21019a8c0, 0xc21019a8c0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/cmd/supercommand.go:428 +0x551
github.com/juju/cmd.Main(0x7f135dd77830, 0xc2100613c0, 0xc21019a8c0, 0xc21000a010, 0x6, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/cmd/cmd.go:247 +0x283
main.jujuDMain(0xc21000a000, 0x7, 0x7, 0xc21019a8c0, 0x3fe2701, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/cmd/jujud/main.go:143 +0x4a3
main.Main(0xc21000a000, 0x7, 0x7)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/cmd/jujud/main.go:166 +0x224
main.main()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/cmd/jujud/main_nix.go:13 +0x44
goroutine 3 [syscall]:
os/signal.loop()
/usr/lib/go/src/pkg/os/signal/signal_unix.go:21 +0x1e
created by os/signal.init·1
/usr/lib/go/src/pkg/os/signal/signal_unix.go:27 +0x31
goroutine 16 [finalizer wait]:
runtime.park(0x415c00, 0x3fd2a20, 0x3fce4a8)
/usr/lib/go/src/pkg/runtime/proc.c:1342 +0x66
runfinq()
/usr/lib/go/src/pkg/runtime/mgc0.c:2279 +0x84
runtime.goexit()
/usr/lib/go/src/pkg/runtime/proc.c:1394
goroutine 18 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101f70c0, 0x7f135dbe6ef0, 0x7f135dbe8e50)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*runner).Wait(0xc2101f70c0, 0x5, 0x1)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:122 +0x2e
github.com/juju/juju/cmd/jujud/util.(*CloseWorker).Wait(0xc2101f5b10, 0xc2100b0de0, 0x1cb03a0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/cmd/jujud/util/util.go:215 +0x2f
github.com/juju/juju/worker.(*runner).runWorker(0xc2100b0c00, 0x0, 0x1cb03a0, 0x3, 0xc2101d6be0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 17 [select]:
github.com/juju/juju/worker.(*runner).run(0xc2100b0c00, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:160 +0xe34
github.com/juju/juju/worker.func·005()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:84 +0x54
created by github.com/juju/juju/worker.NewRunner
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:85 +0x133
goroutine 22 [IO wait]:
net.runtime_pollWait(0x7f135dd78fb8, 0x72, 0x0)
/usr/lib/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc2100afe60, 0x72, 0x7f135dd70298, 0xb)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc2100afe60, 0xb, 0x7f135dd70298)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc2100afe00, 0xc210108000, 0x2000, 0x2000, 0x0, ...)
/usr/lib/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2101d35b8, 0xc210108000, 0x2000, 0x2000, 0x150, ...)
/usr/lib/go/src/pkg/net/net.go:122 +0xc5
crypto/tls.(*block).readFromUntil(0xc2101d7b40, 0x7f135dd79088, 0xc2101d35b8, 0x5, 0xc2101d35b8, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:459 +0xb6
crypto/tls.(*Conn).readRecord(0xc21009dc80, 0x17, 0x0, 0x0)
/usr/lib/go/src/pkg/crypto/tls/conn.go:539 +0x107
crypto/tls.(*Conn).Read(0xc21009dc80, 0xc2101e2000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:897 +0x135
bufio.(*Reader).fill(0xc2101d8840)
/usr/lib/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).ReadByte(0xc2101d8840, 0xc210230640, 0x0, 0x0)
/usr/lib/go/src/pkg/bufio/bufio.go:183 +0x7f
golang.org/x/net/websocket.hybiFrameReaderFactory.NewFrameReader(0xc2101d8840, 0x7f135dd79740, 0xc210230640, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/golang.org/x/net/websocket/hybi.go:126 +0xc6
golang.org/x/net/websocket.Codec.Receive(0x2298f68, 0x2298f70, 0xc2101e0e10, 0x12f22c0, 0xc2100a3b00, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/golang.org/x/net/websocket/websocket.go:315 +0x168
github.com/juju/juju/rpc/jsoncodec.wsJSONConn.Receive(0xc2101e0e10, 0x12f22c0, 0xc2100a3b00, 0x0, 0x7f135c475ce8)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/jsoncodec/conn.go:25 +0x55
github.com/juju/juju/rpc/jsoncodec.(*Codec).ReadHeader(0xc2100a3b00, 0xc2101d8a80, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/jsoncodec/codec.go:115 +0x5e4
github.com/juju/juju/rpc.(*Conn).loop(0xc2101c4d20, 0x101d9810, 0xc21009a5a0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/server.go:408 +0x8a
github.com/juju/juju/rpc.(*Conn).input(0xc2101c4d20)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/server.go:381 +0x32
created by github.com/juju/juju/rpc.(*Conn).Start
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/server.go:211 +0xaa
goroutine 23 [select]:
github.com/juju/juju/api.(*State).heartbeatMonitor(0xc2101cc300)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:353 +0xed
created by github.com/juju/juju/api.open
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:183 +0x395
goroutine 24 [select]:
github.com/juju/juju/worker.(*runner).run(0xc2101f70c0, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:160 +0xe34
github.com/juju/juju/worker.func·005()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:84 +0x54
created by github.com/juju/juju/worker.NewRunner
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:85 +0x133
goroutine 25 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2100967c0, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*notifyWorker).Wait(0xc2100967c0, 0xc2101f7240, 0x1d23770)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:67 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1d23770, 0xc, 0xc2101ef570)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 26 [select]:
github.com/juju/juju/worker.(*notifyWorker).loop(0xc2100967c0, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:95 +0x31f
github.com/juju/juju/worker.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:55 +0x54
created by github.com/juju/juju/worker.NewNotifyWorker
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:56 +0xa1
goroutine 27 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101e87e0, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker/upgrader.(*Upgrader).Wait(0xc2101e87e0, 0xc2101f7240, 0x1d30390)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/upgrader/upgrader.go:79 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1d30390, 0x8, 0xc2101f2960)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 28 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101fc040, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*notifyWorker).Wait(0xc2101fc040, 0xc2101f7240, 0x1cb8180)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:67 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1cb8180, 0x6, 0xc2101f2980)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 29 [select]:
github.com/juju/juju/worker/upgrader.(*Upgrader).loop(0xc2101e87e0, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/upgrader/upgrader.go:138 +0xcb8
github.com/juju/juju/worker/upgrader.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/upgrader/upgrader.go:67 +0x54
created by github.com/juju/juju/worker/upgrader.NewAgentUpgrader
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/upgrader/upgrader.go:68 +0x148
goroutine 30 [select]:
github.com/juju/juju/worker.(*notifyWorker).loop(0xc2101fc040, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:95 +0x31f
github.com/juju/juju/worker.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:55 +0x54
created by github.com/juju/juju/worker.NewNotifyWorker
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:56 +0xa1
goroutine 31 [runnable]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101f91c0, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker/uniter.(*Uniter).Wait(0xc2101f91c0, 0xc2101f7240, 0x1cc0080)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/uniter/uniter.go:306 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1cc0080, 0x6, 0xc2101f56f0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 33 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101fc500, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*notifyWorker).Wait(0xc2101fc500, 0xc2101f7240, 0x1dbe710)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:67 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1dbe710, 0x11, 0xc2101f2ce0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 34 [chan receive]:
launchpad.net/tomb.(*Tomb).Wait(0xc2101fc580, 0x6d3f3f, 0x6d3f3f)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/launchpad.net/tomb/tomb.go:110 +0x42
github.com/juju/juju/worker.(*notifyWorker).Wait(0xc2101fc580, 0xc2101f7240, 0x1cbcd60)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:67 +0x2e
github.com/juju/juju/worker.(*runner).runWorker(0xc2101f70c0, 0x0, 0x1cbcd60, 0x7, 0xc2101f2d00)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:273 +0x3f3
created by github.com/juju/juju/worker.(*runner).run
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/runner.go:177 +0x36e
goroutine 36 [select]:
github.com/juju/juju/worker.(*notifyWorker).loop(0xc2101fc500, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:95 +0x31f
github.com/juju/juju/worker.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:55 +0x54
created by github.com/juju/juju/worker.NewNotifyWorker
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:56 +0xa1
goroutine 37 [select]:
github.com/juju/juju/worker.(*notifyWorker).loop(0xc2101fc580, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:95 +0x31f
github.com/juju/juju/worker.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:55 +0x54
created by github.com/juju/juju/worker.NewNotifyWorker
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/worker/notifyworker.go:56 +0xa1
goroutine 38 [chan receive]:
github.com/juju/juju/api/watcher.(*notifyWatcher).loop(0xc2100938c0, 0x0, 0x31)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:171 +0x113
github.com/juju/juju/api/watcher.func·004()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:151 +0x7b
created by github.com/juju/juju/api/watcher.NewNotifyWatcher
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:152 +0xe2
goroutine 39 [chan receive]:
github.com/juju/juju/api/watcher.(*notifyWatcher).loop(0xc210093930, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:171 +0x113
github.com/juju/juju/api/watcher.func·004()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:151 +0x7b
created by github.com/juju/juju/api/watcher.NewNotifyWatcher
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:152 +0xe2
goroutine 40 [semacquire]:
sync.runtime_Semacquire(0xc2101edde8)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc21011b800)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x14b
github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop(0xc2100938c0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:119 +0x114
created by github.com/juju/juju/api/watcher.(*notifyWatcher).loop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:161 +0xa7
goroutine 41 [semacquire]:
sync.runtime_Semacquire(0xc2101ede28)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc21011b8c0)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x14b
github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop(0xc210093930)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:119 +0x114
created by github.com/juju/juju/api/watcher.(*notifyWatcher).loop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:161 +0xa7
goroutine 42 [chan receive]:
github.com/juju/juju/api/watcher.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:82 +0x74
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:86 +0xb7
goroutine 43 [chan receive]:
github.com/juju/juju/rpc.(*Conn).Call(0xc2101c4d20, 0x1cea570, 0xd, 0x0, 0xc2101edd48, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/client.go:148 +0xb5
github.com/juju/juju/api.(*State).APICall(0xc2101cc300, 0x1cea570, 0xd, 0x0, 0xc2101edd48, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:375 +0x115
github.com/juju/juju/api/watcher.func·001(0x1ca7c40, 0x4, 0x1301b00, 0xc210120080, 0x0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:49 +0xec
github.com/juju/juju/api/watcher.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:95 +0xb6
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:118 +0x104
goroutine 44 [chan receive]:
github.com/juju/juju/api/watcher.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:82 +0x74
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:86 +0xb7
goroutine 45 [chan receive]:
github.com/juju/juju/rpc.(*Conn).Call(0xc2101c4d20, 0x1cea570, 0xd, 0x0, 0xc2101eddb0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/client.go:148 +0xb5
github.com/juju/juju/api.(*State).APICall(0xc2101cc300, 0x1cea570, 0xd, 0x0, 0xc2101eddb0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:375 +0x115
github.com/juju/juju/api/watcher.func·001(0x1ca7c40, 0x4, 0x1301b00, 0xc2101200f0, 0x0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:49 +0xec
github.com/juju/juju/api/watcher.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:95 +0xb6
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:118 +0x104
goroutine 46 [chan receive]:
github.com/juju/juju/api/watcher.(*notifyWatcher).loop(0xc210093d90, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:171 +0x113
github.com/juju/juju/api/watcher.func·004()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:151 +0x7b
created by github.com/juju/juju/api/watcher.NewNotifyWatcher
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:152 +0xe2
goroutine 47 [semacquire]:
sync.runtime_Semacquire(0xc2101edf48)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc21011ba00)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x14b
github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop(0xc210093d90)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:119 +0x114
created by github.com/juju/juju/api/watcher.(*notifyWatcher).loop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:161 +0xa7
goroutine 48 [chan receive]:
github.com/juju/juju/api/watcher.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:82 +0x74
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:86 +0xb7
goroutine 49 [chan receive]:
github.com/juju/juju/rpc.(*Conn).Call(0xc2101c4d20, 0x1cea570, 0xd, 0x0, 0xc2101edf20, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/client.go:148 +0xb5
github.com/juju/juju/api.(*State).APICall(0xc2101cc300, 0x1cea570, 0xd, 0x0, 0xc2101edf20, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:375 +0x115
github.com/juju/juju/api/watcher.func·001(0x1ca7c40, 0x4, 0x1301b00, 0xc2101202b0, 0x0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:49 +0xec
github.com/juju/juju/api/watcher.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:95 +0xb6
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:118 +0x104
goroutine 50 [chan receive]:
github.com/juju/juju/api/watcher.(*notifyWatcher).loop(0xc210090d20, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:171 +0x113
github.com/juju/juju/api/watcher.func·004()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:151 +0x7b
created by github.com/juju/juju/api/watcher.NewNotifyWatcher
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:152 +0xe2
goroutine 51 [chan receive]:
github.com/juju/juju/api/watcher.(*notifyWatcher).loop(0xc210090d90, 0x0, 0x0)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:171 +0x113
github.com/juju/juju/api/watcher.func·004()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:151 +0x7b
created by github.com/juju/juju/api/watcher.NewNotifyWatcher
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:152 +0xe2
goroutine 52 [semacquire]:
sync.runtime_Semacquire(0xc210127370)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc210131300)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x14b
github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop(0xc210090d20)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:119 +0x114
created by github.com/juju/juju/api/watcher.(*notifyWatcher).loop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:161 +0xa7
goroutine 53 [semacquire]:
sync.runtime_Semacquire(0xc2101273b0)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc2101313c0)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x14b
github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop(0xc210090d90)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:119 +0x114
created by github.com/juju/juju/api/watcher.(*notifyWatcher).loop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:161 +0xa7
goroutine 54 [chan receive]:
github.com/juju/juju/api/watcher.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:82 +0x74
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:86 +0xb7
goroutine 55 [chan receive]:
github.com/juju/juju/rpc.(*Conn).Call(0xc2101c4d20, 0x1cea570, 0xd, 0x0, 0xc2101272d0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/client.go:148 +0xb5
github.com/juju/juju/api.(*State).APICall(0xc2101cc300, 0x1cea570, 0xd, 0x0, 0xc2101272d0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:375 +0x115
github.com/juju/juju/api/watcher.func·001(0x1ca7c40, 0x4, 0x1301b00, 0xc210120ec0, 0x0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:49 +0xec
github.com/juju/juju/api/watcher.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:95 +0xb6
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:118 +0x104
goroutine 56 [chan receive]:
github.com/juju/juju/api/watcher.func·002()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:82 +0x74
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:86 +0xb7
goroutine 57 [chan receive]:
github.com/juju/juju/rpc.(*Conn).Call(0xc2101c4d20, 0x1cea570, 0xd, 0x0, 0xc210127338, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/rpc/client.go:148 +0xb5
github.com/juju/juju/api.(*State).APICall(0xc2101cc300, 0x1cea570, 0xd, 0x0, 0xc210127338, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/apiclient.go:375 +0x115
github.com/juju/juju/api/watcher.func·001(0x1ca7c40, 0x4, 0x1301b00, 0xc210120f30, 0x0, ...)
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:49 +0xec
github.com/juju/juju/api/watcher.func·003()
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:95 +0xb6
created by github.com/juju/juju/api/watcher.(*commonWatcher).commonLoop
/build/juju-core-wpCXFS/juju-core-1.24.4/src/github.com/juju/juju/api/watcher/watcher.go:118 +0x104
This is still present in 1.24.7 and can be replicated by starting a long-running action on a unit and then power cycling the unit. When the unit comes back online the above panic/null pointer dereference will occur when trying to re-run the failed action. upstart/systemd will try to restart the service continously.
At this point the only way to recover seems to forcibly remove the machine from juju and re-add it.