Path: utzoo!attcan!utgpu!watserv1!watcgl!idallen From: idallen@watcgl.waterloo.edu (Ian! D. Allen [CGL]) Newsgroups: comp.unix.ultrix Subject: Ultrix 3.1C /bin/csh looping to memory limit Message-ID: <1990Sep23.211812.1479@watcgl.waterloo.edu> Date: 23 Sep 90 21:18:12 GMT Sender: idallen@watcgl.waterloo.edu (Ian! D. Allen [CGL]) Organization: University of Waterloo Lines: 53 Could someone with a DECsystem running Ultrix 4.0 try this for me? This is what happens on my DECsystem 5400 running Ultrix 3.1C. % /bin/csh -f # don't do this to your login shell % cat >/tmp/foo echo before echo $nosuchvar ^D % limit data 2m # for safety! % source /tmp/foo before nosuchvar: Undefined variable data size rlimit exceeded, pid 259, proc csh Out of memory. "^D" is your EOF character. This bug is much more exciting when you have your datasize limit up around 90Mb. The dying shell throws everyone else out of memory before it eeks out a horrible death. Grinds the system to a halt for a minute or two. This does it too: % cat >/tmp/foo echo before echo "$<" ^D % limit data 2m # for safety! % source /tmp/foo before ^C data size rlimit exceeded, pid 226, proc csh Out of memory. "^C" is your interrupt character. You'll have to push after your interrupt character, since C Shells incorrectly hold interrupts when reading from $<. In fact, anything that causes CSH to start error recovery in a sourced file will trigger a loop that will eat all the memory on your machine. If you prefer pure CPU loops, just do this: % limit cpu 5 % source /dev/tty % echo nosuchfile* echo: No match. That shell will loop until it dies exceeding the CPU limit. Is this fixed in DEC MIPS Ultrix 4.0? -- -IAN! (Ian! D. Allen) idallen@watcgl.uwaterloo.ca idallen@watcgl.waterloo.edu [129.97.128.64] Computer Graphics Lab/University of Waterloo/Ontario/Canada