please upload new package to reenable go's race detector on wily
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | golang-race-detector-runtime (Ubuntu) |
Undecided
|
Michael Hudson-Doyle | ||
Bug Description
I've built a package that reenables the race detector on wily:
http://
This is the first time I've made a package from scratch so it'll probably need more than one round of review.
Previous description follows:
for example using lp:ubuntu-push/automatic ... and going into server/session I get (this was working in vivid and on wily before the 1.5rc1 upgrade)
$ go version
go version go1.5rc1 linux/amd64
$ go test -race
# testmain
runtime.raceinit: __tsan_init: not defined
runtime.raceinit: __tsan_map_shadow: not defined
runtime.racefini: __tsan_fini: not defined
runtime.
runtime.racemalloc: __tsan_malloc: not defined
runtime.
runtime.racegoend: __tsan_go_end: not defined
runtime.
runtime.
runtime.
runtime.racefingo: __tsan_
runtime.
runtime.RaceEnable: __tsan_
runtime.raceread: __tsan_read: not defined
runtime.racereadpc: __tsan_read_pc: not defined
runtime.racewrite: __tsan_write: not defined
runtime.
runtime.
runtime.
runtime.
runtime.
/usr/lib/
FAIL launchpad.
Related branches
| Changed in golang (Ubuntu): | |
| assignee: | nobody → Michael Hudson-Doyle (mwhudson) |
| status: | New → In Progress |
| description: | updated |
| summary: |
- go1.5rc1: go test -race failing when building test exec on wily + please upload new package to reenable go's race detector on wily |
| Michael Hudson-Doyle (mwhudson) wrote : | #1 |
| Michael Hudson-Doyle (mwhudson) wrote : | #2 |
And another one fixed to avoid stripping the syso (which stops it working!)
| Martin Pitt (pitti) wrote : | #3 |
Packaging review:
- Please use 3.0 (quilt) source format for clean and standard patch management.
- Disabling "make check" (override_
- W: go-race-
Indeed you used "License: Expat" with two different license texts, AFAICS mostly due to including the copyright into it (which shouldn't happen -- that's what Copyright: is for). It's usually best to just say "License: Expat" in all Files: stanzas, and have a separate
License: expat
..blabla long text
stanza at the bottom, to avoid repetition.
- There are several missing copyrights in debian/copyright, e. g. ./lib/BlocksRun
| Martin Pitt (pitti) wrote : | #4 |
Please re-subscribe ~ubuntu-sponsors once you have a fixed package. Thanks!
| Michael Hudson-Doyle (mwhudson) wrote : Re: [Bug 1487010] Re: please upload new package to reenable go's race detector on wily | #5 |
Thanks for the review! Part of the reason that this package is a bit
confusing is that it is only building a small part of the source it
includes. I added a debian/
on:
=======
Runtime support for Go's race detector
-------
This package follows the instructions in the Go source:
https:/
that describe how to build the race detector runtime support from
source. The race detector depends on runtime support from the
"compiler-rt" runtime libraries (http://
specifically the ThreadSanitizer (aka "tsan") library. The Go source
distribution includes this support as a built object file which
obviously violates the principle of knowing that the binaries are
actually produced from the source they claim to be, hence this
package.
The compiler-rt source is included in other source packages (at least
gcc and llvm-toolchain) but I created one specifically for this task
so that we can use the same revision of the compiler-rt source as the
currently packaged version of Go.
This does mean that building this package only uses a relatively small
part of the source that it distributes -- for example, it doesn't
execute the full testsuite, just the small part that is run by the
buildgo.sh script.
=======
Do things make a bit more sense now?
On 18 September 2015 at 17:52, Martin Pitt <email address hidden> wrote:
> Packaging review:
> - Please use 3.0 (quilt) source format for clean and standard patch management.
I thought I had done that but indeed not. Fixed.
> - Disabling "make check" (override_
> running "make check" it fails with "unable to infer compiler target
> triple for clang". Is there any way to run the tests with gcc? If not,
> should this get a clang build dependency? If that doesn't work, please
> add a comment to debian/rules why tests can't/shouldn't be run.
I hope README.Debian explains this now?
> - W: go-race-
I don't get this warning, is it new in wily?
> Indeed you used "License: Expat" with two different license texts, AFAICS mostly due to including the copyright into it (which shouldn't happen -- that's what Copyright: is for). It's usually best to just say "License: Expat" in all Files: stanzas, and have a separate
>
> License: expat
> ..blabla long text
>
> stanza at the bottom, to avoid repetition.
OK, updated that.
> - There are several missing copyrights in debian/copyright, e. g.
> ./lib/BlocksRun
Well I went looking and found that and one other (cpplint.py which is
(c) google). Is there a way to be sure you've got them all? (I grep
-riF for "(c)" and "copyright").
> and the license is BSD.
Nope, still Expat :-) (verified with wdiff)
Uploaded a new package, please take another look.
| Martin Pitt (pitti) wrote : | #6 |
debian/control was a bit messed up -- the Source: stanza can't have a "Description:" field. Also, short description shouldn't end with a dot. It should also add the LP bug ref to debian/changelog. Attaching a debdiff for this, please apply.
However these are blockers:
- an upstream version of "229396" is huge, possibly not monotonous (is that a git commit ref?), and hard to make higher if this is more like a git commit hash than a monotonously increasing number.
- There is also no indication where the orig.tar.gz came from -- this should either come from a documented upstream release tarball URL, usually with debian/watch; or should get a "debian/rules get-orig-source" rule or at least some debian/
| Martin Pitt (pitti) wrote : | #7 |
Oh, if this is a non-monotonous git hash, please rather use time based versions, or a combination like 20151006+git123ABC
| Martin Pitt (pitti) wrote : | #8 |
Sorry, I mean 0.20151006+
| Michael Hudson-Doyle (mwhudson) wrote : | #9 |
On 6 October 2015 at 22:34, Martin Pitt <email address hidden> wrote:
> debian/control was a bit messed up -- the Source: stanza can't have a
> "Description:" field. Also, short description shouldn't end with a dot.
> It should also add the LP bug ref to debian/changelog. Attaching a
> debdiff for this, please apply.
Will do thanks.
> However these are blockers:
>
> - an upstream version of "229396" is huge, possibly not monotonous (is
> that a git commit ref?), and hard to make higher if this is more like a
> git commit hash than a monotonously increasing number.
It's a subversion revision number. I guess 0.0+svn229396 would be better?
> - There is also no indication where the orig.tar.gz came from -- this
> should either come from a documented upstream release tarball URL,
> usually with debian/watch; or should get a "debian/rules get-orig-
> source" rule or at least some debian/
> get it or any newer version.
Ah yes, fair points.
>
> ** Patch added: "packaging fixes"
> https:/
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https:/
>
> Title:
> please upload new package to reenable go's race detector on wily
>
> To manage notifications about this bug go to:
> https:/
| Michael Hudson-Doyle (mwhudson) wrote : | #10 |
Uploaded a new version to http://
1) Applied your debdiff
2) Changed the package name to golang-
3) Changed the upstream version number to 0.0+svn229396
4) Added a get-orig-source target and used it to repack the orig tarball (I verified that the file contents are the same as the previous version)
Thanks again for the reviews, feels close now?
| Martin Pitt (pitti) wrote : | #11 |
Thanks, looks good now! I uploaded this with dropping the subversion build dependency again, as it's only needed for get-orig-source, not the actual build.
| Changed in golang (Ubuntu): | |
| status: | In Progress → Fix Committed |
| affects: | golang (Ubuntu) → golang-race-detector-runtime (Ubuntu) |
| Launchpad Janitor (janitor) wrote : | #12 |
This bug was fixed in the package golang-
---------------
golang-
* Initial release. (LP: #1487010)
-- Michael Hudson-Doyle <email address hidden> Thu, 10 Sep 2015 13:00:00 +1200
| Changed in golang-race-detector-runtime (Ubuntu): | |
| status: | Fix Committed → Fix Released |


I've just uploaded a fix that means the package now builds in a clean environment.