Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-44817

fatal error: runtime: netpoll failed

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 3
    • Moderate
    • None
    • None
    • None
    • None
    • RUN 267, RUN 268, RUN 269, RUN 270
    • 4
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

      The runc crashes and causes init container to fail with go statements in logs

      Version-Release number of selected component (if applicable):

          OCP 4.12

      How reproducible:

          - Customer's environment

      Steps to Reproduce:

          1.
          2.
          3.
          

      Actual results:

      
      
      runtime: epollwait on fd 7 failed with 1
      fatal error: runtime: netpoll failed
      
      runtime stack:
      runtime.throw({0x55c305839652?, 0x7ffc67fb4a20?})
      /usr/lib/golang/src/runtime/panic.go:1047 +0x5f fp=0x7ffc67fb49d0 sp=0x7ffc67fb49a0 pc=0x55c3054516ff
      runtime.netpoll(0xc0000071e0?)
      /usr/lib/golang/src/runtime/netpoll_epoll.go:130 +0x34e fp=0x7ffc67fb5030 sp=0x7ffc67fb49d0 pc=0x55c30544d9ce
      runtime.startTheWorldWithSema(0x0)
      /usr/lib/golang/src/runtime/proc.go:1264 +0x45 fp=0x7ffc67fb5090 sp=0x7ffc67fb5030 pc=0x55c305456925
      runtime.gcStart.func2()
      /usr/lib/golang/src/runtime/mgc.go:730 +0x2d fp=0x7ffc67fb50b8 sp=0x7ffc67fb5090 pc=0x55c305435f4d
      runtime.systemstack()
      /usr/lib/golang/src/runtime/asm_amd64.s:492 +0x46 fp=0x7ffc67fb50c0 sp=0x7ffc67fb50b8 pc=0x55c3054809c6
      
      goroutine 1 [running, locked to thread]:
      runtime.systemstack_switch()
      /usr/lib/golang/src/runtime/asm_amd64.s:459 fp=0xc000241618 sp=0xc000241610 pc=0x55c305480960
      runtime.gcStart({0x7f6b05c36108?, 0xb68a?, 0x1f01?})
      /usr/lib/golang/src/runtime/mgc.go:729 +0x425 fp=0xc0002416a0 sp=0xc000241618 pc=0x55c305435dc5
      runtime.mallocgc(0xb68a, 0x55c305b30160, 0x1)
      /usr/lib/golang/src/runtime/malloc.go:1148 +0x817 fp=0xc000241718 sp=0xc0002416a0 pc=0x55c3054291f7
      runtime.makeslice(0xc000419c00?, 0x6?, 0x55c305429100?)
      /usr/lib/golang/src/runtime/slice.go:103 +0x52 fp=0xc000241740 sp=0xc000241718 pc=0x55c305468d72
      syscall.SlicePtrFromStrings({0xc000438000, 0x3ed, 0xc0002417e8?})
      /usr/lib/golang/src/syscall/exec_unix.go:94 +0xf2 fp=0xc0002417c0 sp=0xc000241740 pc=0x55c3054c73d2
      syscall.Exec({0xc000419c58?, 0x3ed?}, {0xc00016c4c0, 0x3, 0x4}, {0xc000438000, 0x3ed, 0x3ed})
      /usr/lib/golang/src/syscall/exec_unix.go:279 +0xdb fp=0xc000241858 sp=0xc0002417c0 pc=0x55c3054c7d7b
      github.com/opencontainers/runc/vendor/golang.org/x/sys/unix.Exec(...)
      /builddir/build/BUILD/runc-1.1.6/GOPATH/src/github.com/opencontainers/runc/GOPATH/src/github.com/opencontainers/runc/vendor/golang.org/x/sys/unix/syscall_unix.go:559
      github.com/opencontainers/runc/libcontainer/system.Exec({0xc000419c58, 0x7}, {0xc00016c4c0, 0x3, 0x4}, {0xc000438000, 0x3ed, 0x3ed})
      /builddir/build/BUILD/runc-1.1.6/GOPATH/src/github.com/opencontainers/runc/GOPATH/src/github.com/opencontainers/runc/libcontainer/system/linux.go:45 +0x88 fp=0xc0002418b8 sp=0xc000241858 pc=0x55c3056cdba8
      github.com/opencontainers/runc/libcontainer.(*linuxStandardInit).Init(0xc000178370)
      /builddir/build/BUILD/runc-1.1.6/GOPATH/src/github.com/opencontainers/runc/GOPATH/src/github.com/opencontainers/runc/libcontainer/standard_init_linux.go:280 +0x13b4 fp=0xc000241bc8 sp=0xc0002418b8 pc=0x55c305773894
      github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization(0x0?)
      /builddir/build/BUILD/runc-1.1.6/GOPATH/src/github.com/opencontainers/runc/GOPATH/src/github.com/opencontainers/runc/libcontainer/factory_linux.go:361 +0x5f3 fp=0xc000241e00 sp=0xc000241bc8 pc=0x55c30575ed33
      main.init.0()
      /builddir/build/BUILD/runc-1.1.6/GOPATH/src/github.com/opencontainers/runc/GOPATH/src/github.com/opencontainers/runc/init.go:36 +0x174 fp=0xc000241e50 sp=0xc000241e00 pc=0x55c305812174
      runtime.doInit(0x55c305ec1560)
      /usr/lib/golang/src/runtime/proc.go:6331 +0x128 fp=0xc000241f80 sp=0xc000241e50 pc=0x55c305461268
      runtime.main()
      /usr/lib/golang/src/runtime/proc.go:233 +0x1d4 fp=0xc000241fe0 sp=0xc000241f80 pc=0x55c305453f54
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000241fe8 sp=0xc000241fe0 pc=0x55c305482c01
      
      goroutine 2 [force gc (idle)]:
      runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
      /usr/lib/golang/src/runtime/proc.go:363 +0xd6 fp=0xc000144fb0 sp=0xc000144f90 pc=0x55c305454356
      runtime.goparkunlock(...)
      /usr/lib/golang/src/runtime/proc.go:369
      runtime.forcegchelper()
      /usr/lib/golang/src/runtime/proc.go:302 +0xad fp=0xc000144fe0 sp=0xc000144fb0 pc=0x55c3054541ed
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000144fe8 sp=0xc000144fe0 pc=0x55c305482c01
      created by runtime.init.7
      /usr/lib/golang/src/runtime/proc.go:290 +0x25
      
      goroutine 3 [GC sweep wait]:
      runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
      /usr/lib/golang/src/runtime/proc.go:363 +0xd6 fp=0xc000145790 sp=0xc000145770 pc=0x55c305454356
      runtime.goparkunlock(...)
      /usr/lib/golang/src/runtime/proc.go:369
      runtime.bgsweep(0x0?)
      /usr/lib/golang/src/runtime/mgcsweep.go:278 +0x8e fp=0xc0001457c8 sp=0xc000145790 pc=0x55c3054408ae
      runtime.gcenable.func1()
      /usr/lib/golang/src/runtime/mgc.go:178 +0x26 fp=0xc0001457e0 sp=0xc0001457c8 pc=0x55c305435546
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001457e8 sp=0xc0001457e0 pc=0x55c305482c01
      created by runtime.gcenable
      /usr/lib/golang/src/runtime/mgc.go:178 +0x6b
      
      goroutine 4 [runnable]:
      runtime.gopark(0xc00002c070?, 0x55c3058e1848?, 0x1?, 0x0?, 0x0?)
      /usr/lib/golang/src/runtime/proc.go:363 +0xd6 fp=0xc000145f70 sp=0xc000145f50 pc=0x55c305454356
      runtime.goparkunlock(...)
      /usr/lib/golang/src/runtime/proc.go:369
      runtime.(*scavengerState).park(0x55c305ed5160)
      /usr/lib/golang/src/runtime/mgcscavenge.go:389 +0x53 fp=0xc000145fa0 sp=0xc000145f70 pc=0x55c30543e953
      runtime.bgscavenge(0x0?)
      /usr/lib/golang/src/runtime/mgcscavenge.go:617 +0x45 fp=0xc000145fc8 sp=0xc000145fa0 pc=0x55c30543ef25
      runtime.gcenable.func2()
      /usr/lib/golang/src/runtime/mgc.go:179 +0x26 fp=0xc000145fe0 sp=0xc000145fc8 pc=0x55c3054354e6
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000145fe8 sp=0xc000145fe0 pc=0x55c305482c01
      created by runtime.gcenable
      /usr/lib/golang/src/runtime/mgc.go:179 +0xaa
      
      goroutine 18 [finalizer wait]:
      runtime.gopark(0x55c305ed5920?, 0xc0001824e0?, 0x0?, 0x0?, 0xc000144770?)
      /usr/lib/golang/src/runtime/proc.go:363 +0xd6 fp=0xc000144628 sp=0xc000144608 pc=0x55c305454356
      runtime.goparkunlock(...)
      /usr/lib/golang/src/runtime/proc.go:369
      runtime.runfinq()
      /usr/lib/golang/src/runtime/mfinal.go:180 +0x10f fp=0xc0001447e0 sp=0xc000144628 pc=0x55c30543464f
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001447e8 sp=0xc0001447e0 pc=0x55c305482c01
      created by runtime.createfing
      /usr/lib/golang/src/runtime/mfinal.go:157 +0x45
      
      goroutine 6 [GC worker (idle)]:
      runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
      /usr/lib/golang/src/runtime/proc.go:363 +0xd6 fp=0xc000146750 sp=0xc000146730 pc=0x55c305454356
      runtime.gcBgMarkWorker()
      /usr/lib/golang/src/runtime/mgc.go:1235 +0xf1 fp=0xc0001467e0 sp=0xc000146750 pc=0x55c3054376b1
      runtime.goexit()
      /usr/lib/golang/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001467e8 sp=0xc0001467e0 pc=0x55c305482c01
      created by runtime.gcBgMarkStartWorkers
      /usr/lib/golang/src/runtime/mgc.go:1159 +0x25
          

      Expected results:

      - Containers to run smoothly    

      Additional info:

      It seems to be a panic in netpoll_epoll, notably here:
      
      https://cs.opensource.google/go/go/+/release-branch.go1.14:src/runtime/netpoll_epoll.go;l=119-123
      
      This appears to happen due to the numbering of the file descriptors.  If runc init is called without FD 0,1,2 set, then it appears it can panic like so:
      
      https://github.com/golang/go/issues/68333    

              kolyshkin Kirill Kolyshkin
              rhn-support-snangare Sameer Nangare
              Sameer Nangare
              None
              None
              None
              Votes:
              1 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated:
                Resolved: