[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: A 2.4.[57] kernel crypto problem



On Mon, Jan 07, 2002 at 07:59:35AM -0500, Anthony DeRobertis wrote:
> 
> On Sunday, January 6, 2002, at 04:00 , Pavel Minev Penev wrote:
> 
> >There are about 3304 proceses with sequential PIDs and names of
> >"[loop7 <defunct>]", and are all zombies.
> 
> Are you calling fork in your code? Are you calling waitpid or friends?

No fork/clone/waitpid/pthread*/exec/etc. I don't need these. As I have
shown on the scheme I simply generate a password, configure a loop
device, read the ext2/ext3 super-block from it and test it for the
ext2/ext3 magic ID. The functions used are: open (), close (), ioctl (),
read (), malloc (), free (), printf (), fprintf ().

> Who's children are those? (try ps fxa)

`lo_bruteforce` under X, canceled before a hang-up:

$ ps fxa
[snip]
 3427 ?        S      0:03 konsole %i %m
  3428 pts/6    S      0:00  \_ /bin/bash
   3443 pts/6    S      0:00      \_ -su
   13060 pts/6    R      0:01          \_ ./lo_bruteforce testdev /dev/loop7 /var/tmp/lo_bruteforce.sess
   13061 ?        Z<     0:00              \_ [loop7 <defunct>]
   13062 ?        Z<     0:00              \_ [loop7 <defunct>]
   13063 ?        Z<     0:00              \_ [loop7 <defunct>]
   13064 ?        Z<     0:00              \_ [loop7 <defunct>]
   13065 ?        Z<     0:00              \_ [loop7 <defunct>]
   13066 ?        Z<     0:00              \_ [loop7 <defunct>]
   13067 ?        Z<     0:00              \_ [loop7 <defunct>]
   13068 ?        Z<     0:00              \_ [loop7 <defunct>]
   13069 ?        Z<     0:00              \_ [loop7 <defunct>]
   13070 ?        Z<     0:00              \_ [loop7 <defunct>]
   13071 ?        Z<     0:00              \_ [loop7 <defunct>]
   13072 ?        Z<     0:00              \_ [loop7 <defunct>]
   13073 ?        Z<     0:00              \_ [loop7 <defunct>]
   13074 ?        Z<     0:00              \_ [loop7 <defunct>]
   13075 ?        Z<     0:00              \_ [loop7 <defunct>]
   13076 ?        Z<     0:00              \_ [loop7 <defunct>]
   13077 ?        Z<     0:00              \_ [loop7 <defunct>]
   13078 ?        Z<     0:00              \_ [loop7 <defunct>]
   13079 ?        Z<     0:00              \_ [loop7 <defunct>]
   13080 ?        Z<     0:00              \_ [loop7 <defunct>]
   13081 ?        Z<     0:00              \_ [loop7 <defunct>]
   13082 ?        Z<     0:00              \_ [loop7 <defunct>]
   13083 ?        Z<     0:00              \_ [loop7 <defunct>]
   13084 ?        Z<     0:00              \_ [loop7 <defunct>]
   13085 ?        Z<     0:00              \_ [loop7 <defunct>]
   13086 ?        Z<     0:00              \_ [loop7 <defunct>]
   13087 ?        Z<     0:00              \_ [loop7 <defunct>]
   13088 ?        Z<     0:00              \_ [loop7 <defunct>]
   13089 ?        Z<     0:00              \_ [loop7 <defunct>]
   13090 ?        Z<     0:00              \_ [loop7 <defunct>]
   13091 ?        Z<     0:00              \_ [loop7 <defunct>]
   13092 ?        Z<     0:00              \_ [loop7 <defunct>]
   13093 ?        Z<     0:00              \_ [loop7 <defunct>]
   13094 ?        Z<     0:00              \_ [loop7 <defunct>]
   13095 ?        Z<     0:00              \_ [loop7 <defunct>]
   13096 ?        Z<     0:00              \_ [loop7 <defunct>]
   13097 ?        Z<     0:00              \_ [loop7 <defunct>]
   13098 ?        Z<     0:00              \_ [loop7 <defunct>]
   13099 ?        Z<     0:00              \_ [loop7 <defunct>]
   13100 ?        Z<     0:00              \_ [loop7 <defunct>]
   13101 ?        Z<     0:00              \_ [loop7 <defunct>]
   13102 ?        Z<     0:00              \_ [loop7 <defunct>]
   13103 ?        Z<     0:00              \_ [loop7 <defunct>]
   13104 ?        Z<     0:00              \_ [loop7 <defunct>]
   13105 ?        Z<     0:00              \_ [loop7 <defunct>]
   13106 ?        Z<     0:00              \_ [loop7 <defunct>]
   13107 ?        Z<     0:00              \_ [loop7 <defunct>]
   13108 ?        Z<     0:00              \_ [loop7 <defunct>]
   13109 ?        Z<     0:00              \_ [loop7 <defunct>]
   13110 ?        Z<     0:00              \_ [loop7 <defunct>]
   13111 ?        Z<     0:00              \_ [loop7 <defunct>]
   13112 ?        Z<     0:00              \_ [loop7 <defunct>]
   13113 ?        Z<     0:00              \_ [loop7 <defunct>]
   13114 ?        Z<     0:00              \_ [loop7 <defunct>]
   13115 ?        Z<     0:00              \_ [loop7 <defunct>]
   13116 ?        Z<     0:00              \_ [loop7 <defunct>]
   13117 ?        Z<     0:00              \_ [loop7 <defunct>]
   13118 ?        Z<     0:00              \_ [loop7 <defunct>]
   13119 ?        Z<     0:00              \_ [loop7 <defunct>]
   13120 ?        Z<     0:00              \_ [loop7 <defunct>]
   13121 ?        Z<     0:00              \_ [loop7 <defunct>]
   13122 ?        Z<     0:00              \_ [loop7 <defunct>]
   13123 ?        Z<     0:00              \_ [loop7 <defunct>]
   13124 ?        Z<     0:00              \_ [loop7 <defunct>]
   13125 ?        Z<     0:00              \_ [loop7 <defunct>]
   13126 ?        Z<     0:00              \_ [loop7 <defunct>]
   13127 ?        Z<     0:00              \_ [loop7 <defunct>]
   13128 ?        Z<     0:00              \_ [loop7 <defunct>]
   13129 ?        Z<     0:00              \_ [loop7 <defunct>]
   13130 ?        Z<     0:00              \_ [loop7 <defunct>]
   13131 ?        Z<     0:00              \_ [loop7 <defunct>]
   13132 ?        Z<     0:00              \_ [loop7 <defunct>]
   13133 ?        Z<     0:00              \_ [loop7 <defunct>]
   13134 ?        Z<     0:00              \_ [loop7 <defunct>]
   13135 ?        Z<     0:00              \_ [loop7 <defunct>]
   13136 ?        Z<     0:00              \_ [loop7 <defunct>]
   13137 ?        Z<     0:00              \_ [loop7 <defunct>]
   13138 ?        Z<     0:00              \_ [loop7 <defunct>]
   13139 ?        Z<     0:00              \_ [loop7 <defunct>]
   13140 ?        Z<     0:00              \_ [loop7 <defunct>]
   13141 ?        Z<     0:00              \_ [loop7 <defunct>]
   13142 ?        Z<     0:00              \_ [loop7 <defunct>]
   13144 ?        Z<     0:00              \_ [loop7 <defunct>]
   13145 ?        Z<     0:00              \_ [loop7 <defunct>]
   13146 ?        Z<     0:00              \_ [loop7 <defunct>]
   13147 ?        Z<     0:00              \_ [loop7 <defunct>]
   13148 pts/6    R      0:00              \_ ./lo_bruteforce testdev /dev/loop7 /var/tmp/lo_bruteforce.sess
[snip]

I don't know why process 13148 looks like the initial 13060. I guess the
hang-up is due to the kernel's inability to terminate all those
zombies, since it lacks the resources. When it hangs up the above
`ps fxa` picture appears, with only the last child
(`./lo_bruteforce testdev /dev/loop7 /var/tmp/lo_bruteforce.sess`)
missing. In addition my free RAM is 5396kB. I forgot mention before that
syslog has nothing on this issue. Also under X it seems that the
brute-forcer needs more time before it hangs up.
"/proc/sys/kernel/threads-max" contains "6655".

Thanks for the help,
-- 
Pav



Reply to: