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.

Reply via email to