~sircmpwn/public-inbox

1

openring hangs

Details
Message ID
<C2XIQ2NXMJOG.YGRVQRNQT8IB@DESKTOP-E684BK5>
DKIM signature
pass
Download raw message
Hi!

This may be more of a general Go question than a specific openring question, but
since this is my only connection to the Go community I'd like to ask here for
initial help. I'm running Ubuntu 18.04 inside WSL:

$ uname -a
Linux DESKTOP-E684BK5 4.4.0-18362-Microsoft #836-Microsoft Mon May 05 16:04:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version go1.14.2 linux/amd64

Since yesterday openring simply hangs whenever I want to use it. I haven't run
it for some weeks so it's possible that the misbehaviour actually started
earlier. I tried both the officially provided version [1] as well as the latest
master.

When inspecting the executable with GDB, it seems like it's waiting in a
syscall:

Thread 1 "openring" received signal SIGINT, Interrupt.
syscall.Syscall () at /usr/lib/go/src/syscall/asm_linux_amd64.s:27
warning: Source file is more recent than executable.
27              MOVQ    $0, r2+40(FP)
(gdb) bt
#0  syscall.Syscall () at /usr/lib/go/src/syscall/asm_linux_amd64.s:27
#1  0x00000000082a259c in syscall.read (fd=0, p=..., n=<optimized out>, err=...) at /usr/lib/go/src/syscall/zsyscall_linux_amd64.go:732
#2  0x00000000082b9593 in syscall.Read (fd=<optimized out>, p=..., n=<optimized out>, err=...) at /usr/lib/go/src/syscall/syscall_unix.go:172
#3  internal/poll.(*FD).Read (fd=0xc0000ae000, p=..., ~r1=<optimized out>, ~r2=...) at /usr/lib/go/src/internal/poll/fd_unix.go:165
#4  0x00000000082bf0c2 in os.(*File).read (f=0xc0000ac000, b=..., n=<optimized out>, err=...) at /usr/lib/go/src/os/file_unix.go:263
#5  os.(*File).Read (f=0xc0000ac000, b=..., n=<optimized out>, err=...) at /usr/lib/go/src/os/file.go:108
#6  0x00000000082d6b3f in bytes.(*Buffer).ReadFrom (b=0xc00019bc20, r=..., n=<optimized out>, err=...) at /usr/lib/go/src/bytes/buffer.go:207
#7  0x00000000082f7807 in io/ioutil.readAll (r=..., capacity=512, b=..., err=...) at /usr/lib/go/src/io/ioutil/ioutil.go:36
#8  0x0000000008552fb1 in io/ioutil.ReadAll (r=...) at /usr/lib/go/src/io/ioutil/ioutil.go:45
#9  main.main () at /home/sircmpwn/sources/openring/openring.go:68

And for the latest master, respectively:

Thread 1 "openring2" received signal SIGINT, Interrupt.
syscall.Syscall () at /usr/lib/go-1.14/src/syscall/asm_linux_amd64.s:24
24              CMPQ    AX, $0xfffffffffffff001
(gdb) bt
#0  syscall.Syscall () at /usr/lib/go-1.14/src/syscall/asm_linux_amd64.s:24
#1  0x00000000004b399a in syscall.read (fd=0, p=..., n=<optimized out>, err=...) at /usr/lib/go-1.14/src/syscall/zsyscall_linux_amd64.go:686
#2  0x00000000004cb3b3 in syscall.Read (fd=<optimized out>, p=..., n=<optimized out>, err=...) at /usr/lib/go-1.14/src/syscall/syscall_unix.go:189
#3  internal/poll.(*FD).Read (fd=0xc000138000, p=..., ~r1=<optimized out>, ~r2=...) at /usr/lib/go-1.14/src/internal/poll/fd_unix.go:165
#4  0x00000000004d1351 in os.(*File).read (f=0xc000136000, b=..., n=<optimized out>, err=...) at /usr/lib/go-1.14/src/os/file.go:116
#5  os.(*File).Read (f=0xc000136000, b=..., n=<optimized out>, err=...) at /usr/lib/go-1.14/src/os/file.go:116
#6  0x00000000004e8671 in bytes.(*Buffer).ReadFrom (b=0xc00021fc18, r=..., n=<optimized out>, err=...) at /usr/lib/go-1.14/src/bytes/buffer.go:204
#7  0x000000000050b233 in io/ioutil.readAll (r=..., capacity=512, b=..., err=...) at /usr/lib/go-1.14/src/io/ioutil/ioutil.go:36
#8  0x000000000076765a in io/ioutil.ReadAll (r=...) at /usr/lib/go-1.14/src/io/ioutil/ioutil.go:45
#9  main.main () at /home/philipp/openring/openring.go:68

I suspect that the problem is some kind of mismatch between my underlying
system, the Go version (that I've installed via the official repository) and/or
openring. But I need some hints on how to investigate this further.

Kind regards
Philipp

[1] https://yukari.sr.ht/openring
Details
Message ID
<C2XIVESOJU40.39CRD309V09DL@DESKTOP-E684BK5>
In-Reply-To
<C2XIQ2NXMJOG.YGRVQRNQT8IB@DESKTOP-E684BK5> (view parent)
DKIM signature
pass
Download raw message
Hi again,

I just noticed my error. openring just waits for input on stdin. I corrupted my
shell script I use for running it. Sorry for the interruption.

Kind regards
Philipp