All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel K." <dk@uw.no>
To: mingo@elte.hu, peterz@infradead.org, menage@google.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [BUG: NULL pointer dereference] cgroups and RT scheduling interact badly.
Date: Sun, 15 Jun 2008 00:26:54 +0200	[thread overview]
Message-ID: <485445AE.2010602@uw.no> (raw)

I get the following on the latest Linus git tree.

Testcase:

mkdir /dev/cgroup
mount -t cgroup -o cpu,cpuset cgroup /dev/cgroup

mkdir -p /dev/cgroup/burn/oops
cd /dev/cgroup/burn

echo 3 > cpuset.cpus
echo 0 > cpuset.mems
echo 1000000 > cpu.rt_period_us
echo 940000  > cpu.rt_runtime_us

echo 3 > oops/cpuset.cpus
echo 0 > oops/cpuset.mems
echo 100000 > oops/cpu.rt_period_us
echo 4000 > oops/cpu.rt_runtime_us

echo $$ > oops/tasks
schedtool -R -p 1 -e burnP6

And then it breaks into the pieces below, as captured by netconsole.

> [  492.586059] BUG: unable to handle kernel NULL pointer dereference at
0000000000000062
> [  492.586059] IP: [<ffffffff8022e635>] enqueue_rt_entity+0x55/0x1d0
> [  492.586059] PGD 21e439067 PUD 21e438067 PMD 0 
> [  492.586059] Oops: 0002 [1] SMP 
> [  492.586059] CPU 3 
> [  492.586059] Modules linked in: netconsole configfs ipmi_msghandler kvm_amd kvm ipv6 iptable_filter ip_tables x_tables loop af_packet usbhid hid evdev i2c_nforce2 k8temp button pcspkr shpchp pci_hotplug i2c_core tg3 sd_mod ehci_hcd ohci_hcd forcedeth sg usbcore thermal processor fan thermal_sys
> [  492.586059] Pid: 3405, comm: schedtool Not tainted 2.6.26-rc6 #2
> [  492.586059] RIP: 0010:[<ffffffff8022e635>]  [<ffffffff8022e635>] enqueue_rt_entity+0x55/0x1d0
> [  492.586059] RSP: 0018:ffff81021e415e48  EFLAGS: 00010012
> [  492.586059] RAX: ffff810001056d48 RBX: ffff81022309e900 RCX: ffff81022309e860
> [  492.586059] RDX: 0000000000000062 RSI: 0000000000000086 RDI: ffff81022309e900
> [  492.586059] RBP: ffff81021e415e58 R08: ffff810001056e50 R09: 000000009b10fa5a
> [  492.586059] R10: 0000000000000000 R11: ffff810001056670 R12: ffff8100010566f8
> [  492.586059] R13: 0000000000000001 R14: 0000000000000001 R15: ffff81021e415f38
> [  492.586059] FS:  00007f675ec286e0(0000) GS:ffff810223022980(0000) knlGS:0000000000000000
> [  492.586059] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [  492.586059] CR2: 0000000000000062 CR3: 000000021e44e000 CR4: 00000000000006e0
> [  492.586059] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [  492.586059] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> [  492.586059] Process schedtool (pid: 3405, threadinfo ffff81021e414000, task ffff810221771980)
> [  492.586059] Stack:  ffff81022309e900 ffff810221771980 ffff81021e415e78 ffffffff8022e7e8
> [  492.586059]  0000000000000001 ffff810221771980 ffff81021e415e98 ffffffff80229ea3
> [  492.586059]  ffff810001056670 ffff810001056600 ffff81021e415eb8 ffffffff80229f20
> [  492.586059] Call Trace:
> [  492.586059]  [<ffffffff8022e7e8>] enqueue_task_rt+0x38/0x50
> [  492.586059]  [<ffffffff80229ea3>] enqueue_task+0x13/0x30
> [  492.586059]  [<ffffffff80229f20>] activate_task+0x30/0x50
> [  492.586059]  [<ffffffff8023336f>] sched_setscheduler+0x28f/0x3b0
> [  492.586059]  [<ffffffff8028b818>] ? do_munmap+0x278/0x2d0
> [  492.586059]  [<ffffffff8023350d>] do_sched_setscheduler+0x7d/0x90
> [  492.586059]  [<ffffffff80233554>] sys_sched_setscheduler+0x14/0x20
> [  492.586059]  [<ffffffff8020b77a>] system_call_after_swapgs+0x8a/0x8f
> [  492.586059] 
> [  492.586059] 
> [  492.586059] Code: 85 c9 0f 84 76 01 00 00 8b 81 58 06 00 00 48 98 48 8d 8b 60 ff ff ff 48 c1 e0 04 4a 8d 44 20 10 48 8b 50 08 48 89 03 48 89 58 08 <48> 89 1a 48 89 53 08 48 8b 53 40 48 8d 82 58 06 00 00 48 85 d2 
> [  492.586059] RIP  [<ffffffff8022e635>] enqueue_rt_entity+0x55/0x1d0
> [  492.586059]  RSP <ffff81021e415e48>
> [  492.586059] CR2: 0000000000000062

Some information about the compiler, and Kconfig

daniel@lc01:~/git/linux-2.6$ cat /proc/version
Linux version 2.6.26-rc6 (daniel@lc01) (gcc version 4.2.3 (Ubuntu
4.2.3-2ubuntu7)) #2 SMP Sat Jun 14 21:51:31 CEST 2008

daniel@lc01:~/git/linux-2.6$ cat .config|egrep "(CGROUP|SCHED)"
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
# CONFIG_CGROUP_DEVICE is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
# CONFIG_USER_SCHED is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_IOSCHED="deadline"
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
CONFIG_SCHED_HRTICK=y
CONFIG_NET_SCHED=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set


Daniel K.

             reply	other threads:[~2008-06-14 22:31 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-14 22:26 Daniel K. [this message]
2008-06-16 10:34 ` [BUG: NULL pointer dereference] cgroups and RT scheduling interact badly Peter Zijlstra
2008-06-16 13:14   ` Daniel K.
2008-06-16 13:51     ` Peter Zijlstra
2008-06-16 14:39       ` Peter Zijlstra
2008-06-16 15:11         ` Daniel K.
2008-06-16 15:18           ` Peter Zijlstra
2008-06-17  8:49             ` Peter Zijlstra
2008-06-17 12:25               ` Daniel K.
2008-06-17 12:46                 ` Peter Zijlstra
2008-06-17 20:01                 ` Peter Zijlstra
2008-06-17 21:03                   ` Dmitry Adamushko
2008-06-17 21:48                   ` Daniel K.
2008-06-18 11:50                     ` Peter Zijlstra
2008-06-18 13:35                       ` Daniel K.
2008-06-18 14:12                         ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=485445AE.2010602@uw.no \
    --to=dk@uw.no \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.