You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
futex(0xc2080207d8, FUTEX_WAKE, 1) = 1
stat("/home/aurelien/go/bin/gccgo", 0xc208072090) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc208072120) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc2080721b0) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc208072240) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/gccgo", 0xc2080722d0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/gccgo", 0xc208072360) = -1 ENOENT (No such file or directory)
stat("/usr/bin/gccgo", 0xc2080723f0) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/default/bin/gccgo", 0xc208072480) = -1 ENOENT (No such file or directory)
stat("/usr/bin/site_perl/gccgo", 0xc208072510) = -1 ENOENT (No such file or directory)
stat("/usr/bin/vendor_perl/gccgo", 0xc2080725a0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/core_perl/gccgo", 0xc208072630) = -1 ENOENT (No such file or directory)
stat("/usr/lib/go", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
I'm not sure I really understand what you are asking. I think you are asking why strace shows things like futex failing with EAGAIN. The answer to that is: that's how futexes work. See the man page.
Ok, sorry for the disturb (I also use the mailing list)
The question and the trace was not well formed and I find part of the response by installing gcc-go rather than go (that have solved the trouble of no such file or directory in the strace.
mikioh
changed the title
Strace give back error on go (?)
gccgo: Strace give back error on go (?)
Aug 13, 2015
mikioh
changed the title
gccgo: Strace give back error on go (?)
cmd/go, runtime: strace shows futex failing with EAGAIN
Aug 13, 2015
Hello Gophers!
Here is a (partial) strace (the file stringer.go is just for the test and comes from the tour.golang.org)
aurelien@iceberg:~/go/src/github.com/4ur3l13n/go/test$ strace go run stringer.go
execve("/usr/bin/go", ["go", "run", "stringer.go"], [/* 35 vars */]) = 0
brk(0) = 0x1ebe000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
The code run fine, but the strace give that error
futex(0xc2080207d8, FUTEX_WAKE, 1) = 1
futex(0xa8fb98, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xc2080207d8, FUTEX_WAKE, 1) = 1
futex(0xc2080207d8, FUTEX_WAKE, 1) = 1
stat("/home/aurelien/go/bin/gccgo", 0xc208072090) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc208072120) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc2080721b0) = -1 ENOENT (No such file or directory)
stat("/home/aurelien/go/bin/gccgo", 0xc208072240) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/gccgo", 0xc2080722d0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/gccgo", 0xc208072360) = -1 ENOENT (No such file or directory)
stat("/usr/bin/gccgo", 0xc2080723f0) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/default/bin/gccgo", 0xc208072480) = -1 ENOENT (No such file or directory)
stat("/usr/bin/site_perl/gccgo", 0xc208072510) = -1 ENOENT (No such file or directory)
stat("/usr/bin/vendor_perl/gccgo", 0xc2080725a0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/core_perl/gccgo", 0xc208072630) = -1 ENOENT (No such file or directory)
stat("/usr/lib/go", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
But the codes run
unlink("/tmp/go-build761553309/command-line-arguments/_obj") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309/command-line-arguments/_obj") = -1 ENOTEMPTY (Directory not empty)
lstat("/tmp/go-build761553309/command-line-arguments/_obj", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
open("/tmp/go-build761553309/command-line-arguments/_obj", O_RDONLY|O_CLOEXEC) = 5
getdents64(5, /* 3 entries /, 4096) = 72
getdents64(5, / 0 entries _/, 4096) = 0
unlink("/tmp/go-build761553309/command-line-arguments/_obj/exe") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309/command-line-arguments/_obj/exe") = -1 ENOTEMPTY (Directory not empty)
lstat("/tmp/go-build761553309/command-line-arguments/_obj/exe", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
open("/tmp/go-build761553309/command-line-arguments/obj/exe", O_RDONLY|O_CLOEXEC) = 6
getdents64(6, / 3 entries /, 4096) = 80
getdents64(6, / 0 entries _/, 4096) = 0
unlink("/tmp/go-build761553309/command-line-arguments/obj/exe/stringer") = 0
getdents64(6, / 0 entries _/, 4096) = 0
close(6) = 0
unlink("/tmp/go-build761553309/command-line-arguments/_obj/exe") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309/command-line-arguments/obj/exe") = 0
getdents64(5, / 0 entries _/, 4096) = 0
close(5) = 0
unlink("/tmp/go-build761553309/command-line-arguments/_obj") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309/command-line-arguments/obj") = 0
getdents64(4, / 0 entries /, 4096) = 0
close(4) = 0
unlink("/tmp/go-build761553309/command-line-arguments") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309/command-line-arguments") = 0
getdents64(3, / 0 entries */, 4096) = 0
close(3) = 0
unlink("/tmp/go-build761553309") = -1 EISDIR (Is a directory)
rmdir("/tmp/go-build761553309") = 0
exit_group(0) = ?
+++ exited with 0 +++
aurelien@iceberg:~/go/src/github.com/4ur3l13n/go/test$ go run stringer.go
Arthur Dent (42 years) Zaphod Beeblebrox (9001 years)
A last point a: $ gdb go run stringer.go
give :
Line number 724 out of range; /usr/lib/go/src/cmd/go/main.go has 723 lines
The point is that, every time I make a gdb on a (working) code it give me back that, any reason?
AD
The text was updated successfully, but these errors were encountered: