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
cmd/pack: arwrite hides write errors from perror #2705
Labels
Milestone
Comments
Setting set -x to the buildscript, I see it end with: # Building go command from bootstrap script. + mkdir -p /tmp/go-build.cAFXfk/runtime/_obj/ + cd /home/bradfitz/go/src/pkg/runtime + 6g -o /tmp/go-build.cAFXfk/runtime/_obj/_go_.6 -p runtime -+ -I /tmp/go-build.cAFXfk ./debug.go ./error.go ./extern.go ./mem.go ./sig.go ./softfloat64.go ./type.go ./zgoarch_amd64.go ./zgoos_linux.go ./zruntime_defs_linux_amd64.go ./zversion.go + cp /home/bradfitz/go/src/pkg/runtime/arch_amd64.h /tmp/go-build.cAFXfk/runtime/_obj/arch_GOARCH.h + cp /home/bradfitz/go/src/pkg/runtime/defs_linux_amd64.h /tmp/go-build.cAFXfk/runtime/_obj/defs_GOOS_GOARCH.h + cp /home/bradfitz/go/src/pkg/runtime/os_linux.h /tmp/go-build.cAFXfk/runtime/_obj/os_GOOS.h + cp /home/bradfitz/go/src/pkg/runtime/signals_linux.h /tmp/go-build.cAFXfk/runtime/_obj/signals_GOOS.h + cp /home/bradfitz/go/src/pkg/runtime/zasm_linux_amd64.h /tmp/go-build.cAFXfk/runtime/_obj/zasm_GOOS_GOARCH.h + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/alg.6 -DGOOS_linux -DGOARCH_amd64 ./alg.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/atomic_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./atomic_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/cgocall.6 -DGOOS_linux -DGOARCH_amd64 ./cgocall.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/chan.6 -DGOOS_linux -DGOARCH_amd64 ./chan.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/closure_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./closure_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/complex.6 -DGOOS_linux -DGOARCH_amd64 ./complex.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/cpuprof.6 -DGOOS_linux -DGOARCH_amd64 ./cpuprof.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/float.6 -DGOOS_linux -DGOARCH_amd64 ./float.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/hashmap.6 -DGOOS_linux -DGOARCH_amd64 ./hashmap.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/iface.6 -DGOOS_linux -DGOARCH_amd64 ./iface.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/lock_futex.6 -DGOOS_linux -DGOARCH_amd64 ./lock_futex.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mcache.6 -DGOOS_linux -DGOARCH_amd64 ./mcache.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mcentral.6 -DGOOS_linux -DGOARCH_amd64 ./mcentral.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mem_linux.6 -DGOOS_linux -DGOARCH_amd64 ./mem_linux.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mfinal.6 -DGOOS_linux -DGOARCH_amd64 ./mfinal.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mfixalloc.6 -DGOOS_linux -DGOARCH_amd64 ./mfixalloc.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mgc0.6 -DGOOS_linux -DGOARCH_amd64 ./mgc0.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/mheap.6 -DGOOS_linux -DGOARCH_amd64 ./mheap.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/msize.6 -DGOOS_linux -DGOARCH_amd64 ./msize.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/print.6 -DGOOS_linux -DGOARCH_amd64 ./print.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/proc.6 -DGOOS_linux -DGOARCH_amd64 ./proc.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/rune.6 -DGOOS_linux -DGOARCH_amd64 ./rune.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/runtime.6 -DGOOS_linux -DGOARCH_amd64 ./runtime.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/signal_linux_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./signal_linux_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/slice.6 -DGOOS_linux -DGOARCH_amd64 ./slice.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/symtab.6 -DGOOS_linux -DGOARCH_amd64 ./symtab.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/thread_linux.6 -DGOOS_linux -DGOARCH_amd64 ./thread_linux.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/traceback_x86.6 -DGOOS_linux -DGOARCH_amd64 ./traceback_x86.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zmalloc_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zmalloc_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zmprof_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zmprof_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zruntime1_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zruntime1_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zsema_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zsema_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zsigqueue_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zsigqueue_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/zstring_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./zstring_amd64.c + 6c -FVw -I /tmp/go-build.cAFXfk/runtime/_obj/ -I /home/bradfitz/go/pkg/linux_amd64 -o /tmp/go-build.cAFXfk/runtime/_obj/ztime_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./ztime_amd64.c + 6a -I /tmp/go-build.cAFXfk/runtime/_obj/ -o /tmp/go-build.cAFXfk/runtime/_obj/asm_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./asm_amd64.s + 6a -I /tmp/go-build.cAFXfk/runtime/_obj/ -o /tmp/go-build.cAFXfk/runtime/_obj/memmove_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./memmove_amd64.s + 6a -I /tmp/go-build.cAFXfk/runtime/_obj/ -o /tmp/go-build.cAFXfk/runtime/_obj/rt0_linux_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./rt0_linux_amd64.s + 6a -I /tmp/go-build.cAFXfk/runtime/_obj/ -o /tmp/go-build.cAFXfk/runtime/_obj/sys_linux_amd64.6 -DGOOS_linux -DGOARCH_amd64 ./sys_linux_amd64.s + gopack grc /tmp/go-build.cAFXfk/runtime.a /tmp/go-build.cAFXfk/runtime/_obj/_go_.6 /tmp/go-build.cAFXfk/runtime/_obj/alg.6 /tmp/go-build.cAFXfk/runtime/_obj/atomic_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/cgocall.6 /tmp/go-build.cAFXfk/runtime/_obj/chan.6 /tmp/go-build.cAFXfk/runtime/_obj/closure_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/complex.6 /tmp/go-build.cAFXfk/runtime/_obj/cpuprof.6 /tmp/go-build.cAFXfk/runtime/_obj/float.6 /tmp/go-build.cAFXfk/runtime/_obj/hashmap.6 /tmp/go-build.cAFXfk/runtime/_obj/iface.6 /tmp/go-build.cAFXfk/runtime/_obj/lock_futex.6 /tmp/go-build.cAFXfk/runtime/_obj/mcache.6 /tmp/go-build.cAFXfk/runtime/_obj/mcentral.6 /tmp/go-build.cAFXfk/runtime/_obj/mem_linux.6 /tmp/go-build.cAFXfk/runtime/_obj/mfinal.6 /tmp/go-build.cAFXfk/runtime/_obj/mfixalloc.6 /tmp/go-build.cAFXfk/runtime/_obj/mgc0.6 /tmp/go-build.cAFXfk/runtime/_obj/mheap.6 /tmp/go-build.cAFXfk/runtime/_obj/msize.6 /tmp/go-build.cAFXfk/runtime/_obj/print.6 /tmp/go-build.cAFXfk/runtime/_obj/proc.6 /tmp/go-build.cAFXfk/runtime/_obj/rune.6 /tmp/go-build.cAFXfk/runtime/_obj/runtime.6 /tmp/go-build.cAFXfk/runtime/_obj/signal_linux_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/slice.6 /tmp/go-build.cAFXfk/runtime/_obj/symtab.6 /tmp/go-build.cAFXfk/runtime/_obj/thread_linux.6 /tmp/go-build.cAFXfk/runtime/_obj/traceback_x86.6 /tmp/go-build.cAFXfk/runtime/_obj/zmalloc_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/zmprof_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/zruntime1_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/zsema_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/zsigqueue_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/zstring_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/ztime_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/asm_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/memmove_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/rt0_linux_amd64.6 /tmp/go-build.cAFXfk/runtime/_obj/sys_linux_amd64.6 gopack: write error: No such file or directory + rm -rf /tmp/go-build.cAFXfk |
Okay, this was boring. After tweaking gopack more, I got it to spit out the real error message: /tmp was full. But I never noticed because of the buildscript's rm -rf $WORKDIR trap. But gopack's arwrite could re-try the remainder of the write so errno is set to something useful so perror could print a good error message. |
will fix Owner changed to @rsc. Status changed to Accepted. |
I think this may be fixed, at least now we get a reliable error. # launchpad.net/juju-core/worker/uniter_test pack: non-object file $WORK/launchpad.net/juju-core/worker/uniter/_test/_go_.6 pack: zero length file $WORK/launchpad.net/juju-core/worker/uniter/_test/_go_.6 pack: write error: No space left on device |
Here is an interesting datapoint The host I was building on was 100% full on / # Building compilers and Go bootstrap tool for host, linux/arm. lib9 libbio libmach misc/pprof cmd/addr2line cmd/nm cmd/objdump cmd/pack cmd/prof cmd/cc cmd/gc cmd/5l cmd/5a cmd/5c cmd/5g pkg/runtime pack: write error: No such file or directory go tool dist: FAILED: /home/cubie/go/pkg/tool/linux_arm/pack grc /home/cubie/go/pkg/linux_arm/runtime.a $WORK/alg.o $WORK/asm_arm.o $WORK/atomic_arm.o $WORK/cgocall.o $WORK/chan.o $WORK/complex.o $WORK/cpuprof.o $WORK/env_posix.o $WORK/float.o $WORK/hashmap.o $WORK/iface.o $WORK/lfstack.o $WORK/lock_futex.o $WORK/mcache.o $WORK/mcentral.o $WORK/mem_linux.o $WORK/memclr_arm.o $WORK/memmove_arm.o $WORK/mfinal.o $WORK/mfixalloc.o $WORK/mgc0.o $WORK/mheap.o $WORK/msize.o $WORK/netpoll_epoll.o $WORK/os_linux.o $WORK/os_linux_arm.o $WORK/panic.o $WORK/parfor.o $WORK/print.o $WORK/proc.o $WORK/race0.o $WORK/rt0_linux_arm.o $WORK/rune.o $WORK/runtime.o $WORK/signal_arm.o $WORK/signal_unix.o $WORK/slice.o $WORK/softfloat_arm.o $WORK/stack.o $WORK/symtab.o $WORK/sys_arm.o $WORK/sys_linux_arm.o $WORK/traceback_arm.o $WORK/vlop_arm.o $WORK/vlrt_arm.o $WORK/zmalloc_linux_arm.o $WORK/zmprof_linux_arm.o $WORK/znetpoll_linux_arm.o $WORK/znoasm_arm_linux_arm.o $WORK/zruntime1_linux_arm.o $WORK/zsema_linux_arm.o $WORK/zsigqueue_linux_arm.o $WORK/zstring_linux_arm.o $WORK/zsys_linux_arm.o $WORK/ztime_linux_arm.o $WORK/_go_.5 cubie@Cubian:~/go/src$ ls -al /home/cubie/go/pkg/linux_arm/runtime.a -rw-r--r-- 1 cubie cubie 1642496 Oct 9 04:47 /home/cubie/go/pkg/linux_arm/runtime.a |
This issue was closed by revision fdbf3d9. Status changed to Fixed. |
bradfitz
added
fixed
Suggested
Issues that may be good for new contributors looking for work to do.
labels
Jan 15, 2014
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
The text was updated successfully, but these errors were encountered: