One of my coworkers using this package to interface with systemd hit a panic recently. The reproduction is hard to provide as you need our insane unit test rig, however the panic is straight forward.
panic: send on closed channel
goroutine 39 [running]:
github.com/godbus/dbus.(*Conn).inWorker(0xc820082ea0)
/home/jesse/go/src/github.com/godbus/dbus/conn.go:327 +0x1048
created by github.com/godbus/dbus.(*Conn).Auth
/home/jesse/go/src/github.com/godbus/dbus/auth.go:118 +0xf43
goroutine 1 [runnable]:
syscall.Syscall(0x3, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Close(0x8, 0x0, 0x0)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:296 +0x4a
syscall.forkExec(0x2352860, 0xd, 0xc820430fc0, 0x3, 0x3, 0xc8203cc998, 0x4a4, 0x0, 0x0)
/usr/lib/go/src/syscall/exec_unix.go:201 +0x540
syscall.StartProcess(0x2352860, 0xd, 0xc820430fc0, 0x3, 0x3, 0xc8203cc998, 0x2, 0x4, 0x0, 0x0)
/usr/lib/go/src/syscall/exec_unix.go:240 +0x6b
os.startProcess(0x2352860, 0xd, 0xc820430fc0, 0x3, 0x3, 0xc8203ccbd0, 0xc82012c3c0, 0x0, 0x0)
/usr/lib/go/src/os/exec_posix.go:45 +0x33c
os.StartProcess(0x2352860, 0xd, 0xc820430fc0, 0x3, 0x3, 0xc8203ccbd0, 0x0, 0x0, 0x0)
/usr/lib/go/src/os/doc.go:24 +0x69
os/exec.(*Cmd).Start(0xc82012c280, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:328 +0x767
os/exec.(*Cmd).Run(0xc82012c280, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:255 +0x2d
os/exec.(*Cmd).CombinedOutput(0xc82012c280, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:424 +0x310
github.com/juju/juju/service/upstart.IsRunning(0xc8202d65b0, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/service/upstart/upstart.go:46 +0xc3
github.com/juju/juju/service.discoverLocalInitSystem(0x0, 0x0, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/service/discovery.go:103 +0x121
github.com/juju/juju/service.discoverInitSystem(0x0, 0x0, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/service/discovery.go:36 +0x43
github.com/juju/juju/service.DiscoverService(0xc820241600, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/jesse/go/src/github.com/juju/juju/service/discovery.go:23 +0x4b
github.com/juju/juju/mongo.glob.func2(0xc820241600, 0x13, 0x0, 0x0, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/mongo/service.go:67 +0x89
github.com/juju/juju/mongo.RemoveService(0xc820433420, 0xb, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/mongo/service.go:84 +0x73
github.com/juju/juju/provider/local.glob.func5(0xc820433420, 0xb, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/provider/local/environ.go:586 +0x37
github.com/juju/juju/provider/local.(*localEnviron).Destroy(0xc8204c2840, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/provider/local/environ.go:550 +0x122e
github.com/juju/juju/environs.Destroy(0x7fbb65d0e840, 0xc8204c2840, 0x7fbb644d08f8, 0xc820432740, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/environs/open.go:296 +0x70
github.com/juju/juju/cmd/juju/commands.(*destroyEnvironmentCommand).Run(0xc8203d5f40, 0xc82027d450, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/cmd/juju/commands/destroyenvironment.go:109 +0x2dd
github.com/juju/juju/cmd/envcmd.(*environCommandWrapper).Run(0xc8203dd6e0, 0xc82027d450, 0x0, 0x0)
<autogenerated>:62 +0x65
github.com/juju/juju/cmd/envcmd.(*baseCommandWrapper).Run(0xc8203e2000, 0xc82027d450, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/juju/cmd/envcmd/base.go:109 +0x9c
github.com/juju/cmd.(*SuperCommand).Run(0xc8201d3600, 0xc82027d450, 0x0, 0x0)
/home/jesse/go/src/github.com/juju/cmd/supercommand.go:442 +0x697
github.com/juju/cmd.Main(0x7fbb644cb6a8, 0xc8201d3600, 0xc82027d450, 0xc82000a100, 0x4, 0x4, 0x1)
/home/jesse/go/src/github.com/juju/cmd/cmd.go:279 +0x2fc
github.com/juju/juju/cmd/juju/commands.Main(0xc82000a0f0, 0x5, 0x5)
/home/jesse/go/src/github.com/juju/juju/cmd/juju/commands/main.go:72 +0x4fa
main.main()
/home/jesse/go/src/github.com/juju/juju/cmd/juju/main.go:15 +0x3b
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1696 +0x1
goroutine 5 [syscall]:
os/signal.loop()
/usr/lib/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
/usr/lib/go/src/os/signal/signal_unix.go:28 +0x37
ERROR exit status 2