Giter Club home page Giter Club logo

Comments (7)

milantracy avatar milantracy commented on August 28, 2024

Can you list how to reproduce it?

from gvisor.

ayushr2 avatar ayushr2 commented on August 28, 2024

cc @avagin

Looking at Context64.NewMmapLayout(), it seems like this can happen when NewMmapLayout() is called with a max such that (max/3)*2 < maxMmapRand64 where maxMmapRand64 = (1 << 28) * pagesize. Something like that. We need to rescale maxMmapRand64 if max is not large enough?

You can repro it with something like:

	ctx := Context64{}
	l := limits.NewLimitSet()
	ctx.NewMmapLayout(32768, 545460846592, l)

from gvisor.

InhexSTER avatar InhexSTER commented on August 28, 2024
  1. Installed on Orange Pi 5 Plus 16GB, running Ubuntu and k3s (worker)
  set -e
  ARCH=$(uname -m)
  URL=https://storage.googleapis.com/gvisor/releases/release/latest/${ARCH}
  wget ${URL}/runsc ${URL}/runsc.sha512 \
    ${URL}/containerd-shim-runsc-v1 ${URL}/containerd-shim-runsc-v1.sha512
  sha512sum -c runsc.sha512 \
    -c containerd-shim-runsc-v1.sha512
  rm -f *.sha512
  chmod a+rx runsc containerd-shim-runsc-v1
  sudo mv runsc containerd-shim-runsc-v1 /usr/local/bin
)
  1. Added following to /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  runtime_type = "io.containerd.runsc.v1"

Restarted the machine.

  1. Tried running in k3s using RuntimeClass. Got deadline exceeded error during create sandbox in the k8s events.

  2. Tried running the following sample, similar error

 SANDBOX_ID=$(sudo crictl runp --runtime runsc sandbox.json) 

Finally found /tmp/gvisor-panic.log with MmapLyaout panic

from gvisor.

milantracy avatar milantracy commented on August 28, 2024

it looks similiar to #9303 iiuc

you could try #9303 (comment) or #9303 (comment)

it will be helpful if you could share your strace log and debug log

from gvisor.

avagin avatar avagin commented on August 28, 2024

You have to recompile a kernel with CONFIG_ARM64_VA_BITS_48. We don't support CONFIG_ARM64_VA_BITS_39.

from gvisor.

InhexSTER avatar InhexSTER commented on August 28, 2024

Thanks for suggestion. Looks like that is it most likely

zgrep -E "CONFIG_ARM64_VA_BITS_" /proc/config.gz
CONFIG_ARM64_VA_BITS_39=y
# CONFIG_ARM64_VA_BITS_48 is not set

I might give re-compiling the kernel with the 48 bits a try. In the meantime, amd64 version works fine for me.
Would be good to have better error handling in this scenario.

from gvisor.

milantracy avatar milantracy commented on August 28, 2024

to wrap up, gVisor doesn't support < 3 layer paging table on kvm platform when running on ARM64.

The commit at a1be003 adds the debug info that would require users to recompile their kernel with CONFIG_ARM64_VA_BITS_48 or more.

from gvisor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.