nacl-amd64p32 builder running (and failig)

201 views
Skip to first unread message

Brad Fitzpatrick

unread,
Mar 11, 2014, 2:53:13 PM3/11/14
to golang-dev
The nacl-amd64p32 builder is now running.

Here's it failing:


Brad Fitzpatrick

unread,
Mar 11, 2014, 2:53:40 PM3/11/14
to golang-dev
And there's me failing to type in the subject.

Rémy Oudompheng

unread,
Mar 11, 2014, 3:14:27 PM3/11/14
to Brad Fitzpatrick, golang-dev

It should use GOHOSTARCH=amd64 and GOARCH=amd64p32.

--

---
You received this message because you are subscribed to the Google Groups "golang-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dave Cheney

unread,
Mar 11, 2014, 3:33:55 PM3/11/14
to Rémy Oudompheng, Brad Fitzpatrick, golang-dev
From memory the builder always sets GOHOSTARCH etc, in this case it shouldn't. 


Brad Fitzpatrick

unread,
Mar 11, 2014, 4:10:48 PM3/11/14
to Dave Cheney, Rémy Oudompheng, golang-dev
Yes, to be clear I'm only using the builder:

builder -v linux-amd64 linux-386 nacl-amd64p32

Dave Cheney

unread,
Mar 11, 2014, 4:13:16 PM3/11/14
to Brad Fitzpatrick, Rémy Oudompheng, golang-dev
I was the one that added the GOHOSTOS/ARCH=GOOS/ARCH bit to the
builder a while back when we found out that builders were actually
doing cross compiles on linux and darwin for 386.

Let me take a crack at modifying this behaviour.

Brad Fitzpatrick

unread,
Mar 11, 2014, 4:13:54 PM3/11/14
to Dave Cheney, Rémy Oudompheng, golang-dev
I don't remember that change.

If it was recent, it's possible the Linux builder binary is old.

Brad Fitzpatrick

unread,
Mar 11, 2014, 4:15:26 PM3/11/14
to Dave Cheney, Rémy Oudompheng, golang-dev
Current manual build, on a different (but ~identical) linux-amd64 machine:

ante:src $ PATH=$HOME/nacl:$PATH GOOS=nacl GOHOSTARCH=amd64 GOARCH=amd64p32 ./all.bash
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, linux/amd64.
lib9
libbio
libmach
liblink
misc/pprof
cmd/objdump
cmd/prof
cmd/cc
cmd/gc
cmd/6l
cmd/6a
cmd/6c
cmd/6g
pkg/runtime
pkg/errors
pkg/sync/atomic
pkg/sync
pkg/io
pkg/unicode
pkg/unicode/utf8
pkg/unicode/utf16
pkg/bytes
pkg/math
pkg/strings
pkg/strconv
pkg/bufio
pkg/sort
pkg/container/heap
pkg/encoding/base64
pkg/syscall
pkg/time
pkg/os
pkg/reflect
pkg/fmt
pkg/encoding
pkg/encoding/json
pkg/flag
pkg/path/filepath
pkg/path
pkg/io/ioutil
pkg/log
pkg/regexp/syntax
pkg/regexp
pkg/go/token
pkg/go/scanner
pkg/go/ast
pkg/go/parser
pkg/os/exec
pkg/os/signal
pkg/net/url
pkg/text/template/parse
pkg/text/template
pkg/go/doc
pkg/go/build
cmd/go
pkg/runtime (nacl/amd64p32)

# Building packages and commands for host, linux/amd64.
runtime
errors
sync/atomic
unicode
unicode/utf8
math
sort
encoding
unicode/utf16
container/list
crypto/subtle
container/ring
sync
image/color
runtime/race
container/heap
image/color/palette
io
syscall
hash
crypto/cipher
hash/crc32
crypto/hmac
hash/adler32
hash/crc64
hash/fnv
bytes
strings
bufio
text/tabwriter
path
html
compress/bzip2
time
strconv
math/rand
math/cmplx
os
reflect
crypto
encoding/base64
regexp/syntax
net/url
crypto/aes
crypto/rc4
crypto/md5
crypto/sha1
crypto/sha256
encoding/pem
crypto/sha512
encoding/ascii85
encoding/base32
image
path/filepath
os/signal
io/ioutil
os/exec
image/draw
image/jpeg
regexp
encoding/binary
fmt
crypto/des
index/suffixarray
debug/dwarf
debug/gosym
flag
log
go/token
encoding/json
encoding/xml
text/template/parse
compress/flate
go/scanner
math/big
encoding/hex
go/ast
mime
debug/elf
debug/macho
debug/pe
text/template
compress/gzip
runtime/pprof
debug/goobj
debug/plan9obj
crypto/elliptic
crypto/rand
crypto/dsa
cmd/addr2line
encoding/asn1
cmd/pack
cmd/nm
crypto/rsa
go/parser
go/printer
crypto/ecdsa
go/doc
crypto/x509/pkix
archive/tar
archive/zip
compress/lzw
compress/zlib
database/sql/driver
encoding/csv
encoding/gob
html/template
image/gif
cmd/cgo
go/format
go/build
cmd/fix
cmd/gofmt
cmd/yacc
database/sql
cmd/link
image/png
runtime/debug
testing
testing/iotest
testing/quick
text/scanner
runtime/cgo
net
os/user
crypto/x509
net/textproto
log/syslog
mime/multipart
net/mail
crypto/tls
net/http
net/smtp
cmd/go
expvar
net/http/cgi
net/http/cookiejar
net/http/httptest
net/http/httputil
net/http/pprof
net/rpc
net/http/fcgi
net/rpc/jsonrpc

