Re: Alpha "process table hang"

Bob McElrath
2001-04-11T18:50:34Z

[-- Attachment #1: Type: text/plain, Size: 2703 bytes --]

Well, here's the list of modules I have loaded:

nfsd 102496 8 (autoclean)
lockd 72976 1 (autoclean) [nfsd]
sunrpc 87984 1 (autoclean) [nfsd lockd]
nls_iso8859-1 4160 1 (autoclean)
nls_cp437 5664 1 (autoclean)
msdos 7728 1 (autoclean)
fat 42784 0 (autoclean) [msdos]
pas2 17488 1
sound 83184 1 [pas2]
soundcore 5568 5 [sound]

Are there any known problems with these? I have at times also used
matroxfb, and usb-uhci (along with visor, usb-storage), but I've seen
the process-table-hang with matroxfb and usb-uhci *not* installed, so I
don't think that's it. I have the above modules installed consistently
at each bootup.

Der Herr Hofrat [der.herr@hofr.at] wrote:
> > I've been experiencing a particular kind of hang for many versions
> > (since 2.3.99 days, recently seen with 2.4.1, 2.4.2, and 2.4.2-ac4) on
> > the alpha architecture. The symptom is that any program that tries to
> > access the process table will hang. (ps, w, top) The hang will go away
> > by itself after ~10minutes - 1 hour or so. When it hangs I run ps and
> > see that it gets halfway through the process list and hangs. The
> > process that comes next in the list (after hang goes away) almost always
> > has nonsensical memory numbers, like multi-gigabyte SIZE.
> >
> >
> I know this effect independant of the platform when you have a proc entry that
> is not corectly unregistered.
>
> (the code only compiles for 2.2.X, for 2.4.X you need to change
> the proc struct.)
>
> ---snip---
> #include <linux/kernel.h>
> #include <linux/module.h>
> #include <linux/proc_fs.h>
>
> #define BUF_LEN 1024
> struct proc_dir_entry prockill_proc_file={
> 0,
> 0,
> "prockill",
> S_IFREG|S_IRUGO,
> 1,
> 0,
> 0,
> BUF_LEN,
> NULL,
> NULL,
> NULL,
> };
>
> int init_module(void) {
> printk("prockill.o registering proc entry\n");
> return proc_register(&proc_root,&prockill_proc_file);
> }
>
> void cleanup_module(void) {
> printk("prockill.o fogets to unregister proc entry\n");
> }
> ---snip---
> compile this as kernel module
>
> insmod proc_kill.o
> rmmod proc_kill
>
> and the system will run without error until you do something like
>
> ls /proc/<TAB><TAB> or
> ls -R /proc
>
> after this the system will drop dead for minutes to hours or even for good....
>
>
> any chance you have a faulty module ??
>
>
> hofrat
-- Bob

Bob McElrath (rsmcelrath@students.wisc.edu)
Univ. of Wisconsin at Madison, Department of Physics

[-- Attachment #2: Type: application/pgp-signature, Size: 240 bytes --]