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.

Reply via email to