[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiuser problems



On Mon, 25 Oct 1999, Tim Brown wrote:
> Well,  I have looked into the multiuser problem some more.
> No, it did not go away.  If I try to go after the same
> object from 2 different RemoteDatabase connections it
> fails.  Now, my objects are far more complicated than
> Car/Garage objects.  My governor objects refer to races,
> races refer to governors and all use OzoneRemote pointers to
> store these references.  For example one process was logging
> in which rerieves a race object and looks up governor info
> in it.  Simultaneously another process was looking up active
> sessions (lists of governors) and it bombed with
> StreamCorrupted errors.  I don't think there is an easy code
> fragment to try here.  All I know is if I work it so the
> database is single threaded it works.  But as soon as i let
> things happen naturally it dies.  Put another way, every
> single operation I am doing in any object (and I test ALOT)
> works perfectly.  It is only when I try to mutlitask it
> fails.  It fails with UnexpectedError from ozone.  Believe
> me I have fixed lots of errors I have deduced to be mine,
> plenty of them.  I can tell the difference.
> 
> I know from past discussion that this sems to be something I
> alone am experiancing but I must find out why this is
> happening or my game developement is stopped.  
> In a real
> game many players will be accessing the same object at the
> same time very often.

In versions prior to 0.3 there was a bug that causes _exactly_ your
StreamCorrupted errors. The problem was that the methods of RemoteDatabase were
not synchronized and so send/receive from one thread could interfere with
send/receive of another thread, if they use the same RemoteDatabase and so the
same socket. I have fixed this in 0.3. The test code is in
org/ozoneDB/test/multiple_access.

Tim, you get StreamCorrupted errors when you access one server from different
_processes_ (JVMs)??? Sorry for this stupid question, but are you really sure?

Do you get the exception in the client VM or in the server VM?


Falko
-- 
______________________________________________________________________
Falko Braeutigam                         mailto:falko@softwarebuero.de
softwarebuero m&b (SMB)                    http://www.softwarebuero.de