Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: illegal instruction on armv5 when receiving SIGPIPE #15869

Closed
felipeota opened this issue May 28, 2016 · 7 comments
Closed

runtime: illegal instruction on armv5 when receiving SIGPIPE #15869

felipeota opened this issue May 28, 2016 · 7 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@felipeota
Copy link

felipeota commented May 28, 2016

  1. What version of Go are you using (go version)?

go version go1.6.2 linux/amd64

  1. What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/felipe/world/projects/go"
GORACE=""
GOROOT="/home/felipe/world/packages/go"
GOTOOLDIR="/home/felipe/world/packages/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
  1. What did you do?

Set up an simple infinite loop like:

package main

func main() {
    for true {
    }
}

compile with: env GOARCH=arm GOARM=5 GOOS=linux go build loop.go
run on target machine, kill with kill -SIGPIPE crashes with illegal instrucion. It actually happened to me when running Syncthing.

Here's cpuinfo on target machine (Iomega Home Media NAS):

Processor       : ARM926EJ-S rev 5 (v5l)
BogoMIPS        : 183.09
Features        : swp half thumb fastmult edsp java 
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 5
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 32768
I assoc         : 4
I line length   : 32
I sets          : 256
D size          : 32768
D assoc         : 4
D line length   : 32
D sets          : 256

Hardware        : Oxsemi NAS
Revision        : 0000
Serial          : 00000b4a8bf52a80

Under gdb:

(gdb) r
Starting program: /home/nascentral/helloworld

Program received signal SIGPIPE, Broken pipe.
main.main () at /home/felipe/world/projects/go/src/helloworld/helloworld.go:6
6       /home/felipe/world/projects/go/src/helloworld/helloworld.go: No such file or directory.
        in /home/felipe/world/projects/go/src/helloworld/helloworld.go
Current language:  auto; currently minimal
(gdb) c
Continuing.

Program received signal SIGILL, Illegal instruction.
0xffff0514 in ?? ()
(gdb) bt
#0  0xffff0514 in ?? ()
#1  0x0004e1c8 in runtime.sigtrampgo (sig=Unhandled dwarf expression opcode 0x9c
)
    at /home/felipe/world/packages/go/src/runtime/signal_sigtramp.go:49
#2  0x00000000 in ?? ()
(gdb) 
@josharian josharian changed the title Illegal Instruction on armv5 when receiving SIGPIPE runtime: illegal Instruction on armv5 when receiving SIGPIPE May 28, 2016
@josharian josharian changed the title runtime: illegal Instruction on armv5 when receiving SIGPIPE runtime: illegal instruction on armv5 when receiving SIGPIPE May 28, 2016
@minux
Copy link
Member

minux commented May 28, 2016 via email

@ianlancetaylor ianlancetaylor added this to the Go1.7Maybe milestone Jun 14, 2016
@ianlancetaylor
Copy link
Contributor

CC @cherrymui

@cherrymui
Copy link
Member

Hi @felipeota. Does this still fail with the current tip? (I don't have armv5 machine to reproduce it.) If so, could you set up a breakpoint in runtime.sigtrampgo and single step, see how it gets to the faulty address? Thanks!

@ianlancetaylor
Copy link
Contributor

We need more information. Punting to 1.8.

@ianlancetaylor ianlancetaylor modified the milestones: Go1.8, Go1.7Maybe Jun 28, 2016
@quentinmit quentinmit added WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Oct 11, 2016
@aclements
Copy link
Member

@felipeota, ping. Could you reply to @cherrymui's questions? Otherwise we'll have to close this.

@felipeota
Copy link
Author

My armv5 devboard bricked and I can't test this. You can close the issue. If I can bring it back to life I'll try this and reopen it.

@aclements
Copy link
Member

@felipeota, okay. Thanks.

@golang golang locked and limited conversation to collaborators Nov 9, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

7 participants