It is currently unclear which activities will be received, send or executed 
when a user leaves the session. This should be handled more gracefully (e.g 
disable receiving and execution of activities before sending the leave 
message). Furthermore the host has to handle the leave signal different when 
sending it to the other session users to ensure that all activities that were 
received from that user are executed on the remote side of the other users 
before they are notified that the user left the session.


---

** [bugs:#201] Shutdown of communication is too lazy**

**Status:** open
**Labels:** Main 
**Created:** Thu Apr 23, 2009 01:37 PM UTC by Lisa Dohrmann
**Last Updated:** Mon Apr 04, 2011 08:23 AM UTC
**Owner:** nobody

<s>If the host of a session leaves and thus throws all participants out, the 
following exception might occur if AbstractSessionListener.sessionEnded\(\) is 
executed before AbstractSharedProjectListener.userLeft\(\) in the EditorManager 
\(race condition\). In this case the SharedProject is already null when it is 
used in userLeft\(\).

java.lang.NullPointerException
        at 
de.fu\_berlin.inf.dpp.editor.EditorManager$2.userLeft\(EditorManager.java:436\)
        at 
de.fu\_berlin.inf.dpp.project.internal.SharedProject.removeUser\(SharedProject.java:244\)
        at 
de.fu\_berlin.inf.dpp.net.business.LeaveHandler.leaveReceived\(LeaveHandler.java:49\)
        at 
de.fu\_berlin.inf.dpp.net.internal.extensions.LeaveExtension.processMessage\(LeaveExtension.java:33\)
        at 
de.fu\_berlin.inf.dpp.net.internal.extensions.SarosDefaultPacketExtension.processPacket\(SarosDefaultPacketExtension.java:32\)
        at 
de.fu\_berlin.inf.dpp.net.internal.XMPPChatReceiver.processPacket\(XMPPChatReceiver.java:68\)
        at 
de.fu\_berlin.inf.dpp.net.internal.XMPPChatTransmitter$XMPPChatTransmitterPacketListener$1.run\(XMPPChatTransmitter.java:151\)
        at de.fu\_berlin.inf.dpp.util.Util$6.run\(Util.java:357\)
        at java.util.concurrent.Executors$RunnableAdapter.call\(Unknown Source\)
        at java.util.concurrent.FutureTask$Sync.innerRun\(Unknown Source\)
        at java.util.concurrent.FutureTask.run\(Unknown Source\)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask\(Unknown 
Source\)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run\(Unknown Source\)
        at java.lang.Thread.run\(Unknown Source\)</s>


---

Sent from sourceforge.net because [email protected] is subscribed 
to https://sourceforge.net/p/dpp/bugs/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/dpp/admin/bugs/options.  Or, if this is a mailing 
list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Dpp-robot mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dpp-robot

Reply via email to