Commit 59d1432
tcp: skip RST in resetConnectionLocked when snd/rcv are nil
resetConnectionLocked dereferences e.snd to compute the RST sequence number, but snd (and rcv) are only initialized when the TCP handshake completes in transitionToStateEstablishedLocked. Endpoints still in StateSynSent or StateSynRecv have nil snd/rcv, and calling resetConnectionLocked on them (e.g. from beforeSave during checkpoint) panics with a nil pointer dereference.
Guard the RST-sending block behind a nil check on e.snd. The rest of the function (set hardError, purge queues, cleanup, transition to StateError) is still unconditionally executed.
This address the following crash:
```
encoding error: runtime error: invalid memory address or nil pointer dereference:
goroutine 3057 [running]:
gvisor.dev/gvisor/pkg/state.safely.func1()
\tpkg/state/state.go:309 +0x170
panic({0x124f2a0?, 0x31fb280?})
\tGOROOT/src/runtime/panic.go:792 +0x132
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*Endpoint).resetConnectionLocked(0xc000a7d508, {0x1685100?, 0x324f8a0?})
\tpkg/tcpip/transport/tcp/connect.go:1084 +0x84
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*Endpoint).beforeSave(0xc000a7d508)
\tpkg/tcpip/transport/tcp/endpoint_state.go:59 +0x188
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*Endpoint).StateSave(0xc000a7d508, {{0xc001139c08?, 0xc0016e4f48?}})
\tbazel-out/k8-opt/bin/pkg/tcpip/transport/tcp/tcp_state_autogen.go:504 +0x4a
gvisor.dev/gvisor/pkg/state.(*encodeState).encodeStruct(0xc001139c08, {0x144da00, 0xc000a7d508, 0x199}, 0xc0014dc9e0)
\tpkg/state/encode.go:536 +0x58e
gvisor.dev/gvisor/pkg/state.(*encodeState).encodeObject(0xc001139c08, {0x144da00?, 0xc000a7d508?, 0xc000bb0008?}, 0x0, 0xc0014dc9e0)
\tpkg/state/encode.go:733 +0x5e5
gvisor.dev/gvisor/pkg/state.(*encodeState).Save.func2()
\tpkg/state/encode.go:770 +0x8b
gvisor.dev/gvisor/pkg/state.safely(0xc001139c08?)
\tpkg/state/state.go:322 +0x51
gvisor.dev/gvisor/pkg/state.(*encodeState).Save(0xc001139c08, {0x144e140?, 0xc000004408?, 0xc001139c08?})
\tpkg/state/encode.go:763 +0x1eb
gvisor.dev/gvisor/pkg/state.Save.func1()
\tpkg/state/state.go:104 +0x8e
gvisor.dev/gvisor/pkg/state.safely(0xa694fe?)
\tpkg/state/state.go:322 +0x51
gvisor.dev/gvisor/pkg/state.Save({0x7e8a46be5fe0, 0xc000a92740}, {0x7e89c478fc78, 0xc001a16880}, {0x144e8a0, 0xc000004408})
\tpkg/state/state.go:103 +0x1c5
gvisor.dev/gvisor/pkg/sentry/kernel.(*Kernel).SaveTo(0xc000004408, {0x1697558, 0xc000a92740}, {0x1674740, 0xc001a16880}, {0x0, 0x0}, {0x0, 0x0}, 0x0, ...)
\tpkg/sentry/kernel/kernel.go:710 +0xd6a
gvisor.dev/gvisor/pkg/sentry/state.(*SaveOpts).Save(0xc0003b2e40, {0x1697558, 0xc000a92740}, 0xc000004408, 0xc0002ce180)
\tpkg/sentry/state/state.go:109 +0x325
gvisor.dev/gvisor/pkg/sentry/control.(*State).SaveWithOpts(0xc001337530, 0xc0003b2e40, 0x1466f14?)
\tpkg/sentry/control/state.go:180 +0xb2
gvisor.dev/gvisor/runsc/boot.(*Loader).saveWithOpts(0xc000384008, 0xc0003b2e40, 0xc001490128)
\trunsc/boot/restore.go:453 +0x265
gvisor.dev/gvisor/runsc/boot.(*Loader).save(0xc000384008, 0xc0014900e0)
\trunsc/boot/restore.go:419 +0x89
gvisor.dev/gvisor/runsc/boot.(*containerManager).Checkpoint(0xc000220740, 0xc0014900e0, 0x0?)
\trunsc/boot/controller.go:464 +0x52
reflect.Value.call({0xc0002be660?, 0xc0001fc7a0?, 0xc00063dc18?}, {0x145ae28, 0x4}, {0xc00063dea8, 0x3, 0xc00063dc48?})
\tGOROOT/src/reflect/value.go:584 +0xca6
reflect.Value.Call({0xc0002be660?, 0xc0001fc7a0?, 0xf0?}, {0xc00063dea8?, 0xc0014900e0?, 0x16?})
\tGOROOT/src/reflect/value.go:368 +0xb9
gvisor.dev/gvisor/pkg/urpc.(*Server).handleOne(0xc0002d81e0, 0xc0012a2180)
\tpkg/urpc/urpc.go:343 +0x731
gvisor.dev/gvisor/pkg/urpc.(*Server).handleRegistered(...)
\tpkg/urpc/urpc.go:454
gvisor.dev/gvisor/pkg/urpc.(*Server).StartHandling.func1()
\tpkg/urpc/urpc.go:474 +0x67
created by gvisor.dev/gvisor/pkg/urpc.(*Server).StartHandling in goroutine 392
\tpkg/urpc/urpc.go:472 +0x6b
for object tcp.Endpoint{TCPEndpointStateInner:tcp.TCPEndpointStateInner{TSOffset:tcp.TSOffset{milliseconds:0x8020a5db}, SACKPermitted:false, SendTSOk:false, RecentTS:0x0}, TransportEndpointInfo:stack.TransportEndpointInfo{NetProto:0x800, TransProto:0x6, ID:stack.TransportEndpointID{LocalPort:0x873b, LocalAddress:tcpip.Address{addr:[16]uint8{0x15, 0x0, 0x1, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, length:4}, RemotePort:0x1bb, RemoteAddress:tcpip.Address{addr:[16]uint8{0xa, 0x7c, 0xd, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, length:4}}, BindNICID:0, BindAddr:tcpip.Address{addr:[16]uint8{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, length:0}, RegisterNICID:0}, DefaultSocketOptionsHandler:tcpip.DefaultSocketOptionsHandler{}, endpointEntry:tcp.endpointEntry{next:(*tcp.Endpoint)(nil), prev:(*tcp.Endpoint)(nil)}, pendingProcessingMu:tcp.pendingProcessingMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, pendingProcessing:false, stack:(*stack.Stack)(0xc000581808), protocol:(*tcp.protocol)(0xc0003cb0e0), waiterQueue:(*waiter.Queue)(0xc00230cde0), hardError:(*tcpip.ErrConnectionAborted)(0x324f8a0), lastErrorMu:tcp.lastErrorMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, lastError:tcpip.Error(nil), rcvQueueMu:tcp.rcvQueueMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, TCPRcvBufState:tcp.TCPRcvBufState{RcvBufUsed:0, RcvAutoParams:tcp.RcvBufAutoTuneParams{MeasureTime:tcpip.MonotonicTime{nanoseconds:0}, CopiedBytes:0, PrevCopiedBytes:0, RcvBufSize:0, RTT:0, RTTVar:0, RTTMeasureSeqNumber:0x0, RTTMeasureTime:tcpip.MonotonicTime{nanoseconds:0}, Disabled:false}, RcvClosed:false}, rcvMemUsed:atomicbitops.Int32{:sync.NoCopy{}, value:0}, mu:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}, ownedByUser:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, rcvQueue:tcp.segmentList{head:(*tcp.segment)(nil), tail:(*tcp.segment)(nil)}, state:atomicbitops.Uint32{:sync.NoCopy{}, value:0x2}, connectionDirectionState:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, origEndpointState:0x0, isPortReserved:true, isRegistered:true, boundNICID:0, route:(*stack.Route)(0xc00085a300), ipv4TTL:0x0, ipv6HopLimit:-1, isConnectNotified:false, h:(*tcp.handshake)(0xc000987c20), portFlags:ports.Flags{MostRecent:false, LoadBalanced:false, TupleOnly:false}, boundBindToDevice:0, boundPortFlags:ports.Flags{MostRecent:false, LoadBalanced:false, TupleOnly:false}, boundDest:tcpip.FullAddress{NIC:0, Addr:tcpip.Address{addr:[16]uint8{0xa, 0x7c, 0xd, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, length:4}, Port:0x1bb, LinkAddr:""}, effectiveNetProtos:[]tcpip.NetworkProtocolNumber{0x800}, recentTSTime:tcpip.MonotonicTime{nanoseconds:0}, shutdownFlags:0, tcpRecovery:0, sack:tcp.SACKInfo{Blocks:[6]header.SACKBlock{header.SACKBlock{Start:0x0, End:0x0}, header.SACKBlock{Start:0x0, End:0x0}, header.SACKBlock{Start:0x0, End:0x0}, header.SACKBlock{Start:0x0, End:0x0}, header.SACKBlock{Start:0x0, End:0x0}, header.SACKBlock{Start:0x0, End:0x0}}, NumBlocks:0}, delay:0x0, scoreboard:(*tcp.SACKScoreboard)(nil), segmentQueue:tcp.segmentQueue{mu:tcp.segmentQueueMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, list:tcp.segmentList{head:(*tcp.segment)(nil), tail:(*tcp.segment)(nil)}, ep:(*tcp.Endpoint)(0xc000a7d508), frozen:true}, userMSS:0x0, maxSynRetries:0x6, windowClamp:0x100000, sndQueueInfo:tcp.sndQueueInfo{sndQueueMu:tcp.sndQueueMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, TCPSndBufState:tcp.TCPSndBufState{SndBufSize:0, SndBufUsed:0, SndClosed:false, PacketTooBigCount:0, SndMTU:2147483647, AutoTuneSndBufDisabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}}}, cc:"reno", keepalive:tcp.keepalive{keepaliveMutex:tcp.keepaliveMutex{mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}}, idle:7200000000000, interval:75000000000, count:9, unacked:0, timer:tcp.timer{state:1, clock:(*kernel.Timekeeper)(0xc000413e30), target:tcpip.MonotonicTime{nanoseconds:0}, clockTarget:tcpip.MonotonicTime{nanoseconds:0}, timer:tcpip.Timer(nil), callback:(func())(0xb8d7c0)}, waker:sleep.Waker{:sync.NoCopy{}, s:(unsafe.Pointer)(nil), next:(*sleep.Waker)(nil), allWakersNext:(*sleep.Waker)(nil)}}, userTimeout:0, deferAccept:0, acceptMu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}, acceptQueue:tcp.acceptQueue{endpoints:list.List{root:list.Element{next:(*list.Element)(nil), prev:(*list.Element)(nil), list:(*list.List)(nil), Value:interface {}(nil)}, len:0}, pendingEndpoints:map[*tcp.Endpoint]struct {}(nil), capacity:0}, rcv:(*tcp.receiver)(nil), snd:(*tcp.sender)(nil), drainDone:(chan struct {})(nil), undrain:(chan struct {})(nil), probe:(tcp.TCPProbeFunc)(nil), connectingAddress:tcpip.Address{addr:[16]uint8{0xa, 0x7c, 0xd, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, length:4}, amss:0x5b4, sendTOS:0x0, gso:stack.GSO{Type:1, NeedsCsum:true, CsumOffset:0x10, MSS:0x0, L3HdrLen:0x14, MaxSize:0x10000}, stats:tcp.Stats{SegmentsReceived:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, SegmentsSent:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x6}}, FailedConnectionAttempts:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ReceiveErrors:tcp.ReceiveErrors{ReceiveErrors:tcpip.ReceiveErrors{ReceiveBufferOverflow:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, MalformedPacketsReceived:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ClosedReceiver:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ChecksumErrors:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}, SegmentQueueDropped:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ChecksumErrors:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ListenOverflowSynDrop:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ListenOverflowAckDrop:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, ZeroRcvWindowState:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, WantZeroRcvWindow:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}, ReadErrors:tcpip.ReadErrors{ReadClosed:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, InvalidEndpointState:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, NotConnected:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}, SendErrors:tcp.SendErrors{SendErrors:tcpip.SendErrors{SendToNetworkFailed:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, NoRoute:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}, SegmentSendToNetworkFailed:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, SynSendToNetworkFailed:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, Retransmits:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, FastRetransmit:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, Timeouts:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}, WriteErrors:tcpip.WriteErrors{WriteClosed:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, InvalidEndpointState:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}, InvalidArgs:tcpip.StatCounter{count:atomicbitops.Uint64{:sync.NoCopy{}, value:0x0}}}}, tcpLingerTimeout:60000000000, closed:false, txHash:0xde1870cc, owner:(*kernel.Task)(0xc001505908), ops:tcpip.SocketOptions{handler:(*tcp.Endpoint)(0xc000a7d508), stackHandler:(*stack.Stack)(0xc000581808), broadcastEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, passCredEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, noChecksumEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, reuseAddressEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, reusePortEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, keepAliveEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, multicastLoopEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x1}, receiveTOSEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receiveTTLEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receiveHopLimitEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receiveTClassEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receivePacketInfoEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receiveIPv6PacketInfoEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, hdrIncludedEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, v6OnlyEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, quickAckEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x1}, delayOptionEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x1}, corkOptionEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, receiveOriginalDstAddress:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, ipv4RecvErrEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, ipv6RecvErrEnabled:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}, errQueueMu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}, errQueue:tcpip.sockErrorList{head:(*tcpip.SockError)(nil), tail:(*tcpip.SockError)(nil)}, bindToDevice:atomicbitops.Int32{:sync.NoCopy{}, value:0}, getSendBufferLimits:(tcpip.GetSendBufferLimits)(0xb98f20), sendBufferSize:atomicbitops.Int64{:sync.NoCopy{}, value:1048576}, getReceiveBufferLimits:(tcpip.GetReceiveBufferLimits)(0xb99180), receiveBufferSize:atomicbitops.Int64{:sync.NoCopy{}, value:1048576}, mu:sync.Mutex{m:sync.CrossGoroutineMutex{m:sync.Mutex{:sync.noCopy{}, mu:sync.Mutex{state:0, sema:0x0}}}}, linger:tcpip.LingerOption{Enabled:false, Timeout:0}, rcvlowat:atomicbitops.Int32{:sync.NoCopy{}, value:0}, experimentOptionValue:atomicbitops.Uint32{:sync.NoCopy{}, value:0x0}}, lastOutOfWindowAckTime:tcpip.MonotonicTime{nanoseconds:0}, finWait2Timer:tcpip.Timer(nil), timeWaitTimer:tcpip.Timer(nil), listenCtx:(*tcp.listenContext)(nil), limRdr:(*io.LimitedReader)(0xc001bd9ce0), pmtud:0, alsoBindToV4:false}:
goroutine 3057 [running]:
gvisor.dev/gvisor/pkg/state.safely.func1()
\tpkg/state/state.go:309 +0x170
panic({0x125bf80?, 0xc001595e20?})
\tGOROOT/src/runtime/panic.go:792 +0x132
gvisor.dev/gvisor/pkg/state.Failf(...)
\tpkg/state/state.go:269
gvisor.dev/gvisor/pkg/state.(*encodeState).Save(0xc001139c08, {0x144e140?, 0xc000004408?, 0xc001139c08?})
\tpkg/state/encode.go:774 +0x427
gvisor.dev/gvisor/pkg/state.Save.func1()
\tpkg/state/state.go:104 +0x8e
gvisor.dev/gvisor/pkg/state.safely(0xa694fe?)
\tpkg/state/state.go:322 +0x51
gvisor.dev/gvisor/pkg/state.Save({0x7e8a46be5fe0, 0xc000a92740}, {0x7e89c478fc78, 0xc001a16880}, {0x144e8a0, 0xc000004408})
\tpkg/state/state.go:103 +0x1c5
gvisor.dev/gvisor/pkg/sentry/kernel.(*Kernel).SaveTo(0xc000004408, {0x1697558, 0xc000a92740}, {0x1674740, 0xc001a16880}, {0x0, 0x0}, {0x0, 0x0}, 0x0, ...)
\tpkg/sentry/kernel/kernel.go:710 +0xd6a
gvisor.dev/gvisor/pkg/sentry/state.(*SaveOpts).Save(0xc0003b2e40, {0x1697558, 0xc000a92740}, 0xc000004408, 0xc0002ce180)
\tpkg/sentry/state/state.go:109 +0x325
gvisor.dev/gvisor/pkg/sentry/control.(*State).SaveWithOpts(0xc001337530, 0xc0003b2e40, 0x1466f14?)
\tpkg/sentry/control/state.go:180 +0xb2
gvisor.dev/gvisor/runsc/boot.(*Loader).saveWithOpts(0xc000384008, 0xc0003b2e40, 0xc001490128)
\trunsc/boot/restore.go:453 +0x265
gvisor.dev/gvisor/runsc/boot.(*Loader).save(0xc000384008, 0xc0014900e0)
\trunsc/boot/restore.go:419 +0x89
gvisor.dev/gvisor/runsc/boot.(*containerManager).Checkpoint(0xc000220740, 0xc0014900e0, 0x0?)
\trunsc/boot/controller.go:464 +0x52
reflect.Value.call({0xc0002be660?, 0xc0001fc7a0?, 0xc00063dc18?}, {0x145ae28, 0x4}, {0xc00063dea8, 0x3, 0xc00063dc48?})
\tGOROOT/src/reflect/value.go:584 +0xca6
reflect.Value.Call({0xc0002be660?, 0xc0001fc7a0?, 0xf0?}, {0xc00063dea8?, 0xc0014900e0?, 0x16?})
\tGOROOT/src/reflect/value.go:368 +0xb9
gvisor.dev/gvisor/pkg/urpc.(*Server).handleOne(0xc0002d81e0, 0xc0012a2180)
\tpkg/urpc/urpc.go:343 +0x731
gvisor.dev/gvisor/pkg/urpc.(*Server).handleRegistered(...)
\tpkg/urpc/urpc.go:454
gvisor.dev/gvisor/pkg/urpc.(*Server).StartHandling.func1()
\tpkg/urpc/urpc.go:474 +0x67
created by gvisor.dev/gvisor/pkg/urpc.(*Server).StartHandling in goroutine 392
\tpkg/urpc/urpc.go:472 +0x6b
```
```
0130 11:50:36.087642 1 cli.go:189] Version release-20250820.0-120-g6bf3c4885132-dirty, go1.24.1, amd64, 180 CPUs, linux, PID 1, PPID 0, UID 0, GID 0
D0130 11:50:36.087661 1 cli.go:190] Page size: 0x1000 (4096 bytes)
I0130 11:50:36.087676 1 cli.go:191] Args: [runsc-sandbox --root=/var/run/runsc --debug=true --debug-log=/dev/shm/sandboxing-debug/meager-eager-tidy-chin/runsc/ --file-access=shared --overlay2=none --network=sandbox --net-raw=true --net-disconnect-ok=true --systrap-disable-syscall-patching=true --debug-log-fd=3 boot --bundle=/dev/shm/sandboxing/meager-eager-tidy-chin --gofer-mount-confs=lisafs:none,lisafs:none,lisafs:none --apply-caps=true --setup-root --total-host-memory 760451858432 --cpu-num 4 --total-memory 74088185856 --attached --io-fds=4 --io-fds=5 --io-fds=6 --dev-io-fd=-1 --mounts-fd=7 --start-sync-fd=8 --controller-fd=9 --spec-fd=10 --stdio-fds=11 --stdio-fds=12 --stdio-fds=13 meager-eager-tidy-chin]
I0130 11:50:36.087706 1 config.go:461] Platform: systrap
I0130 11:50:36.087735 1 config.go:462] RootDir: /var/run/runsc
I0130 11:50:36.087747 1 config.go:463] FileAccess: shared / Directfs: true / Overlay: none
I0130 11:50:36.087762 1 config.go:464] Network: sandbox
I0130 11:50:36.087774 1 config.go:466] Debug: true. Strace: false, max size: 1024, syscalls:
W0130 11:50:36.087785 1 config.go:469] --allow-suid is disabled, SUID/SGID bits on executables will be ignored.
D0130 11:50:36.087799 1 config.go:487] Config.RootDir (--root): /var/run/runsc
D0130 11:50:36.087813 1 config.go:487] Config.Traceback (--traceback): system
D0130 11:50:36.087831 1 config.go:487] Config.Debug (--debug): true
D0130 11:50:36.087842 1 config.go:487] Config.LogFilename (--log): (empty)
D0130 11:50:36.087877 1 config.go:487] Config.LogFormat (--log-format): text
D0130 11:50:36.087887 1 config.go:487] Config.DebugLog (--debug-log): /dev/shm/sandboxing-debug/meager-eager-tidy-chin/runsc/
D0130 11:50:36.087898 1 config.go:487] Config.DebugToUserLog (--debug-to-user-log): false
D0130 11:50:36.087908 1 config.go:487] Config.DebugCommand (--debug-command): (empty)
D0130 11:50:36.087918 1 config.go:487] Config.PanicLog (--panic-log): (empty)
D0130 11:50:36.087932 1 config.go:487] Config.CoverageReport (--coverage-report): (empty)
D0130 11:50:36.087942 1 config.go:487] Config.DebugLogFormat (--debug-log-format): text
D0130 11:50:36.087953 1 config.go:487] Config.FileAccess (--file-access): shared
D0130 11:50:36.087965 1 config.go:487] Config.FileAccessMounts (--file-access-mounts): shared
D0130 11:50:36.087975 1 config.go:487] Config.Overlay (--overlay): false
D0130 11:50:36.087986 1 config.go:487] Config.Overlay2 (--overlay2): none
D0130 11:50:36.087997 1 config.go:487] Config.FSGoferHostUDS (--fsgofer-host-uds): false
D0130 11:50:36.088014 1 config.go:487] Config.HostUDS (--host-uds): none
D0130 11:50:36.088031 1 config.go:487] Config.HostFifo (--host-fifo): none
D0130 11:50:36.088043 1 config.go:487] Config.HostSettings (--host-settings): check
D0130 11:50:36.088052 1 config.go:487] Config.Network (--network): sandbox
D0130 11:50:36.088060 1 config.go:487] Config.EnableRaw (--net-raw): true
D0130 11:50:36.088067 1 config.go:487] Config.AllowPacketEndpointWrite (--TESTONLY-allow-packet-endpoint-write): false
D0130 11:50:36.088075 1 config.go:487] Config.HostGSO (--gso): true
D0130 11:50:36.088082 1 config.go:487] Config.GVisorGSO (--software-gso): true
D0130 11:50:36.088090 1 config.go:487] Config.GVisorGRO (--gvisor-gro): false
D0130 11:50:36.088097 1 config.go:487] Config.TXChecksumOffload (--tx-checksum-offload): false
D0130 11:50:36.088105 1 config.go:487] Config.RXChecksumOffload (--rx-checksum-offload): true
D0130 11:50:36.088113 1 config.go:487] Config.QDisc (--qdisc): fifo
D0130 11:50:36.088121 1 config.go:487] Config.LogPackets (--log-packets): false
D0130 11:50:36.088132 1 config.go:487] Config.PCAP (--pcap-log): (empty)
D0130 11:50:36.088148 1 config.go:487] Config.Platform (--platform): systrap
D0130 11:50:36.088159 1 config.go:487] Config.PlatformDevicePath (--platform_device_path): (empty)
D0130 11:50:36.088170 1 config.go:487] Config.MetricServer (--metric-server): (empty)
D0130 11:50:36.088181 1 config.go:487] Config.FinalMetricsLog (--final-metrics-log): (empty)
D0130 11:50:36.088190 1 config.go:487] Config.ProfilingMetrics (--profiling-metrics): (empty)
D0130 11:50:36.088199 1 config.go:487] Config.ProfilingMetricsLog (--profiling-metrics-log): (empty)
D0130 11:50:36.088209 1 config.go:487] Config.ProfilingMetricsRate (--profiling-metrics-rate-us): 1000
D0130 11:50:36.088219 1 config.go:487] Config.Strace (--strace): false
D0130 11:50:36.088228 1 config.go:487] Config.StraceSyscalls (--strace-syscalls): (empty)
D0130 11:50:36.088238 1 config.go:487] Config.StraceLogSize (--strace-log-size): 1024
D0130 11:50:36.088247 1 config.go:487] Config.StraceEvent (--strace-event): false
D0130 11:50:36.088255 1 config.go:489] Config.DisableSeccomp: false
D0130 11:50:36.088272 1 config.go:487] Config.EnableCoreTags (--enable-core-tags): false
D0130 11:50:36.088285 1 config.go:487] Config.WatchdogAction (--watchdog-action): logWarning
D0130 11:50:36.088302 1 config.go:487] Config.PanicSignal (--panic-signal): -1
D0130 11:50:36.088312 1 config.go:487] Config.ProfileEnable (--profile): false
D0130 11:50:36.088322 1 config.go:487] Config.ProfileBlock (--profile-block): (empty)
D0130 11:50:36.088333 1 config.go:487] Config.ProfileCPU (--profile-cpu): (empty)
D0130 11:50:36.088343 1 config.go:487] Config.ProfileGCInterval (--profile-gc-interval): 0s
D0130 11:50:36.088359 1 config.go:487] Config.ProfileHeap (--profile-heap): (empty)
D0130 11:50:36.088369 1 config.go:487] Config.ProfileMutex (--profile-mutex): (empty)
D0130 11:50:36.088379 1 config.go:487] Config.TraceFile (--trace): (empty)
D0130 11:50:36.088393 1 config.go:487] Config.NumNetworkChannels (--num-network-channels): 1
D0130 11:50:36.088404 1 config.go:487] Config.NetworkProcessorsPerChannel (--network-processors-per-channel): 0
D0130 11:50:36.088414 1 config.go:487] Config.Rootless (--rootless): false
D0130 11:50:36.088424 1 config.go:487] Config.AlsoLogToStderr (--alsologtostderr): false
D0130 11:50:36.088436 1 config.go:487] Config.ReferenceLeak (--ref-leak-mode): disabled
D0130 11:50:36.088447 1 config.go:487] Config.CPUNumFromQuota (--cpu-num-from-quota): true
D0130 11:50:36.088457 1 config.go:487] Config.AllowFlagOverride (--allow-flag-override): false
D0130 11:50:36.088466 1 config.go:487] Config.OCISeccomp (--oci-seccomp): false
D0130 11:50:36.088475 1 config.go:487] Config.IgnoreCgroups (--ignore-cgroups): false
D0130 11:50:36.088485 1 config.go:487] Config.SystemdCgroup (--systemd-cgroup): false
D0130 11:50:36.088496 1 config.go:487] Config.PodInitConfig (--pod-init-config): (empty)
D0130 11:50:36.088503 1 config.go:487] Config.BufferPooling (--buffer-pooling): true
D0130 11:50:36.088511 1 config.go:487] Config.XDP (--EXPERIMENTAL-xdp): {0 }
D0130 11:50:36.088520 1 config.go:487] Config.AFXDPUseNeedWakeup (--EXPERIMENTAL-xdp-need-wakeup): true
D0130 11:50:36.088528 1 config.go:487] Config.FDLimit (--fdlimit): -1
D0130 11:50:36.088535 1 config.go:487] Config.DCache (--dcache): -1
D0130 11:50:36.088544 1 config.go:487] Config.IOUring (--iouring): false
D0130 11:50:36.088554 1 config.go:487] Config.DirectFS (--directfs): true
D0130 11:50:36.088564 1 config.go:487] Config.AppHugePages (--app-huge-pages): true
D0130 11:50:36.088574 1 config.go:487] Config.NVProxy (--nvproxy): false
D0130 11:50:36.088583 1 config.go:487] Config.NVProxyDocker (--nvproxy-docker): false
D0130 11:50:36.088592 1 config.go:487] Config.NVProxyDriverVersion (--nvproxy-driver-version): (empty)
D0130 11:50:36.088609 1 config.go:487] Config.NVProxyAllowedDriverCapabilities (--nvproxy-allowed-driver-capabilities): utility,compute
D0130 11:50:36.088618 1 config.go:487] Config.TPUProxy (--tpuproxy): false
D0130 11:50:36.088630 1 config.go:487] Config.TestOnlyAllowRunAsCurrentUserWithoutChroot (--TESTONLY-unsafe-nonroot): false
D0130 11:50:36.088637 1 config.go:487] Config.TestOnlyTestNameEnv (--TESTONLY-test-name-env): (empty)
D0130 11:50:36.088645 1 config.go:487] Config.TestOnlyAFSSyscallPanic (--TESTONLY-afs-syscall-panic): false
D0130 11:50:36.088653 1 config.go:489] Config.explicitlySet: <map[string]struct {} Value> (unexported)
D0130 11:50:36.088661 1 config.go:487] Config.ReproduceNAT (--reproduce-nat): false
D0130 11:50:36.088669 1 config.go:487] Config.ReproduceNftables (--reproduce-nftables): false
D0130 11:50:36.088681 1 config.go:487] Config.NetDisconnectOk (--net-disconnect-ok): true
D0130 11:50:36.088689 1 config.go:487] Config.TestOnlyAutosaveImagePath (--TESTONLY-autosave-image-path): (empty)
D0130 11:50:36.088697 1 config.go:487] Config.TestOnlyAutosaveResume (--TESTONLY-autosave-resume): false
D0130 11:50:36.088704 1 config.go:487] Config.RestoreSpecValidation (--restore-spec-validation): enforce
D0130 11:50:36.088713 1 config.go:487] Config.GVisorMarkerFile (--gvisor-marker-file): false
D0130 11:50:36.088721 1 config.go:487] Config.SystrapDisableSyscallPatching (--systrap-disable-syscall-patching): true
D0130 11:50:36.088728 1 config.go:487] Config.SaveRestoreNetstack (--save-restore-netstack): true
D0130 11:50:36.088735 1 config.go:487] Config.Nftables (--TESTONLY-nftables): false
D0130 11:50:36.088742 1 config.go:487] Config.AllowSUID (--allow-suid): false
D0130 11:50:36.088752 1 cli.go:197] runsc process spawned at 11:50:36.086274, Go started execution at 11:50:36.087214. Startup overhead: 939.687µs
I0130 11:50:36.088767 1 cli.go:200] **************** gVisor ****************
I0130 11:50:36.089555 1 boot.go:283] Setting product_name: "Google Compute Engine"
I0130 11:50:36.089742 1 boot.go:294] Setting host-thp-shmem-enabled: "never"
I0130 11:50:36.089800 1 boot.go:304] Setting host-thp-defrag: "defer"
I0130 11:50:36.090725 1 chroot.go:162] Setting up sandbox chroot in "/tmp"
I0130 11:50:36.102251 1 chroot.go:37] Mounting "proc" at "/tmp/proc/sandbox-proc"
D0130 11:50:36.125546 1 specutils.go:114] Spec:
```
FUTURE_COPYBARA_INTEGRATE_REVIEW=#12567 from nt:claude/fix-turbine-orch-error-X0OIm d8c4fa8
PiperOrigin-RevId: 8650075851 parent 8a1f424 commit 59d1432
2 files changed
+108
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1081 | 1081 | | |
1082 | 1082 | | |
1083 | 1083 | | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
1088 | 1102 | | |
1089 | | - | |
| 1103 | + | |
1090 | 1104 | | |
1091 | 1105 | | |
1092 | 1106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9576 | 9576 | | |
9577 | 9577 | | |
9578 | 9578 | | |
| 9579 | + | |
| 9580 | + | |
| 9581 | + | |
| 9582 | + | |
| 9583 | + | |
| 9584 | + | |
| 9585 | + | |
| 9586 | + | |
| 9587 | + | |
| 9588 | + | |
| 9589 | + | |
| 9590 | + | |
| 9591 | + | |
| 9592 | + | |
| 9593 | + | |
| 9594 | + | |
| 9595 | + | |
| 9596 | + | |
| 9597 | + | |
| 9598 | + | |
| 9599 | + | |
| 9600 | + | |
| 9601 | + | |
| 9602 | + | |
| 9603 | + | |
| 9604 | + | |
| 9605 | + | |
| 9606 | + | |
| 9607 | + | |
| 9608 | + | |
| 9609 | + | |
| 9610 | + | |
| 9611 | + | |
| 9612 | + | |
| 9613 | + | |
| 9614 | + | |
| 9615 | + | |
| 9616 | + | |
| 9617 | + | |
| 9618 | + | |
| 9619 | + | |
| 9620 | + | |
| 9621 | + | |
| 9622 | + | |
| 9623 | + | |
| 9624 | + | |
| 9625 | + | |
| 9626 | + | |
| 9627 | + | |
| 9628 | + | |
| 9629 | + | |
| 9630 | + | |
| 9631 | + | |
| 9632 | + | |
| 9633 | + | |
| 9634 | + | |
| 9635 | + | |
| 9636 | + | |
| 9637 | + | |
| 9638 | + | |
| 9639 | + | |
| 9640 | + | |
| 9641 | + | |
| 9642 | + | |
| 9643 | + | |
| 9644 | + | |
| 9645 | + | |
| 9646 | + | |
| 9647 | + | |
| 9648 | + | |
| 9649 | + | |
| 9650 | + | |
| 9651 | + | |
| 9652 | + | |
| 9653 | + | |
| 9654 | + | |
| 9655 | + | |
| 9656 | + | |
| 9657 | + | |
| 9658 | + | |
| 9659 | + | |
| 9660 | + | |
| 9661 | + | |
| 9662 | + | |
| 9663 | + | |
| 9664 | + | |
| 9665 | + | |
| 9666 | + | |
| 9667 | + | |
9579 | 9668 | | |
9580 | 9669 | | |
9581 | 9670 | | |
| |||
0 commit comments