>Submitter-Id: current-users
>Originator: Eugene Grosbein
>Organization: JSC Svyaz-Service
>Confidential: no
>Synopsis: /bin/sh eats memory and CPU infinitely
>Severity: serious
>Priority: medium
>Category: bin
>Class: sw-bug
>Release: FreeBSD 4.8-STABLE i386
>Environment:
System: FreeBSD grosbein.pp.ru 4.8-STABLE FreeBSD 4.8-STABLE #3: Wed Aug 6
21:50:36 KRAST 2003 eu@grosbein.pp.ru:/usr/local/obj/usr/local/src/sys/DADV i386
CPUTYPE=i686 and no other optimizations
>Description:
/bin/sh leaks memory and can eat all CPU cycles when
it become very big.
>How-To-Repeat:
Test script is 15K in size so it comes gzipped
and uuencoded. Yes, it is compressed very well.
begin 644 test.sh.gz
M'XL(`"5H,C\"`^W3P0F#`!``L/]-<2+T*WYUF^*!@FBI%=<O=(B"D.R0MNF>
MR]8=<\0U+VOEYWU6CCGMD3]#]L!-Y$-<$!<0%Q`7Q`7$!<0%<0%Q`7%!7$!<
;0%Q`7!`7^&_<8ZUZ91_3OE5\`=@<)[J\.P``
`
end
Run it and watch how /bin/sh slowly increases
its SIZE, RES, WCPU and CPU values.
This is an exapmle. My real script grows upto 70Mb in size
and eats all of idle Pentium-III 866Mhz cycles, it is
machine-generated and runs 24x7x365. It's twice smaller
than this test case.
Now I have to restart it from time to time.
>Fix:
Unknown for me.
Eugene Grosbein