# Building packages and commands for nacl/amd64p32.
runtime
errors
sync/atomic
unicode
unicode/utf8
math
sort
encoding
unicode/utf16
container/list
sync
crypto/subtle
container/ring
image/color
runtime/race
container/heap
image/color/palette
io
syscall
hash
crypto/cipher
hash/crc32
crypto/hmac
hash/adler32
hash/crc64
hash/fnv
bytes
strings
bufio
text/tabwriter
path
html
compress/bzip2
strconv
math/rand
math/cmplx
reflect
crypto
encoding/base64
regexp/syntax
net/url
crypto/aes
crypto/rc4
crypto/md5
crypto/sha1
crypto/sha256
time
encoding/pem
crypto/sha512
encoding/ascii85
encoding/base32
image
image/draw
image/jpeg
os
regexp
encoding/binary
fmt
path/filepath
net
os/signal
io/ioutil
os/exec
crypto/des
index/suffixarray
debug/dwarf
debug/gosym
flag
log
go/token
encoding/json
encoding/xml
text/template/parse
go/scanner
compress/flate
math/big
go/ast
debug/elf
debug/macho
debug/pe
text/template
compress/gzip
crypto/elliptic
crypto/rand
crypto/dsa
cmd/addr2line
encoding/asn1
encoding/hex
crypto/rsa
mime
go/parser
go/printer
net/textproto
runtime/pprof
crypto/ecdsa
crypto/x509/pkix
debug/goobj
crypto/x509
go/doc
mime/multipart
debug/plan9obj
cmd/pack
cmd/nm
archive/tar
archive/zip
cmd/cgo
go/format
# cmd/addr2line
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
go/build
cmd/gofmt
cmd/fix
cmd/yacc
crypto/tls
# cmd/pack
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
compress/lzw
compress/zlib
database/sql/driver
cmd/link
database/sql
# cmd/nm
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
encoding/csv
encoding/gob
html/template
# cmd/gofmt
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
image/gif
image/png
net/http
net/mail
# cmd/fix
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
net/smtp
# cmd/yacc
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
os/user
runtime/debug
testing
testing/iotest
testing/quick
text/scanner
# cmd/link
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
# cmd/cgo
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler
cmd/go
expvar
net/http/cgi
net/http/cookiejar
net/http/httptest
net/http/httputil
net/http/pprof
net/rpc
net/http/fcgi
net/rpc/jsonrpc
# cmd/go
runtime.write: undefined: runtime.timens
time.now: undefined: runtime.timens
runtime.nanotime: undefined: runtime.timens
runtime.sigtramp: undefined: runtime.sighandler


Known?

How far is it expected to get currently?

Dave Cheney

unread,
Mar 11, 2014, 4:18:26 PM3/11/14
to Brad Fitzpatrick, Rémy Oudompheng, golang-dev
> # cmd/pack
> runtime.write: undefined: runtime.timens

Know error. I proposed a CL to add the fake time support
(runtime.timens is the switch to turn it off/on) but it was too
invasive so was dropped. rsc suggested just merging the bit that
defines the symbol as 0. I'll do that this morning

> time.now: undefined: runtime.timens
> runtime.nanotime: undefined: runtime.timens
> runtime.sigtramp: undefined: runtime.sighandler

https://codereview.appspot.com/72790043, needs a second LGTM.

> compress/lzw

Dave Cheney

unread,
Mar 11, 2014, 5:02:23 PM3/11/14
to Brad Fitzpatrick, Rémy Oudompheng, golang-dev
https://codereview.appspot.com/74220043/ fixes the missing
runtime.timens symbol. Fake time is not finished, so is disabled.

With this ./make.bash finishes on darwin/amd64, I'm assuming
linux/amd64 as well.

