** Also affects: golang-1.13 (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Description changed:

+ [impact]
+ Applications that use the "compress/zlib" package fail to build.
+ 
+ [test case]
+ $ cat > go.mod
+ module github.com/foo/baz
+ 
+ go 1.13
+ $ cat > main.go
+ package main
+ 
+ import (
+         "bytes"
+         "compress/zlib"
+ )
+ 
+ func main() {
+         var b bytes.Buffer
+         w := zlib.NewWriter(&b)
+         w.Write([]byte("hello, world\n"))
+         w.Close()
+ }
+ $ go build -v
+ 
+ The final command will fail before this is fixed and pass after.
+ 
+ [regression potential]
+ The fix is just preventing debhelper from stripping the zlib.a file in 
golang-1.13-go. Rebuilding the go toolchain one more time should not introduce 
any changes (the go project is pretty good about bootstrap hygiene).
+ 
+ [original description]
  Backported go-1.13 came with issues with zlib.
  
  In some projects i see link errors:
  
  golang.org/x/crypto/openpgp/packet.(*Compressed).parse: relocation target 
compress/zlib.NewReaderDict not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.NewEncoder: relocation 
target compress/zlib.NewWriterLevelDict not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.(*Encoder).entry: 
relocation target compress/zlib.(*Writer).Reset not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.(*Scanner).copyObject: 
relocation target type.compress/zlib.Resetter not defined
  ...
  
+ also reported in
+ https://github.com/GoogleCloudPlatform/osconfig/issues/279
  
- also reported in https://github.com/GoogleCloudPlatform/osconfig/issues/279
+ and compiling a trivial program (example from compress/zlib reference)
+ causes crash during linking:
  
- 
- and compiling a trivial program (example from compress/zlib reference) causes 
crash during linking:
- 
- 
- root@a6a24cdee4e3:/src/qqq# cat go.mod 
+ root@a6a24cdee4e3:/src/qqq# cat go.mod
  module github.com/foo/baz
  
  go 1.13
- root@a6a24cdee4e3:/src/qqq# cat main.go 
+ root@a6a24cdee4e3:/src/qqq# cat main.go
  package main
  
  import (
-         "bytes"
-         "compress/zlib"
+         "bytes"
+         "compress/zlib"
  )
  
  func main() {
-         var b bytes.Buffer
-         w := zlib.NewWriter(&b)
-         w.Write([]byte("hello, world\n"))
-         w.Close()
+         var b bytes.Buffer
+         w := zlib.NewWriter(&b)
+         w.Write([]byte("hello, world\n"))
+         w.Close()
  }
  root@a6a24cdee4e3:/src/qqq# go version
  go version go1.13.8 linux/amd64
- root@a6a24cdee4e3:/src/qqq# cat /etc/lsb-release 
+ root@a6a24cdee4e3:/src/qqq# cat /etc/lsb-release
  DISTRIB_ID=Ubuntu
  DISTRIB_RELEASE=16.04
  DISTRIB_CODENAME=xenial
  DISTRIB_DESCRIPTION="Ubuntu 16.04.7 LTS"
  root@a6a24cdee4e3:/src/qqq# go build -v
  # github.com/foo/baz
  panic: runtime error: index out of range [23] with length 0
  
  goroutine 1 [running]:
  cmd/link/internal/ld.decodetypeKind(...)
-         /usr/lib/go-1.13/src/cmd/link/internal/ld/decodesym.go:69
+         /usr/lib/go-1.13/src/cmd/link/internal/ld/decodesym.go:69
  cmd/link/internal/ld.newtype(0xc0006f4000, 0xc0007146e0, 0xc000618e68)
-         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:424 +0x29e1
+         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:424 +0x29e1
  cmd/link/internal/ld.defgotype(0xc0006f4000, 0xc0007146e0, 0x1a)
-         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:419 +0x1c8
+         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:419 +0x1c8
  cmd/link/internal/ld.dwarfGenerateDebugInfo(0xc0006f4000)
-         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:1900 +0x91c
+         /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:1900 +0x91c
  cmd/link/internal/ld.Main(0x84cdc0, 0x10, 0x20, 0x1, 0x7, 0x10, 0x69ac6f, 
0x1b, 0x697756, 0x14, ...)
-         /usr/lib/go-1.13/src/cmd/link/internal/ld/main.go:212 +0xb92
+         /usr/lib/go-1.13/src/cmd/link/internal/ld/main.go:212 +0xb92
  main.main()
-         /usr/lib/go-1.13/src/cmd/link/main.go:65 +0x1d6
+         /usr/lib/go-1.13/src/cmd/link/main.go:65 +0x1d6

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1913852

Title:
  zLib link failures on Xenial

Status in golang-1.13 package in Ubuntu:
  New
Status in golang-1.13 source package in Xenial:
  New

Bug description:
  [impact]
  Applications that use the "compress/zlib" package fail to build.

  [test case]
  $ cat > go.mod
  module github.com/foo/baz

  go 1.13
  $ cat > main.go
  package main

  import (
          "bytes"
          "compress/zlib"
  )

  func main() {
          var b bytes.Buffer
          w := zlib.NewWriter(&b)
          w.Write([]byte("hello, world\n"))
          w.Close()
  }
  $ go build -v

  The final command will fail before this is fixed and pass after.

  [regression potential]
  The fix is just preventing debhelper from stripping the zlib.a file in 
golang-1.13-go. Rebuilding the go toolchain one more time should not introduce 
any changes (the go project is pretty good about bootstrap hygiene).

  [original description]
  Backported go-1.13 came with issues with zlib.

  In some projects i see link errors:

  golang.org/x/crypto/openpgp/packet.(*Compressed).parse: relocation target 
compress/zlib.NewReaderDict not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.NewEncoder: relocation 
target compress/zlib.NewWriterLevelDict not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.(*Encoder).entry: 
relocation target compress/zlib.(*Writer).Reset not defined
  github.com/go-git/go-git/v5/plumbing/format/packfile.(*Scanner).copyObject: 
relocation target type.compress/zlib.Resetter not defined
  ...

  also reported in
  https://github.com/GoogleCloudPlatform/osconfig/issues/279

  and compiling a trivial program (example from compress/zlib reference)
  causes crash during linking:

  root@a6a24cdee4e3:/src/qqq# cat go.mod
  module github.com/foo/baz

  go 1.13
  root@a6a24cdee4e3:/src/qqq# cat main.go
  package main

  import (
          "bytes"
          "compress/zlib"
  )

  func main() {
          var b bytes.Buffer
          w := zlib.NewWriter(&b)
          w.Write([]byte("hello, world\n"))
          w.Close()
  }
  root@a6a24cdee4e3:/src/qqq# go version
  go version go1.13.8 linux/amd64
  root@a6a24cdee4e3:/src/qqq# cat /etc/lsb-release
  DISTRIB_ID=Ubuntu
  DISTRIB_RELEASE=16.04
  DISTRIB_CODENAME=xenial
  DISTRIB_DESCRIPTION="Ubuntu 16.04.7 LTS"
  root@a6a24cdee4e3:/src/qqq# go build -v
  # github.com/foo/baz
  panic: runtime error: index out of range [23] with length 0

  goroutine 1 [running]:
  cmd/link/internal/ld.decodetypeKind(...)
          /usr/lib/go-1.13/src/cmd/link/internal/ld/decodesym.go:69
  cmd/link/internal/ld.newtype(0xc0006f4000, 0xc0007146e0, 0xc000618e68)
          /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:424 +0x29e1
  cmd/link/internal/ld.defgotype(0xc0006f4000, 0xc0007146e0, 0x1a)
          /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:419 +0x1c8
  cmd/link/internal/ld.dwarfGenerateDebugInfo(0xc0006f4000)
          /usr/lib/go-1.13/src/cmd/link/internal/ld/dwarf.go:1900 +0x91c
  cmd/link/internal/ld.Main(0x84cdc0, 0x10, 0x20, 0x1, 0x7, 0x10, 0x69ac6f, 
0x1b, 0x697756, 0x14, ...)
          /usr/lib/go-1.13/src/cmd/link/internal/ld/main.go:212 +0xb92
  main.main()
          /usr/lib/go-1.13/src/cmd/link/main.go:65 +0x1d6

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/golang-1.13/+bug/1913852/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~group.of.nepali.translators
Post to     : group.of.nepali.translators@lists.launchpad.net
Unsubscribe : https://launchpad.net/~group.of.nepali.translators
More help   : https://help.launchpad.net/ListHelp

Reply via email to