linux-on-ibm-z / docs

A collection of instructions and tutorials to help you get your favorite software up and running on Linux on z
147 stars 58 forks source link

run time error when building the etcd #14

Closed nobody4t closed 6 years ago

nobody4t commented 6 years ago

OS: s390x/Ubuntu Kernel: 4.10.0-30-generic golang version: 1.9.2

Error:

fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x205030b00e33000 pc=0x3acf4]

goroutine 1 [running]: runtime.throw(0x4b8fb2, 0x2a) /usr/local/go/src/runtime/panic.go:605 +0x98 fp=0xc4201b4980 sp=0xc4201b4968 pc=0x40a18 runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:351 +0x2d8 fp=0xc4201b49c8 sp=0xc4201b4980 pc=0x59508 runtime.stkbucket(0x1, 0x100, 0xc4201b4a78, 0x1a, 0x20, 0x10000000017e3c2, 0xc4202d8aa0) /usr/local/go/src/runtime/mprof.go:230 +0x104 fp=0xc4201b4a28 sp=0xc4201b49d0 pc=0x3acf4 runtime.mProf_Malloc(0xc42015be00, 0x100) /usr/local/go/src/runtime/mprof.go:344 +0xa0 fp=0xc4201b4b98 sp=0xc4201b4a28 pc=0x3b480 runtime.profilealloc(0xc420440380, 0xc42015be00, 0x100) /usr/local/go/src/runtime/malloc.go:863 +0x52 fp=0xc4201b4bb0 sp=0xc4201b4b98 pc=0x24612 runtime.mallocgc(0x100, 0x0, 0x40, 0xc4202fa200) /usr/local/go/src/runtime/malloc.go:791 +0x4c2 fp=0xc4201b4c68 sp=0xc4201b4bb0 pc=0x23de2 runtime.growslice(0x414260, 0xc4202fa200, 0x80, 0x80, 0x81, 0xc4202fa200, 0x40, 0x80) /usr/local/go/src/runtime/slice.go:140 +0x236 fp=0xc4201b4cc8 sp=0xc4201b4c68 pc=0x5a9b6 go/build.(importReader).readByte(0xc4201b4dd0, 0x6e000000000b7da4) /usr/local/go/src/go/build/read.go:44 +0x1b0 fp=0xc4201b4d48 sp=0xc4201b4cc8 pc=0x1a20c0 go/build.(importReader).peekByte(0xc4201b4dd0, 0x100000000414260, 0x1000000006b4300) /usr/local/go/src/go/build/read.go:90 +0x128 fp=0xc4201b4d68 sp=0xc4201b4d48 pc=0x1a2288 go/build.(importReader).readKeyword(0xc4201b4dd0, 0x4a8534, 0x7) /usr/local/go/src/go/build/read.go:123 +0x2e fp=0xc4201b4d90 sp=0xc4201b4d68 pc=0x1a250e go/build.readImports(0x6b2e40, 0xc420422340, 0xc420422340, 0x0, 0xc420422340, 0x0, 0x0, 0x20, 0xc4202f67a0) /usr/local/go/src/go/build/read.go:216 +0x76 fp=0xc4201b4e70 sp=0xc4201b4d90 pc=0x1a31c6 go/build.(Context).matchFile(0x6f5740, 0xc4201ad000, 0x20, 0xc4201ecbc1, 0xf, 0xc4201b57e0, 0xc4203d2ee0, 0x2, 0x0, 0xda, ...) /usr/local/go/src/go/build/build.go:1093 +0x2e6 fp=0xc4201b4f70 sp=0xc4201b4e70 pc=0x19d456 go/build.(Context).Import(0x6f5740, 0xc4203b1a11, 0xe, 0xc4201aca80, 0x1f, 0x4, 0xc4201b6288, 0xc4201b61b0, 0xc42005fe10) /usr/local/go/src/go/build/build.go:732 +0x9ac fp=0xc4201b5a10 sp=0xc4201b4f70 pc=0x19645c cmd/go/internal/load.LoadImport(0xc4203b1a11, 0xe, 0xc4201aca80, 0x1f, 0xc4201da000, 0xc4201b9a98, 0xc420011e00, 0x2, 0x2, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:417 +0xae8 fp=0xc4201b5bc8 sp=0xc4201b5a10 pc=0x1fc3e8 cmd/go/internal/load.(Package).load(0xc4201da000, 0xc4201b9a98, 0xc4203d2a80, 0x0, 0x0, 0x4) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b6430 sp=0xc4201b5bc8 pc=0x200600 cmd/go/internal/load.LoadImport(0xc4203b0ff1, 0xd, 0xc420059d50, 0x66, 0xc4201d7680, 0xc4201b9a98, 0xc42019baa0, 0x1, 0x1, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b65e8 sp=0xc4201b6430 pc=0x1fc49a cmd/go/internal/load.(Package).load(0xc4201d7680, 0xc4201b9a98, 0xc4203d2380, 0x0, 0x0, 0xc) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b6e50 sp=0xc4201b65e8 pc=0x200600 cmd/go/internal/load.LoadImport(0xc4201e13b1, 0x2e, 0xc42028d220, 0x43, 0xc4201d7200, 0xc4201b9a98, 0xc42022f890, 0x1, 0x1, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b7008 sp=0xc4201b6e50 pc=0x1fc49a cmd/go/internal/load.(Package).load(0xc4201d7200, 0xc4201b9a98, 0xc4203d2000, 0x0, 0x0, 0x4) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b7870 sp=0xc4201b7008 pc=0x200600 cmd/go/internal/load.LoadImport(0xc420193e01, 0x36, 0xc420193c80, 0x39, 0xc420407b00, 0xc4201b9a98, 0xc420122aa0, 0x3, 0x4, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b7a28 sp=0xc4201b7870 pc=0x1fc49a cmd/go/internal/load.(Package).load(0xc420407b00, 0xc4201b9a98, 0xc42032d500, 0x0, 0x0, 0x4) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b8290 sp=0xc4201b7a28 pc=0x200600 cmd/go/internal/load.LoadImport(0xc4201877a1, 0x2c, 0xc420193540, 0x35, 0xc420407680, 0xc4201b9a98, 0xc4204da2d0, 0x1, 0x1, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b8448 sp=0xc4201b8290 pc=0x1fc49a cmd/go/internal/load.(Package).load(0xc420407680, 0xc4201b9a98, 0xc42032d180, 0x0, 0x0, 0x4) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b8cb0 sp=0xc4201b8448 pc=0x200600 cmd/go/internal/load.LoadImport(0xc42001c9f1, 0x28, 0xc42001c990, 0x30, 0xc42006f680, 0xc4201b9a98, 0xc4201499b0, 0x1, 0x1, 0x1, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b8e68 sp=0xc4201b8cb0 pc=0x1fc49a cmd/go/internal/load.(*Package).load(0xc42006f680, 0xc4201b9a98, 0xc42013aa80, 0x0, 0x0, 0xc) /usr/local/go/src/cmd/go/internal/load/pkg.go:1069 +0x13a0 fp=0xc4201b96d0 sp=0xc4201b8e68 pc=0x200600 cmd/go/internal/load.LoadImport(0x3fff0dff8af, 0x23, 0xc4200140a4, 0x17, 0x0, 0xc4201b9a98, 0x0, 0x0, 0x0, 0x0, ...) /usr/local/go/src/cmd/go/internal/load/pkg.go:426 +0xb9a fp=0xc4201b9888 sp=0xc4201b96d0 pc=0x1fc49a cmd/go/internal/load.LoadPackage(0x3fff0dff8af, 0x23, 0xc420133a98, 0x0) /usr/local/go/src/cmd/go/internal/load/pkg.go:1776 +0x242 fp=0xc4201b99d0 sp=0xc4201b9888 pc=0x205822 cmd/go/internal/load.PackagesAndErrors(0xc42003d900, 0x1, 0x1, 0x448a40, 0xc42003d8e0, 0xc4200e5040) /usr/local/go/src/cmd/go/internal/load/pkg.go:1821 +0x260 fp=0xc4201b9c00 sp=0xc4201b99d0 pc=0x2068a0 cmd/go/internal/load.PackagesForBuild(0xc420010180, 0x1, 0x1, 0x727470, 0xc420056240, 0x200001a8) /usr/local/go/src/cmd/go/internal/load/pkg.go:1837 +0x42 fp=0xc4201b9ce8 sp=0xc4201b9c00 pc=0x206b72 cmd/go/internal/work.runBuild(0x6edca0, 0xc420010180, 0x1, 0x1) /usr/local/go/src/cmd/go/internal/work/build.go:412 +0x78 fp=0xc4201b9e00 sp=0xc4201b9ce8 pc=0x2106a8 main.main() /usr/local/go/src/cmd/go/main.go:133 +0x79c fp=0xc4201b9f80 sp=0xc4201b9e00 pc=0x3c005c runtime.main() /usr/local/go/src/runtime/proc.go:195 +0x242 fp=0xc4201b9fd8 sp=0xc4201b9f80 pc=0x422f2 runtime.goexit() /usr/local/go/src/runtime/asm_s390x.s:947 +0x2 fp=0xc4201b9fd8 sp=0xc4201b9fd8 pc=0x71f92

goroutine 5 [syscall]: os/signal.signal_recv(0x0) /usr/local/go/src/runtime/sigqueue.go:131 +0xf6 os/signal.loop() /usr/local/go/src/os/signal/signal_unix.go:22 +0x1e created by os/signal.init.0 /usr/local/go/src/os/signal/signal_unix.go:28 +0x3c

This seems a run time error of golang. Any clue on this?

What I have done so far: I have tried all the golang version available so far, but all with the same error. So I think the s390x lacks some sort of support with golang.

mundaym commented 6 years ago

Hi, can you give us a bit more detail about your system? The following information would be very useful:

From the stack trace it looks like a pointer has been corrupted. Is the error message always the same or does it vary from run to run?

I just tried to build etcd from the current master branch on Ubuntu 16.04 with Go 1.9.2 and it built without issues using the ./build script. Here are the commands I used:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial
$ go version
go version go1.9.2 linux/s390x
$ git clone https://github.com/coreos/etcd.git
Cloning into 'etcd'...
remote: Counting objects: 70736, done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 70736 (delta 15), reused 19 (delta 8), pack-reused 70695
Receiving objects: 100% (70736/70736), 33.96 MiB | 13.39 MiB/s, done.
Resolving deltas: 100% (44599/44599), done.
Checking connectivity... done.
$ cd etcd/
$ ./build
$ ETCD_UNSUPPORTED_ARCH=s390x ./bin/etcd
2018-01-09 09:34:55.211675 W | etcdmain: running etcd on unsupported architecture "s390x" since ETCD_UNSUPPORTED_ARCH is set
2018-01-09 09:34:55.211925 I | etcdmain: etcd Version: 3.3.0+git
2018-01-09 09:34:55.211931 I | etcdmain: Git SHA: 9bd9d20
2018-01-09 09:34:55.211934 I | etcdmain: Go Version: go1.9.2
2018-01-09 09:34:55.211937 I | etcdmain: Go OS/Arch: linux/s390x
2018-01-09 09:34:55.211940 I | etcdmain: setting maximum number of CPUs to 8, total number of available CPUs is 8
2018-01-09 09:34:55.211951 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd
2018-01-09 09:34:55.212231 I | embed: listening for peers on http://localhost:2380
...
nobody4t commented 6 years ago

I reinstalled the OS. And it worked. I saw some env errors when I tried. So I guess some internal errors just happened. I am working in VM. It is not so stable.

nobody4t commented 6 years ago

Thanks for your reply. I will close this issue.