[Devel] Re: [PATCH] c/r: fix "scheduling in atomic" while restoring ipc shm
Nikita V. Youshchenko
yoush at cs.msu.su
Tue Mar 2 06:50:46 PST 2010
> Hi Nikita,
>
> Thanks for the report and the analysis. It actually helped to
> pinpoint a couple of other minor issues in the code. This patch
> should fix all of these.
>
> Oren.
Hi Oren.
With ckpt-v19 plus this patch applied, we still are getting a kernel
crash, with BUG() fired at
+ ipc = idr_find(&msg_ids->ipcs_idr, h->perms.id);
+ BUG_ON(!ipc);
added by the patch.
By looking at the code, I can't understand how this idr_find() can at
all succeed, if the namespace it is looking in was just created and
is empty.
What code adds object in question into this idr?
Any hints?
Nikita
...
[ 60.321860] [430:430:c/r:ckpt_read_obj_dispatch:254] type 502 len 120
[ 60.322489] [430:430:c/r:ckpt_read_obj:383] type 502 len 120(120,120)
[ 60.323140] [430:430:c/r:restore_ipc_shm:226] shm: do_shmget size 790528 flag 0x7a4 id 32769
[ 60.324257] [430:430:c/r:restore_ipc_shm:228] shm: do_shmget ret 32769
[ 60.325573] ------------[ cut here ]------------
[ 60.326059] kernel BUG at ipc/checkpoint_shm.c:274!
[ 60.326564] invalid opcode: 0000 [#1] PREEMPT SMP
[ 60.327124] last sysfs file:
[ 60.327480] Modules linked in:
[ 60.327903]
[ 60.328104] Pid: 430, comm: bash Not tainted 2.6.33-rc8 #2 /
[ 60.328104] EIP: 0060:[<c10e0abe>] EFLAGS: 00000246 CPU: 0
[ 60.328104] EIP is at restore_ipc_shm+0x1a0/0x35a
[ 60.328104] EAX: 00000000 EBX: 00000000 ECX: 00000005 EDX: c789ba58
[ 60.328104] ESI: 00008001 EDI: c793d640 EBP: c79ac000 ESP: c7991dbc
[ 60.328104] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 60.328104] Process bash (pid: 430, ti=c7990000 task=c7855b70 task.ti=c7990000)
[ 60.328104] Stack:
[ 60.328104] c129da9c c79ac000 000c1000 00000000 c129db00 000001ae 000001b4 000c1000
[ 60.328104] <0> 00000000 c124dde1 000001ae 00000001 00000000 c7940c00 c79ac000 c10e036d
[ 60.328104] <0> 00000002 c129da9c ffffffef c129da9c c799ac60 c79ac000 c10e048a 000001f6
[ 60.328104] Call Trace:
[ 60.328104] [<c10e036d>] ? restore_ipc_any+0xa5/0x119
[ 60.328104] [<c10e048a>] ? restore_ipc_ns+0xa9/0x112
[ 60.328104] [<c10e091e>] ? restore_ipc_shm+0x0/0x35a
[ 60.328104] [<c10feb48>] ? restore_obj+0x98/0x116
[ 60.328104] [<c11007ed>] ? ckpt_read_obj_dispatch+0x220/0x246
[ 60.328104] [<c1100829>] ? ckpt_read_obj+0x16/0xe8
[ 60.328104] [<c107b866>] ? fsnotify_access+0x5a/0x61
[ 60.328104] [<c110097d>] ? ckpt_read_obj_type+0x16/0x70
[ 60.328104] [<c1039ab8>] ? restore_ns+0x18/0x12b
[ 60.328104] [<c10feb48>] ? restore_obj+0x98/0x116
[ 60.328104] [<c11007ed>] ? ckpt_read_obj_dispatch+0x220/0x246
[ 60.328104] [<c1100829>] ? ckpt_read_obj+0x16/0xe8
[ 60.328104] [<c110097d>] ? ckpt_read_obj_type+0x16/0x70
[ 60.328104] [<c11033fb>] ? restore_task+0x512/0x9fc
[ 60.328104] [<c1101b59>] ? do_restart+0xff4/0x12f3
[ 60.328104] [<c10364f0>] ? autoremove_wake_function+0x0/0x2d
[ 60.328104] [<c10fdb21>] ? do_sys_restart+0x66/0x77
[ 60.328104] [<c10027d5>] ? ptregs_restart+0x15/0x1c
[ 60.328104] [<c10026d0>] ? sysenter_do_call+0x12/0x26
[ 60.328104] Code: fe ff ff e9 c8 01 00 00 8b 04 24 83 c0 64 89 44 24 10 e8 dd 16 10 00 8b 57 10 8b 04 24 83 c0
74 e8 24 71 02 00 85 c0 89 c3 75 04 <0f> 0b eb fe 8b 68 2c 8d 45 18 3e ff 45 18 8b 44 24 04 8d 57 08
[ 60.328104] EIP: [<c10e0abe>] restore_ipc_shm+0x1a0/0x35a SS:ESP 0068:c7991dbc
[ 60.351332] ---[ end trace 9660dfa05be59307 ]---
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list