[Bluej-discuss] Terminal Window .. safety belt needed...

Michael Kölling M.Kolling at kent.ac.uk
Tue Apr 4 15:38:05 BST 2006


Hi Gordon,

That seems like a good idea.

I just tried it to see how it behaves on my machine (MacOS X).

I also could not stop the execution from within BlueJ. The problem  
is, I think, that the system spends all its time in the character  
output, which is handled by the screen painter thread, which is also  
needed to get the barber pole's menu up...

I could, however, kill BlueJ through the equivalent of the Task  
Manager without problems.

I agree that BlueJ has a problem there, but I would also argue that  
the fact that Win XP couldn't kill it is a clear Windows problem. No  
application (not even BlueJ) should have the ability to deadlock your  
OS.

But that's another matter.

Now, I could claim that the experience of hanging your computer is a  
valuable learning experience... ("See what you can do with bad  
programming?") .. but of course you are right: a "Do you really want  
to continue" - dialogue after a loooooong output would be a very nice  
thing.

Michael


On 4 Apr 2006, at 14:46, Gordon Royle wrote:

> After this afternoon's student lab, I realize that there is one
> feature I would like for the Terminal Window .. a safety feature...
>
> I am getting my students just to do some routine for-loop tasks such
> as printing out to the terminal window something like
>
> 10 9 8 7 6 5 4 3 2 1
>
> so they can get used to writing i-- instead of i++ and so on.
>
> But of course, they try things like
>
> for (int i=10; i>0; i++) {
>    System.out.print(i);
> }
>
> which in this case (or rather these cases!) led to major system
> meltdown..
>
>
> Not only could I not stop the system with the BlueJ features
> (Terminate Thread or Reset VM) because there was simply no response
> from clicking on the barber's pole, but I couldn't even stop it with
> Task Manager (these particular students had chosen to use Win XP) and
> indeed could not even do Shut Down so ended up having to power-cycle
> the computer. One guy ended up doing it four times, though to be fair
> he is not the sharpest tool in the shed...
>
>
> So, maybe the Terminal Window could come with an optional limit on
> the amount of output from a single method call.... if this limit (say
> 10K characters or something like that) is exceeded then it could
> either just stop trying to display it, or even fancier, pop up a
> dialog and ask the user if they wish to continue or to terminate the
> thread...
>
>
> Cheers
>
> Gordon
> _______________________________________________
> mailing list bluej-discuss at bluej.org
> To unsubscribe or change your preferences, go to
> http://lists.bluej.org/mailman/listinfo/bluej-discuss



More information about the bluej-discuss mailing list