You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was debugging issues with slow (or completely stuck) streams on some Android devices that we are experiencing with quic-go in production on anytype. After disabling UDP optimizations by using basicConn, the problems were resolved, so I began investigating different syscalls in sys_conn_oob.go.
isGSOSupported returns true on the problematic device, so I tried to disable it by setting the OS environment variable QUIC_GO_DISABLE_GSO=1, and it helped. According to the Linux manual pages, the UDP_SEGMENT socket option may return 0 if it is disabled. Currently, in the Linux implementation, only the error is checked. This check only verifies whether the Linux kernel recognizes this socket option (kernels >=4.18 should recognize it). The Android device I tested has a kernel version of 4.14.180-perf+, but it appears to recognize this socket option and returns 0.
Also there are no errors on writePacket, so isGSOError is never called.
I was debugging issues with slow (or completely stuck) streams on some Android devices that we are experiencing with quic-go in production on anytype. After disabling UDP optimizations by using basicConn, the problems were resolved, so I began investigating different syscalls in
sys_conn_oob.go
.isGSOSupported
returns true on the problematic device, so I tried to disable it by setting the OS environment variableQUIC_GO_DISABLE_GSO=1
, and it helped. According to the Linux manual pages, theUDP_SEGMENT
socket option may return 0 if it is disabled. Currently, in the Linux implementation, only the error is checked. This check only verifies whether the Linux kernel recognizes this socket option (kernels >=4.18 should recognize it). The Android device I tested has a kernel version of4.14.180-perf+
, but it appears to recognize this socket option and returns 0.Also there are no errors on writePacket, so isGSOError is never called.
More device info:
The text was updated successfully, but these errors were encountered: