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: segfault on PowerPC LE #9138

Closed
gopherbot opened this issue Nov 20, 2014 · 3 comments
Closed

runtime: segfault on PowerPC LE #9138

gopherbot opened this issue Nov 20, 2014 · 3 comments
Milestone

Comments

@gopherbot
Copy link
Contributor

by guillaume@charmes.net:

On tip, revision: 21835:4e8f29def76a.

power64le is accepted, but can't compile Go. The C bootstrap goes well, but once
starting the go_bootstrap, it segfault.

Compiling from power64le on darwin works fine, but the resulting go binaries segfault
when running on powerpc64le.

Also tried to crosscompile a simple "func main() { println("hello
world")}", same thing: segfault when running it.

I did not manage to get gdb working, but when running the hello world with valgrind, I
get:

==30914== Memcheck, a memory error detector
==30914== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==30914== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==30914== Command: ./t
==30914==
==30914== Warning: set address range perms: large range [0xc000000000, 0xe208010000)
(noaccess)
==30914== Warning: ignored attempt to set SIGRT32 handler in sigaction();
==30914==          the SIGRT32 signal is used internally by Valgrind
fatal error: rt_sigaction failure

runtime stack:
runtime.gothrow(0x91990, 0x14)
        /Users/guillaume/goroot/src/runtime/panic.go:507 +0xf4
runtime.setsig(0x40, 0x62cf0, 0x48101)
        /Users/guillaume/goroot/src/runtime/os1_linux.go:257 +0x1e0
runtime.initsig()
        /Users/guillaume/goroot/src/runtime/signal1_unix.go:41 +0x1e8
runtime.mstart1()
        /Users/guillaume/goroot/src/runtime/proc1.go:730 +0xfc
runtime.mstart()
        /Users/guillaume/goroot/src/runtime/proc1.go:709 +0x108

goroutine 1 [runnable]:
runtime.main()
        /Users/guillaume/goroot/src/runtime/proc.go:14
runtime.goexit()
        /Users/guillaume/goroot/src/runtime/asm_power64x.s:972 +0x4
==30914==
==30914== HEAP SUMMARY:
==30914==     in use at exit: 0 bytes in 0 blocks
==30914==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==30914==
==30914== All heap blocks were freed -- no leaks are possible
==30914==
==30914== For counts of detected and suppressed errors, rerun with: -v
==30914== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
@gopherbot
Copy link
Contributor Author

Comment 1 by guillaume@charmes.net:

If this helps: when trying to compile Go locally, I got the 9g/9l binaries compalied and
working, I can compile and link a hello world locally and it works fine. However, when
running it: segfault.

@minux
Copy link
Member

minux commented Nov 20, 2014

Comment 2:

please use dev.power64 branch instead of dev.cc branch.
the valgrind error is expected. Go need
to claim all signal handlers. valgrind
is not very useful to Go programs anyway.
also, please add more details than "it
segfaults". If gdb is not working, use
strace to get the faulting address.

@ianlancetaylor
Copy link
Member

Comment 3:

The PowerPC support isn't on tip and won't be merged until after the 1.4 release. 
Please hold any bug reports until the release goes out and the branch is merged.  Thanks.

Status changed to Invalid.

@mikioh mikioh changed the title PowerPC LE runtime segfault runtime: segfault on PowerPC LE Aug 5, 2015
@mikioh mikioh added this to the Go1.5 milestone Aug 5, 2015
@golang golang locked and limited conversation to collaborators Aug 5, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants