Re: linux-next: Tree for Feb 7 (fakeroot BROKEN due to SYSV IPC support?)
From: Sedat Dilek
Date: Thu Feb 07 2013 - 09:40:35 EST
On Thu, Feb 7, 2013 at 2:39 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> On Thu, Feb 7, 2013 at 12:52 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>> On Thu, Feb 7, 2013 at 12:14 PM, Eric W. Biederman
>> <ebiederm@xxxxxxxxxxxx> wrote:
>>> Sedat Dilek <sedat.dilek@xxxxxxxxx> writes:
>>>
>>>> On Thu, Feb 7, 2013 at 11:20 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>>>>> On Thu, Feb 7, 2013 at 10:38 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>>>>>> On Thu, Feb 7, 2013 at 7:37 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Changes since 20130206:
>>>>>>>
>>>>>>> Removed tree: kvmtool (still present via the tip tree)
>>>>>>>
>>>>>>> The block tree lost its build failure.
>>>>>>>
>>>>>>> The tip tree gained a conflict against the s390 tree.
>>>>>>>
>>>>>>> The kvm tree gained a conflict against Linus' tree.
>>>>>>>
>>>>>>> The tty tree lost its build failure.
>>>>>>>
>>>>>>> The arm-soc tree gained conflicts against the iommu tree.
>>>>>>>
>>>>>>> The signal tree gained a conflict against the s390 tree.
>>>>>>>
>>>>>>> The akpm tree gained a conflict against the kvm tree and lost its build
>>>>>>> failure.
>>>>>>>
>>>>>>> ----------------------------------------------------------------------------
>>>>>>>
>>>>>>
>>>>>> My build-script uses fakeroot and does no more start:
>>>>>>
>>>>>> $ ./scripts/build_linux-next.sh
>>>>>> make options ...... CC=gcc-4.6 -j4
>>>>>> KBUILD_BUILD_USER=sedat.dilek@xxxxxxxxx
>>>>>> LOCALVERSION=-next20130207-2-iniza-small
>>>>>> dep-pkg options ... KDEB_PKGVERSION=3.8.0~rc6~next20130207-2~iniza+dileks1
>>>>>> fakeroot, while creating message channels: Invalid argument
>>>>>> This may be due to a lack of SYSV IPC support.
>>>>>> fakeroot: error while starting the `faked' daemon.
>>>>>> kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec
>>>>>> ... or kill -l [sigspec]
>>>>>>
>>>>>>
>>>>>> Any hints?
>>>>>> ( I could run strace... )
>>>>>>
>>>>>> - Sedat -
>>>>>
>>>>> Attached strace outputs within yesterday's (GOOD) and today's (BAD) Linux-Next.
>>>>>
>>>>> - Sedat -
>>>>
>>>> [ CCing Al and Eric ]
>>>>
>>>> I compared quickly the diff between the -next versions and saw changes
>>>> coming from signal and userns trees.
>>>> ( Sorry for re-attaching the strace outputs. )
>>>
>>> It has been about a week and a half since I have pushed anything into
>>> the userns tree, and I don't have anything ipc related in my tree.
>>> So the reason for the suspicion seems odd.
>>>
>>> The straces are useless because all they show is that fakeroot was
>>> forked, but there is not a trace of fakeroot itself.
>>>
>>> Given the timing my initial suspect would be the idr_preload patches
>>> from Tejun that were merged via Andrew's akpm tree. I didn't see
>>> anything in there that would kill ipc but that is likely the most recent
>>> touch to the ipc code.
>>>
>>
>> [ CCing Tejun ]
>>
>> Hmm, still stepping in the dark...
>>
>> OK, fakeroot does PRELOADing so your assumption makes sense.
>>
>> How can I trigger fakeroot calls?
>> Here I have...
>> /usr/bin/faked-sysv
>> /usr/bin/faked-tcp
>>
>> I think that is the main commit but I am not sure if I can revert the
>> idr_preload part, otherwise it gets complicated:
>>
>> commit e2802c2defba1e5c88d7d168eb5c66813c86f249
>> "idr: implement idr_preload[_end]() and idr_alloc()"
>>
>> $ grep idr ../Linux-Next-v20130206-VS-v20130207.diff | grep ^'++Applying:'
>> ++Applying: block: fix ext_devt_idr handling
>> ++Applying: idr: fix a subtle bug in idr_get_next()
>> ++Applying: nfsd: idr_destroy() no longer needs idr_remove_all()
>> ++Applying: idr: cosmetic updates to struct / initializer definitions
>> ++Applying: idr: relocate idr_for_each_entry() and reorganize id[r|a]_get_new()
>> ++Applying: idr: remove _idr_rc_to_errno() hack
>> ++Applying: idr: refactor idr_get_new_above()
>> ++Applying: idr: implement idr_preload[_end]() and idr_alloc()
>> ++Applying: block: convert to idr_alloc()
>> ++Applying: block/loop: convert to idr_alloc()
>> ++Applying: atm/nicstar: convert to idr_alloc()
>> ++Applying: drbd: convert to idr_alloc()
>> ++Applying: dca: convert to idr_alloc()
>> ++Applying: dmaengine: convert to idr_alloc()
>> ++Applying: firewire: convert to idr_alloc()
>> ++Applying: gpio: convert to idr_alloc()
>> ++Applying: drm: convert to idr_alloc()
>> ++Applying: drm/exynos: convert to idr_alloc()
>> ++Applying: drm/i915: convert to idr_alloc()
>> ++Applying: drm/sis: convert to idr_alloc()
>> ++Applying: drm/via: convert to idr_alloc()
>> ++Applying: drm/vmwgfx: convert to idr_alloc()
>> ++Applying: i2c: convert to idr_alloc()
>> ++Applying: IB/core: convert to idr_alloc()
>> ++Applying: IB/amso1100: convert to idr_alloc()
>> ++Applying: IB/cxgb3: convert to idr_alloc()
>> ++Applying: IB/cxgb4: convert to idr_alloc()
>> ++Applying: IB/ehca: convert to idr_alloc()
>> ++Applying: IB/ipath: convert to idr_alloc()
>> ++Applying: IB/mlx4: convert to idr_alloc()
>> ++Applying: IB/ocrdma: convert to idr_alloc()
>> ++Applying: IB/qib: convert to idr_alloc()
>> ++Applying: dm: convert to idr_alloc()
>> ++Applying: memstick: convert to idr_alloc()
>> ++Applying: mfd: convert to idr_alloc()
>> ++Applying: misc/c2port: convert to idr_alloc()
>> ++Applying: misc/tifm_core: convert to idr_alloc()
>> ++Applying: mmc: convert to idr_alloc()
>> ++Applying: mtd: convert to idr_alloc()
>> ++Applying: macvtap: convert to idr_alloc()
>> ++Applying: ppp: convert to idr_alloc()
>> ++Applying: power: convert to idr_alloc()
>> ++Applying: pps: convert to idr_alloc()
>> ++Applying: remoteproc: convert to idr_alloc()
>> ++Applying: rpmsg: convert to idr_alloc()
>> ++Applying: scsi/bfa: convert to idr_alloc()
>> ++Applying: scsi: convert to idr_alloc()
>> ++Applying: target/iscsi: convert to idr_alloc()
>> ++Applying: scsi/lpfc: convert to idr_alloc()
>> ++Applying: thermal: convert to idr_alloc()
>> ++Applying: uio: convert to idr_alloc()
>> ++Applying: vfio: convert to idr_alloc()
>> ++Applying: dlm: convert to idr_alloc()
>> ++Applying: inotify: convert to idr_alloc()
>> ++Applying: ocfs2: convert to idr_alloc()
>> ++Applying: ipc: convert to idr_alloc()
>> ++Applying: cgroup: convert to idr_alloc()
>> ++Applying: events: convert to idr_alloc()
>> ++Applying: posix-timers: convert to idr_alloc()
>> ++Applying: net/9p: convert to idr_alloc()
>> ++Applying: mac80211: convert to idr_alloc()
>> ++Applying: sctp: convert to idr_alloc()
>> ++Applying: nfs4client: convert to idr_alloc()
>>
>> - Sedat -
>>
>> [1] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=e2802c2defba1e5c88d7d168eb5c66813c86f249
>>
>>> Eric
>
> Hi Tejun,
>
> Eric was right that your idr_preload/idr_alloc patches from mmotm-tree
> in Linux-Next (next-20130207) caused that fakeroot crazyness.
>
> I can't say if the whole series is BORKED or the IPC part.
> Changelog in [1] says "compile-tested-only" :-).
>
> commitdiff aebcb5a5f97e6e567bdd1b2651253de073afa572
> "ipc: convert to idr_alloc()"
>
This ^^^^^ seems to be the culprit commit!
I just reverted this one and I could compile my kernels again with fakeroot!
- Sedat -
> Reverting the series let me build my kernels with fakeroot!
>
> Tejun, can you have a look at this?
> Thanks!
>
> Thank you Eric for the hints and sorry for my wrong suspicions.
>
> Please, have a look at the attachments.
>
> Regards,
> - Sedat -
>
> [1] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=aebcb5a5f97e6e567bdd1b2651253de073afa572
execve("./scripts/build_linux-next.sh", ["./scripts/build_linux-next.sh"], [/* 48 vars */]) = 0
brk(0) = 0xbd9000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f46caedc000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=93838, ...}) = 0
mmap(NULL, 93838, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f46caec5000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\30\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1811128, ...}) = 0
mmap(NULL, 3925208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f46ca8fd000
mprotect(0x7f46caab2000, 2093056, PROT_NONE) = 0
mmap(0x7f46cacb1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b4000) = 0x7f46cacb1000
mmap(0x7f46cacb7000, 17624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f46cacb7000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f46caec4000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f46caec3000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f46caec2000
arch_prctl(ARCH_SET_FS, 0x7f46caec3700) = 0
mprotect(0x7f46cacb1000, 16384, PROT_READ) = 0
mprotect(0x619000, 4096, PROT_READ) = 0
mprotect(0x7f46caede000, 4096, PROT_READ) = 0
munmap(0x7f46caec5000, 93838) = 0
getpid() = 2332
rt_sigaction(SIGCHLD, {0x40f100, ~[RTMIN RT_1], SA_RESTORER, 0x7f46ca9334a0}, NULL, 8) = 0
geteuid() = 1000
brk(0) = 0xbd9000
brk(0xbfa000) = 0xbfa000
getppid() = 2329
stat("/home/wearefam/src/linux-kernel", {st_mode=S_IFDIR|0775, st_size=12288, ...}) = 0
stat(".", {st_mode=S_IFDIR|0775, st_size=12288, ...}) = 0
open("./scripts/build_linux-next.sh", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10) = 10
close(3) = 0
fcntl(10, F_SETFD, FD_CLOEXEC) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x40f100, ~[RTMIN RT_1], SA_RESTORER, 0x7f46ca9334a0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f46ca9334a0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f46ca9334a0}, NULL, 8) = 0
read(10, "#!/bin/sh\n\n### HELP\n# 1. make de"..., 8192) = 3852
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2333
close(4) = 0
read(3, "/home/wearefam/src/linux-kernel\n", 128) = 32
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2333
chdir("/home/wearefam/src/linux-kernel/linux-next") = 0
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2334
close(4) = 0
read(3, "4\n", 128) = 2
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 2
read(3, "", 128) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2334
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2335
close(4) = 0
read(3, "3\n", 128) = 2
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2335
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2336
close(4) = 0
read(3, "8\n", 128) = 2
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2336
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2337
close(4) = 0
read(3, "0\n", 128) = 2
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2337
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2338
close(4) = 0
read(3, "-rc6\n", 128) = 5
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2338
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2339
close(4) = 0
read(3, "next20130207\n", 128) = 13
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2339
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2344
close(4) = 0
read(3, "3.8.0~rc6\n", 128) = 10
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2344
write(1, "make options ...... CC=gcc-4.6 -"..., 116make options ...... CC=gcc-4.6 -j4 KBUILD_BUILD_USER=sedat.dilek@xxxxxxxxx LOCALVERSION=-next20130207-3-iniza-small
) = 116
write(1, "dep-pkg options ... KDEB_PKGVERS"..., 75dep-pkg options ... KDEB_PKGVERSION=3.8.0~rc6~next20130207-3~iniza+dileks1
) = 75
openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 56 entries */, 32768) = 1800
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
stat("/opt/llvm/bin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/usr/lib/lightdm/lightdm/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/sbin/rm", 0x7fff6a90a2c0) = -1 ENOENT (No such file or directory)
stat("/bin/rm", {st_mode=S_IFREG|0755, st_size=55888, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2347
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2347
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 2347
stat("/opt/llvm/bin/fakeroot", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/lib/lightdm/lightdm/fakeroot", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/fakeroot", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/fakeroot", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/fakeroot", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/bin/fakeroot", {st_mode=S_IFREG|0755, st_size=3895, ...}) = 0
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2348
close(4) = 0
stat("/opt/llvm/bin/tee", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/lib/lightdm/lightdm/tee", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/local/sbin/tee", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/tee", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/tee", 0x7fff6a90a320) = -1 ENOENT (No such file or directory)
stat("/usr/bin/tee", {st_mode=S_IFREG|0755, st_size=27072, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46caec39d0) = 2349
close(3) = 0
close(4294967295) = -1 EBADF (Bad file descriptor)
wait4(-1, make KBUILD_SRC=
make[3]: Nothing to be done for `all'.
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
make[3]: Nothing to be done for `relocs'.
CALL scripts/checksyscalls.sh
Attachment:
3.8.0-rc6-next20130207-3-iniza-small.patch
Description: Binary data