GUI server drops connection to Juju Core API when response contains non-ascii values
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Invalid
|
Undecided
|
Unassigned | ||
juju-gui |
Fix Released
|
Critical
|
Francesco Banconi |
Bug Description
If you deploy this stack...
https:/
...and then visit the GUI and log in, you'll notice that the GUI has problems. It can't show a lot of information. If you go in the console and poke around, and reload the page, sometimes you'll get an error about a reconnecting web socket complaining. If you then go to the network tab (chrome/chromium) and look at the websocket frames, you'll see that the websocket falls over on the Juju side, pretty reliably about 1 second into the connection. http://
Then, if you go to machine 0 and look at /var/log/
Our pastebins can disappear, so here's the crux. You can see the GUI's request for AllWatcher Next:
2013-10-16 19:56:29 DEBUG juju.rpc.jsoncodec codec.go:107 <- {"Type"
You can see a lot of other requests and successful responses. Finally, you can see this, which is correlated with the AllWatcher Next request because of the RequestId
2013-10-16 20:05:27 DEBUG juju.rpc.jsoncodec codec.go:110 <- error: EOF (closing false)
2013-10-16 20:05:27 DEBUG juju.rpc.jsoncodec codec.go:172 -> {"RequestId"
2013-10-16 20:05:27 ERROR juju.rpc server.go:418 error writing response: EOF
2013-10-16 20:05:27 INFO juju.rpc server.go:237 error closing codec: EOF
As far as I can tell, this is Very Bad. It doesn't always happen, but it might always happen at non-toy scale. In that vein, I am trying to verify if https:/
Related branches
- charmers: Pending requested
-
Diff: 155 lines (+30/-14)7 files modifiedrevision (+1/-1)
server/guiserver/auth.py (+1/-1)
server/guiserver/bundles/utils.py (+5/-2)
server/guiserver/handlers.py (+7/-4)
server/guiserver/tests/test_handlers.py (+12/-2)
server/guiserver/tests/test_utils.py (+2/-2)
server/guiserver/utils.py (+2/-2)
Changed in juju-core: | |
status: | New → Invalid |
Changed in juju-gui: | |
status: | In Progress → Fix Committed |
Changed in juju-gui: | |
status: | Fix Committed → Fix Released |
I am using Juju Core 0.16 on saucy.