Work around whoopsie returning null string during session start
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Push Notifications |
Fix Released
|
Critical
|
John Lenton | ||
ubuntu-push (Ubuntu) |
Fix Released
|
Critical
|
John Lenton | ||
Trusty |
Fix Released
|
Critical
|
John Lenton |
Bug Description
During session startup, the call to whoopsie_
In particular, running http://
Rebooting (boot in dmesg -T at Thu Apr 17 14:32:36 2014, first "init:" line at Thu Apr 17 14:32:44 2014), in the upstart logs I get a series of
2014-04-
(that's also the first such line ,10s after init)
until suddenly
2014-04-
2014-04-
I don't know what's causing this, as it doesn't make sense from what I can read in the code.
--
The whoopsie bug is now in lp:1311571
--
[Impact]
ubuntu-push-client gets an empty string for the whoopsie identifier, which is rather not unique (so connections from multiple devices will get disconnected).
[Test Case]
You need:
* a computer capable of running the ubuntu push server.
* a device using the stable image and that can talk to the computer over the network
on the computer, do:
mkdir -p test-case-
cd !$
bzr branch lp:ubuntu-push
cd ubuntu-push
make bootstrap
sed -i~ -e 's/127.0.0.1//g' sampleconfigs/
make run-server-dev
on the device, edit /etc/xdg/
"addr": "192.168.1.1:9090"
(note there is no https:// as the hosts discovery step is being skipped).
Reboot the device. The output of the server will show an empty "registered" (as opposed to "registered" followed by a 256-byte hash).
[Regression potential]
There's a possibility that whoopsie never stops returning a null string, and thus we never progress. Given that for whoopsie to return null seems to imply there is no network device up, that's probably for the best.
Related branches
- Samuele Pedroni: Approve
-
Diff: 88 lines (+36/-5)3 files modifiedclient/client_test.go (+1/-1)
whoopsie/identifier/identifier.go (+20/-4)
whoopsie/identifier/identifier_test.go (+15/-0)
Changed in ubuntu-push: | |
status: | New → In Progress |
importance: | Undecided → Critical |
assignee: | nobody → John Lenton (chipaca) |
Changed in ubuntu-push: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-push (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → John Lenton (chipaca) |
importance: | Undecided → Critical |
no longer affects: | whoopsie |
summary: |
- Returns null string during session start + Work around whoopsie returning null string during session start |
description: | updated |
description: | updated |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Changed in ubuntu-push: | |
status: | Fix Committed → Fix Released |
In the Ubuntu Push client, where we wrap whoopsie from go, we should protect from this by actually checking the string returned and retrying with backoff a bit before failing.