Debian Bug report logs - #717172
Stripping golang binaries causes crashes

version graph

Package: golang; Maintainer for golang is Michael Stapelberg <stapelberg@debian.org>; Source for golang is src:golang.

Reported by: Robie Basak <robie.basak@ubuntu.com>

Date: Wed, 17 Jul 2013 13:36:06 UTC

Severity: normal

Found in version golang/2:1.1.1-3

Fixed in version golang/2:1.1.1-4

Done: Michael Stapelberg <stapelberg@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Michael Stapelberg <stapelberg@debian.org>:
Bug#717172; Package golang. (Wed, 17 Jul 2013 13:36:11 GMT) Full text and rfc822 format available.

Acknowledgement sent to Robie Basak <robie.basak@ubuntu.com>:
New Bug report received and forwarded. Copy sent to Michael Stapelberg <stapelberg@debian.org>. (Wed, 17 Jul 2013 13:36:11 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Robie Basak <robie.basak@ubuntu.com>
To: submit@bugs.debian.org
Subject: Stripping golang binaries causes crashes
Date: Wed, 17 Jul 2013 14:33:46 +0100
Package: golang
Version: 2:1.1.1-3
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu saucy ubuntu-patch

Downstream bug: https://launchpad.net/bugs/1200255

golang binaries crash on some architectures if they are stripped during
packaging. Upstream are aware of this, but do not currently support the
stripping of binaries.

Dave Cheney says:

	* not supported, as in, we don't support it, and recommend against
	  it when asked
	* not tested, we don't test stripped binaries as part of the build
	  CI process
	* is often broken, stripping a go binary will produce anywhere
	  from no, to subtle, to outright execution failure, see above
	* doesn't do what you want, we have a flag called -g, but the
	  information it stores in the elf sections is a superset of what
	  strip thinks it is removing, in short, strip does not strip out
	  the debug data, we hide it too well.


	To clarify my previous statements.

	* I do not disagree with the debian policy, it is there for a good
	  reason
	* Having said that, it stripping Go binaries doesn't work, and
	  nobody is looking at making it work, so there is that.

	Thanks for patching the build formula.

Debian policy says that binaries "should" be stripped, not "must" be
stripped, so I assumed that policy permits this, and that applying the
following patch would be the pragmatic thing to do for Ubuntu. I think
that doing anything else would be considerable effort. Please consider
the same for Debian.

diff -Nru golang-1.1.1/debian/rules golang-1.1.1/debian/rules
--- golang-1.1.1/debian/rules	2013-07-11 14:13:41.000000000 -0400
+++ golang-1.1.1/debian/rules	2013-07-16 08:19:46.000000000 -0400
@@ -95,7 +95,8 @@
 	find $(CURDIR)/debian/golang-go/usr/lib/go/pkg -exec touch -r $(CURDIR)/debian/golang-go/usr/lib/go/pkg {} \;
 
 override_dh_strip:
-	dh_strip -X".a" -Xgoinstall -Xgodoc -Xgoyacc -Xbin/cgo -Xebnflint -Xgofix -Xgofmt -Xgovet -Xgotest --dbg-package=$(PACKAGE)-dbg
+	# strip disabled as golang upstream doesn't support it and it makes go
+	# crash. See https://launchpad.net/bugs/1200255.
 
 override_dh_prep:
 	dh_prep



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#717172; Package golang. (Wed, 17 Jul 2013 16:45:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Stapelberg <stapelberg@debian.org>:
Extra info received and forwarded to list. (Wed, 17 Jul 2013 16:45:04 GMT) Full text and rfc822 format available.

Message #10 received at 717172@bugs.debian.org (full text, mbox):

From: Michael Stapelberg <stapelberg@debian.org>
To: Robie Basak <robie.basak@ubuntu.com>, 717172@bugs.debian.org
Subject: Re: Bug#717172: Stripping golang binaries causes crashes
Date: Wed, 17 Jul 2013 18:41:03 +0200
Hi Robie,

I am working on it, thanks for the patch.

-- 
Best regards,
Michael



Reply sent to Michael Stapelberg <stapelberg@debian.org>:
You have taken responsibility. (Wed, 17 Jul 2013 18:21:15 GMT) Full text and rfc822 format available.

Notification sent to Robie Basak <robie.basak@ubuntu.com>:
Bug acknowledged by developer. (Wed, 17 Jul 2013 18:21:15 GMT) Full text and rfc822 format available.

Message #15 received at 717172-close@bugs.debian.org (full text, mbox):

From: Michael Stapelberg <stapelberg@debian.org>
To: 717172-close@bugs.debian.org
Subject: Bug#717172: fixed in golang 2:1.1.1-4
Date: Wed, 17 Jul 2013 18:18:39 +0000
Source: golang
Source-Version: 2:1.1.1-4

We believe that the bug you reported is fixed in the latest version of
golang, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 717172@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Stapelberg <stapelberg@debian.org> (supplier of updated golang package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 17 Jul 2013 19:15:18 +0200
Source: golang
Binary: golang-go golang-src golang-doc golang golang-mode kate-syntax-go vim-syntax-go golang-go-linux-amd64 golang-go-linux-arm golang-go-linux-386 golang-go-freebsd-amd64 golang-go-freebsd-arm golang-go-freebsd-386 golang-go-windows-amd64 golang-go-windows-386 golang-go-darwin-amd64 golang-go-darwin-386 golang-go-netbsd-amd64 golang-go-netbsd-386
Architecture: source amd64 all
Version: 2:1.1.1-4
Distribution: unstable
Urgency: low
Maintainer: Michael Stapelberg <stapelberg@debian.org>
Changed-By: Michael Stapelberg <stapelberg@debian.org>
Description: 
 golang     - Go programming language compiler - metapackage
 golang-doc - Go programming language compiler - documentation
 golang-go  - Go programming language compiler
 golang-go-darwin-386 - Go standard library compiled for darwin_386
 golang-go-darwin-amd64 - Go standard library compiled for darwin_amd64
 golang-go-freebsd-386 - Go standard library compiled for freebsd_386
 golang-go-freebsd-amd64 - Go standard library compiled for freebsd_amd64
 golang-go-freebsd-arm - Go standard library compiled for freebsd_arm
 golang-go-linux-386 - Go standard library compiled for linux_386
 golang-go-linux-amd64 - Go standard library compiled for linux_amd64
 golang-go-linux-arm - Go standard library compiled for linux_arm
 golang-go-netbsd-386 - Go standard library compiled for netbsd_386
 golang-go-netbsd-amd64 - Go standard library compiled for netbsd_amd64
 golang-go-windows-386 - Go standard library compiled for windows_386
 golang-go-windows-amd64 - Go standard library compiled for windows_amd64
 golang-mode - Go programming language - mode for GNU Emacs
 golang-src - Go programming language compiler - source files
 kate-syntax-go - Go programming language - Kate highlighting syntax files
 vim-syntax-go - Go programming language - Vim highlighting syntax files
Closes: 717172
Changes: 
 golang (2:1.1.1-4) unstable; urgency=low
 .
   * Disable stripping, it breaks go binaries on some architectures. This drops
     the golang-dbg package which would be empty now. (Thanks Robie Basak)
     (Closes: #717172)
Checksums-Sha1: 
 940f74a0201329e3930aa585f2e940314ec7a7d5 2963 golang_1.1.1-4.dsc
 7ddd2e75c7e01f13e29db37d0d27d0fa06b4c396 44827 golang_1.1.1-4.debian.tar.gz
 49b3546f036eb0fdf249fc598db965066a594048 8028896 golang-go_1.1.1-4_amd64.deb
 65284ba781ed1fd2a346598413f2f2f7268e6597 2147598 golang-src_1.1.1-4_amd64.deb
 9b4c2c1e0a1a098c96ce7ba26d117f22346420ec 2466040 golang-doc_1.1.1-4_all.deb
 5d0263cb5239e53ab8210807a3e1e1fb36a75fd9 23436 golang_1.1.1-4_all.deb
 e61dbef18ad4a0f9ac23a372afd9c88a64c0e57c 34456 golang-mode_1.1.1-4_all.deb
 631ecee7a1ef0487c56779b19acff33a66f122a1 24394 kate-syntax-go_1.1.1-4_all.deb
 d31fef2b6d317bead706ef80fe6447ef812f5414 28846 vim-syntax-go_1.1.1-4_all.deb
 408104f4d4a2ee1f047b105ef0a1c0eea3bbc516 10253002 golang-go-linux-amd64_1.1.1-4_all.deb
 200413a8b067a6a4745e33c80d222901da8adb4a 5293346 golang-go-linux-arm_1.1.1-4_all.deb
 b4505ce3c06187b212f2b0f27e27db67d662ff19 4832956 golang-go-linux-386_1.1.1-4_all.deb
 426a81d2d442b5de007feedc3413db7202074a45 4786746 golang-go-freebsd-amd64_1.1.1-4_all.deb
 366c33405fc52b016ada50802a74f777a0e85143 5292116 golang-go-freebsd-arm_1.1.1-4_all.deb
 7ec442d76f0a5f14c4c66970fee2e73672d1203b 4830648 golang-go-freebsd-386_1.1.1-4_all.deb
 c624916deb67a69c231996e0e54811bcfdd2868c 4872818 golang-go-windows-amd64_1.1.1-4_all.deb
 8403d5dee9d2704a5f2e6f660c82ac3d909cc627 4873688 golang-go-windows-386_1.1.1-4_all.deb
 80543c08394c524be1c4b7e026178c408b050397 4819692 golang-go-darwin-amd64_1.1.1-4_all.deb
 bf07d8a355ecf9340567ad5c8748bc1f14d6e115 4822638 golang-go-darwin-386_1.1.1-4_all.deb
 c9884fc2982d705a700784356f3f3bbe0d323516 4780662 golang-go-netbsd-amd64_1.1.1-4_all.deb
 00582f3e2e06f118d52ed78f706e373e946bfee5 4823064 golang-go-netbsd-386_1.1.1-4_all.deb
Checksums-Sha256: 
 d97a57eeea43b21f1780e5d51d6db1d8c626624b4b0022ea091a9d9e7f1ac4d5 2963 golang_1.1.1-4.dsc
 995405f2d9b98a327e6c79bc3cfdad1970cb3b29e07db535740840781fd5d5b1 44827 golang_1.1.1-4.debian.tar.gz
 30041257d8fa848d67e135fc3d973d2eee2a5e457b1bed5731869ec4cdac113f 8028896 golang-go_1.1.1-4_amd64.deb
 45980da8c55b1f1d8a59a3c077275dd80f4094b6d3df4f5b653a310f1ad76f1d 2147598 golang-src_1.1.1-4_amd64.deb
 1911f09d68d13bd834969f82d2e075b98add65ed3b7a4187dfebf2ce275ca598 2466040 golang-doc_1.1.1-4_all.deb
 fe553ab84ef6cb31fc088abae5670fe56ef0f08ecb700794511e272254b37d99 23436 golang_1.1.1-4_all.deb
 b12e38ad930acbe2cab01eedb680b962533efacca582b295a436188d75cfaf79 34456 golang-mode_1.1.1-4_all.deb
 1faa493284a4d33bdb558634e84281e2139f8eed15ecb954b5347137a3f530ba 24394 kate-syntax-go_1.1.1-4_all.deb
 a945107b9150583575ab3f4f29c63de2f44f7b4ad877f158de38d57ec6b5e12f 28846 vim-syntax-go_1.1.1-4_all.deb
 6b76837c7f90cca4577937dfab2c13206a291a9ba5aa533c56a3ebf9b30c95ce 10253002 golang-go-linux-amd64_1.1.1-4_all.deb
 f800a198c8ec568849e0dd40226730b9d80a91aafa74b5c74b1b6c7c8902a60f 5293346 golang-go-linux-arm_1.1.1-4_all.deb
 c5457559480f3a125862257399d6ab00be59705956f5f3b2a9fa1653403b929e 4832956 golang-go-linux-386_1.1.1-4_all.deb
 8a2f7e80e66acbb86a5405fca9c57078d28b2be03c8b48451f161ba60bb16971 4786746 golang-go-freebsd-amd64_1.1.1-4_all.deb
 adb7eaf0e5ae0dbc9fdb01257660d65dec832e9186e7292f263597874562f1c0 5292116 golang-go-freebsd-arm_1.1.1-4_all.deb
 a7895fc6aa3c90c0f10c7d70d5fffb3b85d785f20b30b18d70f88c80614d23e1 4830648 golang-go-freebsd-386_1.1.1-4_all.deb
 2c60dfb111d503b4a4fd1cba72c86dab419174a7543e8c0456f5b7689e63a22b 4872818 golang-go-windows-amd64_1.1.1-4_all.deb
 e2e0c85d9f03687183e7367ec8ae6c4e9912eed9cb685edf6285c14da4d3213a 4873688 golang-go-windows-386_1.1.1-4_all.deb
 ac845706a1059d17ee57daa7095b66b0a1de826332ed1ac541cb7434da01a774 4819692 golang-go-darwin-amd64_1.1.1-4_all.deb
 0e7c91c66563218c270931ea944df3f81c424b4deaebad88f3906b4de0c03ca5 4822638 golang-go-darwin-386_1.1.1-4_all.deb
 2fa7b7e833b0c8c06e3b01471404f3982a25ba1973ac47a4b079e2186d067453 4780662 golang-go-netbsd-amd64_1.1.1-4_all.deb
 b1dade70c302c31f0a7a1599ec2c142ed412311e9b34449dee2cb1b8f9efcdfd 4823064 golang-go-netbsd-386_1.1.1-4_all.deb
Files: 
 1f8f3feffa44db0561545386a79ec189 2963 devel optional golang_1.1.1-4.dsc
 99f9a45fd65ec35c6eb72d4307922e2d 44827 devel optional golang_1.1.1-4.debian.tar.gz
 12e7a18e5b9f618d89203c37ee1a39a1 8028896 devel optional golang-go_1.1.1-4_amd64.deb
 775dc805652712e3d3fc1318e7ab7055 2147598 devel optional golang-src_1.1.1-4_amd64.deb
 b653df729d3521228ce39bea96bb83e1 2466040 doc optional golang-doc_1.1.1-4_all.deb
 d5a51d55cde4f3f28febb99c2043f022 23436 devel optional golang_1.1.1-4_all.deb
 d7689d5bbfee72ae25badc947f00e6c3 34456 devel optional golang-mode_1.1.1-4_all.deb
 f135360ea2169c04cb4c1307e486cb5a 24394 devel optional kate-syntax-go_1.1.1-4_all.deb
 e3c964580d6839016e30ac2001301742 28846 devel optional vim-syntax-go_1.1.1-4_all.deb
 271c55e277cf351d83ac3eabe63cfaa3 10253002 devel optional golang-go-linux-amd64_1.1.1-4_all.deb
 4f305467c15b38168062b836a234e154 5293346 devel optional golang-go-linux-arm_1.1.1-4_all.deb
 6d9dfdfa1f5f68aeaced48ed3ac539f2 4832956 devel optional golang-go-linux-386_1.1.1-4_all.deb
 803b63bceb5bfa107504ace314bd5d88 4786746 devel optional golang-go-freebsd-amd64_1.1.1-4_all.deb
 119a3657a1741837ac0f5d116323230f 5292116 devel optional golang-go-freebsd-arm_1.1.1-4_all.deb
 34e69c6ab08c1fd735d3e694ba7b7a61 4830648 devel optional golang-go-freebsd-386_1.1.1-4_all.deb
 19c92c73e3f31f77d1cb079e8fa33bad 4872818 devel optional golang-go-windows-amd64_1.1.1-4_all.deb
 56dc9367754ecdd5b380eb2cb36d2166 4873688 devel optional golang-go-windows-386_1.1.1-4_all.deb
 a6da6122d974349cb849bf5e1c61ee41 4819692 devel optional golang-go-darwin-amd64_1.1.1-4_all.deb
 da3d49a05daa47ec854f034f900fad87 4822638 devel optional golang-go-darwin-386_1.1.1-4_all.deb
 8127da0b63f1e2ccb0c665f07928c949 4780662 devel optional golang-go-netbsd-amd64_1.1.1-4_all.deb
 fafcb66cf461bdd351481ab837253228 4823064 devel optional golang-go-netbsd-386_1.1.1-4_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCgAGBQJR5tM3AAoJEE5xYO1KyO4dmiMP/RWt+4k/f+ov3u38DvjIKUa0
XHRM9+gd8k5TqM43u3NOUx+UhPIw6oDMJVMk3UrpJOSO3lHDOtH85OzuL/eeagQc
YPyPKWtXzrel0vq9fS1UYGl35mC6zx9Yjrw+KnCESMeS7C9sWeJS8xtyu3Q9VkoU
4p4LPbYgvyuXUZCPDjxYsdBr8qfPZSZNHaqtHckAGgvKHuz3vEiybCvrylvwUj1o
742h7EViU0M6wmgje1C7Vm0btEpqFPqKubP/ukT8Cf528MxHDHsCbwGtCQPf+1EP
tB2MbSTY5XtXXkTKbpr7S1/fCVD/CqMpYmWzmhyUIuOhGlSnIHowH72989dumxtv
g41bq8JbhsOQcj94so1lcf1OSlCPtZNLCq5CYZUdyLgD06e7vLz4po9AI2rKQmMn
Ufy4y3EyKZuNPJn8/gNysLRtgNyU+AmuIR7022tS9Hrn67Lod3rGsdiCvsRkG6aj
1ImOtngrRCkpXbpGCYyFBq6lmcrLQan0TPRli14bRcz+B3mDxHYxyPBdO7C/1OXw
CRjoxrUvgXG1vsgBHEoi82DyFXdeZXiULRH2qPWpvyytIHRV00VNAMTfeFB3ciJv
mMZp1BBi+T3OYsoUUj9iIm8a5EkLFgJoeKrnW9SDSpcF+slZNc67Zr29pFzmNZs7
KRzGfydv8UK+U6/fiS5r
=9ap3
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 16 Aug 2013 07:34:54 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 16 08:14:06 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.