Re: processes in uninteruptible state unkillable

vda (vda@port.imtp.ilyichevsk.odessa.ua)
Thu, 6 Dec 2001 09:54:59 -0200


On Wednesday 05 December 2001 14:15, Juergen Sawinski wrote:
> I have a few processes that were started in a smb mount directory. Due
> to server reboot the connection broke. The processes are now in an
> uninterruptable state, waiting for IO, so, they cannot be killed nor the
> smbfs unmounted.
>
> Obviously, the only thing I can do is to reboot my computer.
> Any suggestions?

Well, technically speaking it's a bug, but this kind of bug
is not going to be fixed. Why?

Imagine that a page from text segment of one of those apps was discarded
due to VM pressure, and now it is needed again. Kernel tries to read it back
from SMB mounted fs which is no longer there. What kernel can do?
It can't signal app (what if signal handler isn't in RAM too?),
it can only kill this process. But the code to do it is not implemented.
(AFAIK. I may be wrong). Kernel is just not prepared for swap or text pages
to become suddenly unavailable. It is hard to handle that too given VM
complexity.

Typically swap is on a local hard disk and apps are started from there too
and it is not expected to fail, so nobody seriously care.

Even NFS folks made hard,nointr mount options the default, which means you'll
never ever will be able to kill your app if server crashed and not rebooted.
To this day I have no explanation why hard,intr isn't a default (it allows me
to kill processes hung in NFS read()/write() syscall).

--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/