Date: Tue, 12 Nov 2019 20:12:11 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 241927] kernel crash in kern_cpuset_setdomain(CPU_LEVEL_CPUSET, CPU_WHICH_PID, -1, ...) Message-ID: <bug-241927-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241927 Bug ID: 241927 Summary: kernel crash in kern_cpuset_setdomain(CPU_LEVEL_CPUSET, CPU_WHICH_PID, -1, ...) Product: Base System Version: 12.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: bgoglin@free.fr Created attachment 209111 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D209111&action= =3Dedit screenshot of the backtrace of the crash Hello While adding FreeBSD NUMA support in hwloc, we found a reproducible way to crash the kernel. Just call cpuset_setdomain(CPU_LEVEL_CPUSET, CPU_WHICH_PI= D, -1, ...). Here's the minimalistic userland program to reproduce: #include <sys/types.h> #include <sys/sysctl.h> #include <sys/param.h> #include <sys/cpuset.h> #include <sys/domainset.h> int main() { domainset_t mask; DOMAINSET_ZERO(&mask); DOMAINSET_SET(0, &mask); cpuset_setdomain(CPU_LEVEL_CPUSET, CPU_WHICH_PID, -1, sizeof(mask), &mask, DOMAINSET_POLICY_PREFER); } I don't understand what this call is supposed to do, we actually wanted to = use CPU_LEVEL_WHICH instead of CPU_LEVEL_CPUSET :) We were running this inside a KVM VM with 4 NUMA domains but the crash also occurs without multiple NUMA domains. I am attaching a screenshot of the backtrace after the crash. I don't know = how to debug more. Brice --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-241927-227>