Re: futex strangeness in 2.6.23-mm1/UML
From: Rik van Riel
Date: Mon Oct 22 2007 - 21:38:42 EST
On Mon, 22 Oct 2007 21:11:43 -0400
Rik van Riel <riel@xxxxxxxxxx> wrote:
> I have my systems set up to automount my home directory over
> NFS when I log in. When trying to log in to the system with
> 2.6.23-mm1, I get the messages from above in my syslog, and
> the NFS filesystem is not automounted.
>
> I am thinking something in autofs or the pid-namespace* patches
> does not match up and uses a wrong PID number or process pointer
> when trying to lock things.
>
> Which code is at fault I have no idea...
I still do not know for sure, but I have found some code that
puzzles me.
At fork() time, task->pid is set to task->pid->numbers[0].nr
On the other hand, fork() returns to the parent process:
task->pid[PIDTYPE_PID]->numbers[task->pid->level].nr
I have not unravelled the code enough yet to be sure whether
this is always the same number, but having a wrong PID number
somewhere could certainly explain these autofs4 errors:
Oct 22 14:39:01 kenny automount[2299]: cache_readlock: mapent cache
rwlock lock failed
Oct 22 14:39:01 kenny automount[2299]: unexpected pthreads error: 11 at
65 in cache.c
After all, autofs4 puts various kinds of PID information of the
daemon into the autofs4 waitqueue:
fs/autofs4/waitq.c:296:
wq->uid = current->uid;
wq->gid = current->gid;
wq->pid = current->pid;
wq->tgid = current->tgid;
Could this be related?
Wrt. the UML failures that Miklos is seeing, I imagine UML needs
to do some similar tricks.
--
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/