Opened 11 years ago

Last modified 9 years ago

#241 assigned defect

Intermittent phantom session on start-up of new session — at Version 1

Reported by: madmonk Owned by: madmonk
Priority: minor Milestone:
Component: Server Keywords:
Cc:

Description (last modified by Antoine Martin)

I was doing some basic testing of the application in this instance simulating start-up / shut-down of an application session looking for freezes and failures etc. In this particular instance this was done by starting and stopping Firefox several times in a row. I noted that after a while I was accumulating additional unknown sessions that can not be recovered and that are marked as starting on the client but never progress.

Just to note that it seems that the additional phantom session appears when starting a new session rather than being left over from a session which did not terminate correctly.

System Details

Distributor ID: Ubuntu
Description:    Ubuntu 12.04.2 LTS
Release:        12.04
Codename:       precise
3.2.0-51-generic-pae #77-Ubuntu SMP Wed Jul 24 20:40:32 UTC 2013 i686 i686 i386 GNU/Linux
Qt: 4.8.1
KDE Development Platform: 4.8.5 (4.8.5)
KDE Daemon: $Id$
ii  winswitch                   0.12.20-1                   tool to start and control remote sessions
[II] 2013/13/11 22:42:26.504197 applet.<module>() python version 2.7.3 (default, Apr 10 2013, 05:46:21) \n[GCC 4.6.3]
[II] 2013/13/11 22:42:26.504295 applet.<module>() gtk version (2, 24, 10), pygtk version (2, 24, 0)
[II] 2013/13/11 22:42:26.582558 main_loop.loop_init(True) twisted version 11.1.0
[II] 2013/13/11 22:42:26.583285 globals os.uname=('Linux', 'testx', '3.2.0-51-generic-pae', '#77-Ubuntu SMP Wed Jul 24 20:40:32 UTC 2013', 'i686')
[II] 2013/13/11 22:42:26.586679 globals python package info: __version__=0.12.20
[II] 2013/13/11 22:42:26.586869 globals version=0.12.20 (svn revision unknown - unknown local modifications), \
    built on winswitch.org by buildbot, 2013-11-05, release_build=True

Steps to reproduce

  • 1 Start Firefox
  • 2 Browse for a bit e.g. wikipedia, google etc.
  • 3 Stop Firefox
  • 4 Repeat (check Winswitch after step 1 for additional unknown session)

From server after shut-down of a Firefox app session

drwxrwxrwx 2 x x 4096 Nov 13 22:45 100
drwxrwxrwx 2 x x 4096 Nov 13 23:07 104
drwxrwxrwx 2 x x 4096 Nov 13 23:12 109
drwxrwxrwx 2 x x 4096 Nov 13 23:15 110

(Other session are also orphaned / unknown sessions from testing)

From server after start-up of new Firefox app session

drwxrwxrwx 2 x x 4096 Nov 13 22:45 100
drwxrwxrwx 2 x x 4096 Nov 13 23:07 104
drwxrwxrwx 2 x x 4096 Nov 13 23:12 109
drwxrwxrwx 2 x x 4096 Nov 13 23:15 110
drwxrwxrwx 2 x x 4096 Nov 13 23:16 113
drwxrwxrwx 5 x x 4096 Nov 13 23:16 116

Excerpt from client log...

[II] 2013/13/11 23:15:56.764592 XpraClientUtil.ended(<winswitch.util.process_util.SimpleLineProcess instance at 0x99d36ac>) session=ClientSession(:113 - xpra - closed), kill_client=True
[DD] 2013/13/11 23:15:56.764764 SimpleLineProcess.processEnded([Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ProcessDone'>: A process has ended without apparent errors: process finished with exit code 0.\n])
[DD] 2013/13/11 23:16:25.868591 WinSwitchApplet.start_menu_callback(<gtk.ImageMenuItem object at 0x99d95cc (GtkImageMenuItem at 0x967ed00)>,ServerConfig(browser:8796763313898),Command(Firefox Web Browser: firefox --no-remote %u))
[DD] 2013/13/11 23:16:25.871248 WinSwitchApplet.is_modifier_set() modifiers=[]
[II] 2013/13/11 23:16:25.871319 WinSwitchApplet.do_start_session(ServerConfig(browser:8796763313898),Command(Firefox Web Browser: firefox --no-remote %u),xpra,None,None,False)
[II] 2013/13/11 23:16:25.871384 WinSwitchApplet.attention(Starting Firefox Web Browser,None)
[DD] 2013/13/11 23:16:25.871431 AppIndicatorTray.request_attention(Starting Firefox Web Browser,5)
[DD] 2013/13/11 23:16:25.871836 XpraClientUtil.load_options_defaults() nothing to do: the file has not changed
[DD] 2013/13/11 23:16:25.871903 ServerLineConnection.start_session(648fda4c3aba18dc2d6144a8bb2cce86,xpra,None,{'read_only': 'False', 'mmap': 'True', 'keyboard_sync': 'True', 'clipboard': 'True', 'encoding': '""'})
[DD] 2013/13/11 23:16:26.189093 ServerLineConnection.add_session([...]) existing=None, was_pre_connected_here=None, session=ClientSession(:116 - xpra - starting)
[II] 2013/13/11 23:16:26.189269 ServerLink.add_port_forward(None,127.0.0.1,15117) adding new port forward
[II] 2013/13/11 23:16:26.189399 ConchConnection.forward_port(12479,127.0.0.1,15117)
[DD] 2013/13/11 23:16:26.189633 ServerLink.add_port_forward(12479,127.0.0.1,15117) forwarder=(<<class 'twisted.internet.tcp.Port'> of twisted.conch.ssh.forwarding.SSHListenForwardingFactory on 12479>, 12479, '127.0.0.1', 15117)
[DD] 2013/13/11 23:16:27.314688 ServerLineConnection.add_session([...]) existing=None, was_pre_connected_here=None, session=ClientSession(:113 - xpra - starting)
[II] 2013/13/11 23:16:27.314910 ServerLink.add_port_forward(None,127.0.0.1,15119) adding new port forward
[II] 2013/13/11 23:16:27.315073 ConchConnection.forward_port(12480,127.0.0.1,15119)

Change History (2)

Changed 11 years ago by madmonk

Attachment: pip-freeze.log added

pip freeze

comment:1 Changed 11 years ago by Antoine Martin

Description: modified (diff)
Owner: set to madmonk
Status: newassigned

Two things that are likely to cause problems here, especially when combined:

  • Firefox is very problematic because of the way it only allows a single instance at a time - by the time you start it again, it may still be confused about where it should run and try to run in the instance that you are shutting down. We are keeping track of commands that can only be run once and you should get a notification warning (DE permitting) when you try to start a second one. Except... if we are shutting it down or if it is stuck, then you may have more problems.

Not much more we can do about that I don't think...

  • Session pre-loading and pre-connecting: this is what is causing those extra sessions you are seeing. Xpra is so fast to start that it makes little difference to startup time. When this is enabled and working properly - there is no difference to startup time between a local app and a "remotized" app, with it disabled you have to start the xpra server and client for each application - which may take about half a second.

To disable this feature, edit:

.winswitch/server/server.conf

And disable: prelaunch_enabled then restart your server (or applet).
Does this help?

Last edited 11 years ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.