With the latest juju-core trunk and a python-django charm without configuration I have this error.
I have attach the PrintF result of the json value that fail to be marshal.
Note that "juju get gunicorn" also give the panic so it might be in the config.yaml
flocon:/tmp$ juju get python-django
panic: runtime error: index out of range [recovered]
panic: runtime error: index out of range
goroutine 1 [running]:
launchpad.net/goyaml.handleErr(0xb715b598)
/home/avoine/repos/go/src/launchpad.net/goyaml/goyaml.go:16 +0x74
launchpad.net/goyaml.yaml_emitter_analyze_scalar(0x18c6d580, 0x18c3d3d8, 0x1, 0x1, 0x0, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/emitterc.go:1015 +0x85d
launchpad.net/goyaml.yaml_emitter_analyze_event(0x18c6d580, 0x18d85fb8, 0x0)
/home/avoine/repos/go/src/launchpad.net/goyaml/emitterc.go:1157 +0x153
launchpad.net/goyaml.yaml_emitter_emit(0x18c6d580, 0x18c6d670, 0x0)
/home/avoine/repos/go/src/launchpad.net/goyaml/emitterc.go:117 +0x157
launchpad.net/goyaml.(*encoder).emit(0x18c6d580)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:41 +0x35
launchpad.net/goyaml.(*encoder).emitScalar(0x18c6d580, 0x18c62078, 0x1, 0x85b9e68, 0x0, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:220 +0x1fb
launchpad.net/goyaml.(*encoder).stringv(0x18c6d580, 0x85b9e68, 0x0, 0x8485b20, 0x18c62088, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:173 +0xc8
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8485b20, 0x18c62088, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:86 +0x3be
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8482620, 0x18c3d3b0, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:71 +0x2d0
launchpad.net/goyaml.func·002()
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:106 +0x140
launchpad.net/goyaml.(*encoder).mappingv(0x18c6d580, 0x85b9e68, 0x0, 0xb715b17c)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:143 +0x150
launchpad.net/goyaml.(*encoder).mapv(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73640, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:108 +0x60
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73640, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:74 +0x2ff
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8482620, 0x18c3d290, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:71 +0x2d0
launchpad.net/goyaml.func·002()
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:106 +0x140
launchpad.net/goyaml.(*encoder).mappingv(0x18c6d580, 0x85b9e68, 0x0, 0xb715b34c)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:143 +0x150
launchpad.net/goyaml.(*encoder).mapv(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73000, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:108 +0x60
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73000, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:74 +0x2ff
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8482620, 0x18c626c0, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:71 +0x2d0
launchpad.net/goyaml.func·002()
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:106 +0x140
launchpad.net/goyaml.(*encoder).mappingv(0x18c6d580, 0x85b9e68, 0x0, 0xb715b51c)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:143 +0x150
launchpad.net/goyaml.(*encoder).mapv(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73860, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:108 +0x60
launchpad.net/goyaml.(*encoder).marshal(0x18c6d580, 0x85b9e68, 0x0, 0x8479f20, 0x18c73860, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/encode.go:74 +0x2ff
launchpad.net/goyaml.Marshal(0x8479f20, 0x18c73860, 0x0, 0x0, 0x0, ...)
/home/avoine/repos/go/src/launchpad.net/goyaml/goyaml.go:136 +0xcc
launchpad.net/juju-core/cmd.FormatYaml(0x8479f20, 0x18c73860, 0x85c8028, 0x4, 0x18c5720c, ...)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/output.go:27 +0x62
launchpad.net/juju-core/cmd.(*formatterValue).format(0x18c33e50, 0x8479f20, 0x18c73860, 0x806a869, 0x798ed105, ...)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/output.go:127 +0x54
launchpad.net/juju-core/cmd.(*Output).Write(0x18c54d90, 0x18c54e00, 0x8479f20, 0x18c73860, 0x0, ...)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/output.go:157 +0x69
main.(*GetCommand).Run(0x18c54d80, 0x18c54e00, 0x0, 0x0)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/juju/get.go:66 +0x1d9
main.envCmdWrapper.Run(0x18c58a50, 0x18c54d80, 0x18c54e00, 0x18c60440, 0x809b024, ...)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/juju/main.go:137 +0x45
main.(*envCmdWrapper).Run(0x18c3ca80, 0x18c54e00, 0x0, 0x0)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/juju/addmachine.go:0 +0x69
launchpad.net/juju-core/cmd.(*SuperCommand).Run(0x18c3ef00, 0x18c54e00, 0x18c54e00, 0x0)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/supercommand.go:280 +0x203
launchpad.net/juju-core/cmd.Main(0x18c59300, 0x18c3ef00, 0x18c54e00, 0x18bcf008, 0x2, ...)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/cmd.go:160 +0x1b8
main.Main(0x18bcf000, 0x3, 0x3)
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/juju/main.go:110 +0x35d4
main.main()
/home/avoine/repos/go/src/launchpad.net/juju-core/cmd/juju/main.go:152 +0x3c
goroutine 2 [syscall]:
goroutine 9 [IO wait]:
net.runtime_pollWait(0xb7798f30, 0x72, 0x0)
/usr/lib/go/src/pkg/runtime/znetpoll_linux_386.c:118 +0x72
net.(*pollDesc).WaitRead(0x18cfb63c, 0xb, 0x18c0e220)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:75 +0x33
net.(*netFD).Read(0x18cfb5f0, 0x18cfd000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/fd_unix.go:195 +0x20e
net.(*conn).Read(0x18c79518, 0x18cfd000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/net.go:123 +0xa9
bufio.(*Reader).fill(0x18c594e0)
/usr/lib/go/src/pkg/bufio/bufio.go:79 +0xe6
bufio.(*Reader).Peek(0x18c594e0, 0x1, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/pkg/bufio/bufio.go:107 +0xb1
net/http.(*persistConn).readLoop(0x18cfb640)
/usr/lib/go/src/pkg/net/http/transport.go:670 +0xa3
created by net/http.(*Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:511 +0x463
goroutine 10 [select]:
net/http.(*persistConn).writeLoop(0x18cfb640)
/usr/lib/go/src/pkg/net/http/transport.go:774 +0x205
created by net/http.(*Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:512 +0x478
goroutine 12 [sleep]:
time.Sleep(0xf8475800, 0xd)
/usr/lib/go/src/pkg/runtime/ztime_linux_386.c:19 +0x3a
launchpad.net/juju-core/state/api.(*State).heartbeatMonitor(0x18dd06a0)
/home/avoine/repos/go/src/launchpad.net/juju-core/state/api/apiclient.go:146 +0x61
created by launchpad.net/juju-core/state/api.Open
/home/avoine/repos/go/src/launchpad.net/juju-core/state/api/apiclient.go:136 +0x43b
I reproduced this deploying to the local provider using juju 1.16.0
juju deploy python-django
juju get python-django