Juju testsuite fails in random ways
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gccgo-go (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Trusty |
New
|
Undecided
|
Unassigned | ||
Utopic |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Two parts of the juju-core test suite panic or segfault when run with -compiler gccgo on amd64.
Some examples, in provider/openstack:
ubuntu@
3
=== RUN Test
...
PASS: local_test.go:1207: com_juju_
munmap of stack space failed: errno 22
Aborted
...
ubuntu@
3
=== RUN Test
...
PASS: local_test.go:1207: com_juju_
signal: segmentation fault (core dumped)
FAIL github.
And in environs/
ubuntu@
=== RUN Test
...
PASS: datasource_
unexpected fault address 0x7f3300000011
fatal error: fault
[signal 0xb code=0x1 addr=0x7f330000
...
This one looks a bit like bug 1287879 but the same run can just pass:
$ (cd environs/
=== RUN Test
...
OK: 46 passed
--- PASS: Test (0.27 seconds)
PASS
Some investigations from IRC:
<http://
description: | updated |
Changed in gccgo-go (Ubuntu): | |
importance: | Undecided → Medium |
Changed in gccgo-go (Ubuntu Utopic): | |
status: | New → Won't Fix |
This is the gdb traceback seen while running the openstack provider tests: http:// pastebin. ubuntu. com/9073749/
Funnily enough I saw a traceback very much like this just yesterday. What I know at this point:
It's failing while parsing a https certificate. The failure occurs during allocation: go captures profiling data every $Nth allocation, and part of this profiling data is a traceback. Capturing this traceback hits a SIGBUS. I don't know why it always fails during https stuff -- maybe that code corrupts the stack? Or maybe that code just does more allocations and so is more likely to hit the profiling code.