[DGD] Java or LPC (DGD)?

Tavis Elliott tavise at nwlink.com
Mon Aug 18 02:28:13 CEST 2003


On Mon, 18 Aug 2003 00:40:16 +0200, Albert Deinbeck <albert- 
deinbeck at albert-deinbeck.de> wrote:
>
> I took a quick look and it sounds very promising. Thank you for the hint,
> Tavis!
>

You're welcome.

> This package allows one Java VM to be remote controlled by another and
> influenced
> at a very low level, down to changing bytecode on the fly, on live 
> objects.
> It can also
> suspend and stop threads, set breakpoints etc...
>
> Using this would mean to have two VM running, one running the mud and the
> other
> controlling the first and doing maintenance jobs like class updates etc.
> This could also be a solution to the problem of badly written classes 
> which
> hang up
> and never return. The second vm could notice this and
> - change the class to the last state known to work
> - pop the stack one step up and so simply leave the hung method
> - send an exception to the hung thread
>
> Albert
>

Also note there are some huge security implications with this 
implementation.  For example I believe only Sun's Win32 implementation 
supports a SHM (shared memory) interface for the debugging connection, 
which means any other platform would require a socket connection.  Imagine 
the havoc a disgruntled player could wreak on a mud ...

The controlling "JVM" can be in the SAME JVM as the application being 
controlled ... so if you have any network control you can simply pick a 
port which is blocked by the network and use the loopback interface from 
within the same process to do the controlling.

-Tavis
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list