On Thu, Jun 18, 2020 at 1:17 PM Hugo Cornelis <hugo.corne...@essensium.com> wrote: > > Does anyone have experience with porting go applications to the powerpc > 440fpu 32 bit. > > We have a team that is porting the Docker tool suite to a device that uses > this CPU, we generated the system call bindings and compiled the Docker tool > suite without much problems. > > Most of Docker seems to be working fine on the device, however interactive > terminal input/output is not working. > > Investigation shows that two specific goroutines that are responsible for > forwarding the I/O between two Docker related processes are not scheduled > (they don't receive CPU cycles) until after Docker terminates these process > with a signal 15 (TERM) and the two goroutines are suddenly scheduled and all > of the output buffers are suddenly flushed to the terminal. > > We have looked at the terminal settings and flags applied to the file > descriptors and these seem all fine (although I must admit that the code > flows inside Docker and its tools are complicated). > > We suspect there may be a problem with one or more of the system call > bindings, for instance that there may be a system call declared with //sysnb > where it should be just //sys, if that makes sense. I would actually not > know how to distinguish between these two flags. > > We would now like to inspect the status of the two goroutines to understand > what they are waiting for, and why the scheduler does not schedule them. > > Debugging with GODEBUG=schedtrace=1000;scheddetail=1, helps somewhat but no > idea how to relate the output of the scheduler state to the two goroutines > (if it would make sense at all). > > Does anyone have any experience debugging this type of problem? How would we > look at where exactly these processes are blocked without developing core > knowledge about the Docker tool suite? > > We have been working on this for several weeks now, any help would be greatly > appreciated.
The standard Go distribution doesn't support 32-bit PPC, so I feel like there is some missing background information here. If the problem is with making system calls, then it often helps to look at the "strace -f" output to see what is going on at the system call level. 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/CAOyqgcVMV_ya4vWw9faj9ebTQxegbQbksGjkf2w4eZbgUG2KVg%40mail.gmail.com.