[MUD-Dev] Re: Missing the point: OpenMUD, Gamora, Casbah, etc.
Bruce
Bruce
Tue Oct 27 20:25:55 CET 1998
On Tuesday, October 27, 1998, Chris Gray wrote:
>[Bruce Mitchener, Jr.:]
>
> >for x in [1 .. 100000000000000] {
> > /* don't run out of ticks */
> > refresh();
> > y += "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
> >}
>
>Just me being contentious again, but why not just impose an arbitrary
>time limit on *any* total execution event (not overideable by anyone
>except the top administrator), and/or put a hard limit on the total
>length of a string?
>
>Why have 'refresh()' (which appears to renew the execution time limit)?
>If the core system needs it, make it only usable inside code that has
>core system authority.
Someone else responded with something similar in private email. I now
suspect that I was unclear in what I meant. :(
The problem isn't execution time. The problem is that 'y' will soon be very
large and handling out-of-memory situations is difficult. Right now, if
Genesis runs out of memory, it shuts down. This is obviously non-optimal.
This isn't an issue of imposing a maximum size on a data stored by a
variable, since someone could just create lots of variables. That continues
on up to task-groups. I'm trying to find a nice way to handle
resource-accounting where as little of it is in the driver as possible, but
is still extensible by the DB code. Even with this, there are problems. If
quota-tracking (how many bytes of objects a user may have), then one could
bloat up some objects and bring them into memory to trigger an out-of-memory
condition.
This greatly affects the security of a system that allows for free-user
programming. As far as I know, MOO has this problem as well. I don't know
about Muq, DGD, or MudOS.
Am I just missing something obvious?
- Bruce
More information about the mud-dev-archive
mailing list