MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: DB crasher
On Tue, 23 Apr 1996, Judy Anderson wrote:
> Another solution to the queued task problem is to only limit those who
> are causing a problem. On LambdaMOO prior to 1.7.9, we had a task
> similar to the clock, except that it didn't kill tasks. It notified
> all connected wizards whenever any person had more than 100 tasks.
> This permitted us to take action before a forkbomb had many iterations
> to build up tasks. (Again taking advantage of LambdaMOO lag---the
>
Just keep in mind that, unless you've hacked your $no_one:eval to do
something special, programmers can usually also forkbomb with $no_one's
perms. So if you're going to only set a task limit on people who have
forkbombed before, remember to also set a limit on $no_one. Also, if you
know that your MOO normally has 20 tasks running, and your system crashes at
500 (just made that number up, I'm not sure of the average #), don't set
everyone's task quota to 450 and assume that'll save it, because most people
can create another 450 with $no_one's perms.
And yes, it is usually possible to create a forked task owned by $no_one
even if your $no_one:eval checks for suspend() and fork()s. Unless you've
also disabled add_verb(), people can @chmod an object writable and create a
verb owned by $no_one that can suspend or fork. Not to mention things like:
;$no_one:eval(";return call_function(player.foo, 0);");
When player.foo is set to "suspend".
--Dark_Owl
References:
- DB crasher
- From: Judy Anderson <yduj@cs.stanford.edu>
Home |
Subject Index |
Thread Index