[plt-scheme] Re: eq and hashing

From: Zbyszek Jurkiewicz (zbyszek at duch.mimuw.edu.pl)
Date: Mon Jun 2 13:23:57 EDT 2003

On Fri, 30 May 2003, Jerzy Karczmarczuk wrote:

> >>On Thu, 29 May 2003, Matthew Flatt wrote:
> >>
> >>... we cannot protect against malicious programs, otherwise the
> >>programming language would become too weak to be useful in practice.
> > 
> > 
> > To be clear, I have in mind the kind of protection that Unix provides
> > against malicious processes. ...
> >>It is not hard to write a simple program
> >>which tries to allocate infinite list, practically blocking other
> >>processes.
> > 
> > 
> > That is a problem in the default configuration of PLT Scheme. But if
> > you configure with --enable-account when building from source, then
> > it's possible to thwart such attacks using `custodian-limit-memory'.
> I have a philosophical question, Gentlemen.
> Why do you call such programs "malicious"?
> For me they are simply stupid. In the worst case. Typically they are
> erroneous programs. Now, can any system or language processor protect
> itself agains errors?...
> Of course the *resource* protection is necessary in all cases, including
> coorect programs, but this is a job for Civil Lawyers and Commerce Chambers,
> not for the Crime Prevention Departments...

Generally I agree with you.  I do not like to fight against such
programs.  But...  we have laboratory in concurrent programming
on Linux.  Students learn to use IPC mechanisms like semaphores,
messages etc.  When a program crashes, all open files are closed.
But IPC mechanism should also be deleted and they are not.  They
stay in /tmp until their number reaches the limit.

We cannot blame students for crashing programs --- they learn so 
we cannot call them "stupid" and we LEARNED to clean /tmp often.
But someone could consciously exploit this for perverse fun.
Then I would call such a program "malicious"  --- just the question
of intentions.

OK, I am afraid philosophy is not my good side, but that's the idea.

Zbyszek Jurkiewicz

Posted on the users mailing list.