On Mon, Jun 29, 2020 at 1:01 AM Hugo Cornelis <hugo.corne...@essensium.com> wrote: > > The standard Go distribution doesn't support 32-bit PPC. > > To compile Golang code to 32-bit PPC we first built a proof of concept based > on docker-cli using the gccgo packages for Ubuntu. We got this working > without too much effort. Afterwards we integrated this type of > cross-compilation into Buildroot to compile the entire Docker tool suite for > use on an embedded system. > > Most of Docker seems to be working fine on the embedded device, however local > interactive terminal input / output with a running container is not working. > > What we observe is similar to what is described here: > https://github.com/moby/moby/issues/39461 > > Investigation shows that two specific goroutines in Container daemon that are > responsible for forwarding the input and output from the container to the > user are not scheduled (they don't receive CPU cycles) until after Docker > terminates. > > These two goroutines use the functions io.CopyBuffer() and ReadFrom() / > WriteTo() to forward the traffic (the used method to forward traffic is > demonstrated in recvtty.go at > https://github.com/opencontainers/runc/blob/master/contrib/cmd/recvtty/recvtty.go) > > When Docker terminates it sends signal 15 (TERM) to these processes. This > somehow allows the two goroutines to be scheduled which flushes the output > buffers to the terminal. > > This may be due to wrong system call bindings for 32-bit PPC in the unix > package, however inspection of these bindings did not reveal any problem so > far. > > We have been working on this for several weeks now, any help would be greatly > appreciated. > > Thanks!
Thanks for the background. Earlier I suggested looking at the output of "strace -f" for the programs that fail. Does that show anything of interest? Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXDJPFnn3Wh2G5kUxrhRZorZcXUnSAn4PzeesAOOF1qUw%40mail.gmail.com.