Dave Cheney

unread,
Mar 11, 2014, 5:11:59 PM3/11/14
to Brad Fitzpatrick, Rémy Oudompheng, golang-dev
Hi Brad,

Could you please try this small change to the builder. Hopefully the
accompanying comment will explain what is going on.

https://codereview.appspot.com/74230043

Brad Fitzpatrick

unread,
Mar 11, 2014, 5:35:17 PM3/11/14
to Dave Cheney, Rémy Oudompheng, golang-dev
Done.

ac22f24159cc path/filepath: fixed misaligned comment will now build with the updated + patched builder.  It was running a builder from July of last year, before the builder moved to the go.tools subrepo.

Dave Cheney

unread,
Mar 11, 2014, 5:39:59 PM3/11/14
to Brad Fitzpatrick, Rémy Oudompheng, golang-dev
Awesome, I'll mail out that change.

Are you going to setup nacl/386 as well ?

Brad Fitzpatrick

unread,
Mar 11, 2014, 6:05:54 PM3/11/14
to Dave Cheney, Rémy Oudompheng, golang-dev
On Tue, Mar 11, 2014 at 2:39 PM, Dave Cheney <da...@cheney.net> wrote:
Awesome, I'll mail out that change.

Are you going to setup nacl/386 as well ?

Done.
 

Rémy Oudompheng

unread,
Mar 18, 2014, 5:21:30 PM3/18/14
to Brad Fitzpatrick, Dave Cheney, golang-dev
Do you know why the nacl/386 shows so many segfaults ?
Like http://build.golang.org/log/0e69b744b9df0b7ccd83c41bf09209d6c29f1730

It says:

ok hash/adler32 0.053s
ok hash/crc32 0.036s

** Signal 11 from untrusted code: pc=49012
FAIL hash/crc64 0.037s

On my machine I don't have an issue at all:

% GOARCH=386 GOOS=nacl bin/go test hash/crc64
ok hash/crc64 0.028s
% GOARCH=386 GOOS=nacl bin/go test -short hash/crc64
ok hash/crc64 0.028s

Is it using the correctl NaCl loader ?

Rémy.

Brad Fitzpatrick

unread,
Mar 19, 2014, 12:48:10 PM3/19/14
to Rémy Oudompheng, Dave Cheney, golang-dev
I thought I just copied what Russ wrote and said to do.

Here's what the builder's got, with this directory in the builder's $PATH:

ubuntu@GoLinux:~$ ls -l /usr/local/bin/
total 10932
-rwxr-xr-x 1 root   root       236 Mar 11 18:40 go_nacl_386_exec
-rwxr-xr-x 1 root   root       318 Mar 11 18:40 go_nacl_amd64p32_exec
-rwxr-xr-x 1 root   root   9071768 Jul 30  2013 runsit
-rwxr-xr-x 1 ubuntu ubuntu  728903 Mar 11 18:38 sel_ldr_x86_32
-rwxr-xr-x 1 ubuntu ubuntu 1384028 Mar 11 18:38 sel_ldr_x86_64

ubuntu@GoLinux:~$ cat /usr/local/bin/go_nacl_386_exec
#!/bin/bash

# TODO: Move any $FOO we want to pass through to $NACLENV_FOO.
# TODO: Remove -a chatter, probably by rewriting in C or Go.

export NACLENV_GOARCH=$GOARCH
export NACLENV_GOOS=$GOOS

exec sel_ldr_x86_32 -l /dev/null -e "$@"

ubuntu@GoLinux:~$ cat /usr/local/bin/go_nacl_amd64p32_exec 
#!/bin/bash

# TODO: Move any $FOO we want to pass through to $NACLENV_FOO.
# TODO: Remove -a chatter, probably by rewriting in C or Go.

export NACLENV_GOARCH=$GOARCH
export NACLENV_GOOS=$GOOS
export NACLENV_GOROOT=/go
export NACLENV_NACLPWD=$(pwd | sed "s;$GOROOT;/go;")

exec sel_ldr_x86_64 -l /dev/null -S -e "$@"

ubuntu@GoLinux:~$ sha1sum /usr/local/bin/sel_ldr_x86_32
aff3983573c63d1a4b3e570a58eea220f1935918  /usr/local/bin/sel_ldr_x86_32

ubuntu@GoLinux:~$ sha1sum /usr/local/bin/sel_ldr_x86_64 
78117f7fe4c779b80a4cb52aef6cf2ccb482cc99  /usr/local/bin/sel_ldr_x86_64

ubuntu@GoLinux:~$ uname -a
Linux GoLinux 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


Reply all
Reply to author
Forward
0 new messages