GNOME Bugzilla – Bug 263699
Multiple Evolution displays don't work over ssh X tunnel
Last modified: 2013-09-10 14:04:09 UTC
Evolution-1.4 works fine if started in an ssh session, with X forwarding over an ssh tunnel. However, I can't get Evolution-1.5.93 to work. I tested starting multiple Evolution shells on the local terminal -- fine. I had a shell open on the local terminal, and tried starting a second shell on the remote terminal via ssh -- it didn't come all the way up. All I see in the folder list in the lefthand pane is "Vfolders" then "Unmatched"; I see no Inbox, Sent, Outbox etc., and the righthand panes are blank. The actual window and contents came up within about 5 seconds, so there weren't major latency or bandwidth issues. However, after displaying the initial contents, the UI freezes, and you can't even open menus from the menubar. Waiting several minutes does not bring up the rest of the UI. The terminal gave no output: $ evolution I thought that I might have to shut down Evolution on the local terminal, which I did using evolution --force-shutdown. I then reran evolution from the remote terminal. The shell froze at the same place. The terminal said: $ evolution asked to activate component_id `OAFIID:GNOME_Evolution_Addressbook_Component:1.5' asked to activate component_id `OAFIID:GNOME_Evolution_Addressbook_Component:1.5' I shut it down again and tried restarting it. This time I got the following messages in the remote terminal, which I hadn't previously: $ evolution asked to activate component_id `OAFIID:GNOME_Evolution_Addressbook_Component:1.5' (evolution:7093): camel-WARNING **: Invalid root: '/home/lukeh/.evolution/mail/local/Outbox.ibex.index' (evolution:7093): camel-WARNING **: version: TEXT.000 (TEXT.000) (evolution:7093): camel-WARNING **: block size: 1024 (1024) OK (evolution:7093): camel-WARNING **: free: 0 (0 add size < 1024) OK (evolution:7093): camel-WARNING **: last: 6144 (6144 and size: 1024) BAD (evolution:7093): camel-WARNING **: flags: unSYNC asked to activate component_id `OAFIID:GNOME_Evolution_Addressbook_Component:1.5' (I hope that my Outbox didn't just get corrupted!) Subsequent runs are identical to the last run above. How do I get Evolution-1.5.9x running over an ssh connection? It seems to me that this is a bug, since I used to run Evolution-1.2.x and 1.4.x remotely in exactly the same way. Thanks...
Are you sure everything is installed properly and you aren't running 1.5.93 under the same user in a different display already? I do X forwarding for all my development work with no issue.
In the bug description, I described three situations -- in the first, I started multiple sessions on the local terminal, without problems. In the second, I was running Evolution on the local terminal, and started a second session from the remote terminal using X forwarding. In the third, I forced shutdown of the local version, precisely because I figured that having a copy running on the local machine could be causing a problem. However, even after --force-shutdown, I could not run a session purely on the remote terminal using X forwarding.
Hmm, can you get a trace of evolution running over ssh?
Created attachment 44122 [details] Here is a trace of evolution (strace evolution &> ev.strace). It is gzipped.
Interestingly, wrapping evolution with strace made it so that no window came up at all.
Created attachment 44123 [details] strace of e-d-s (gzipped)
this has never worked.
Multiple DISPLAYs have never worked, but remote run after --force-shutdown should still work.
How big a job would it be to get multiple DISPLAYs working, particularly now that e-d-s exists?
Don't know, I think bonobo has some support for this.
*** bug 205929 has been marked as a duplicate of this bug. ***
assuming that nobody has worked on this (hehe), punting target milestone from 2.1 to 2.5, sorry. :-/
I have some additional information... Evolution Mail doesn't work over NX (FreeNX) remote display either, although the other components (Mail, Calendar, Contacts) seem to mostly work (with the occasional crash). Mail opens and fully displays, then crashes. The output on the terminal is as follows. See my comments in <<...>>: -------- [luke@oasis ~]$ evolution --force-shutdown Shutting down evolution-data-server-1.2 (Evolution Calendar file and webcal backend / Evolution Addressbook file backend) Shutting down evolution-alarm-notify (Evolution Calendar alarm notification service) [luke@oasis ~]$ evolution -c mail es menu class init adding hook target 'source' Failed to connect to the D-BUS daemon: Unable to determine the address of the message bus 9069: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 4478. This is normally a bug in some application using the D-BUS library. 9069: arguments to dbus_connection_set_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 4442. This is normally a bug in some application using the D-BUS library. ** ERROR **: Not enough memory to set up DBusConnection for use with GLib aborting... <<CRASH! -- see backtrace below>> <<After Bug-Buddy exits:>> aborting... Variable "msg" is not available. Variable "msg" is not available. Variable "msg" is not available. Variable "message" is not available. [luke@oasis ~]$ evolution --force-shutdown Shutting down evolution-data-server-1.2 (Evolution Calendar file and webcal backend / Evolution Addressbook file backend) Shutting down evolution-alarm-notify (Evolution Calendar alarm notification service) [luke@oasis ~]$ evolution -c calendar es menu class init adding hook target 'source' calendar-gui-Message: ********* the state is 2 calendar-gui-Message: ********* the state is 2 calendar-gui-Message: ********* the state in ok is 3 calendar-gui-Message: ********* the state in ok is 3 calendar-gui-Message: ********* the state in ok is 3 calendar-gui-Message: ********* the state in ok is 3 <<Everything apparently works fine; I then close the Calendar Window>> (evolution:9219): GLib-CRITICAL **: g_hash_table_foreach: assertion `hash_table != NULL' failed (evolution:9219): GLib-CRITICAL **: g_hash_table_destroy: assertion `hash_table != NULL' failed (evolution:9219): GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed [luke@oasis ~]$ -------- Here's a backtrace of the crash labeled "<CRASH! -- see backtrace below>". Bug-Buddy seems to clip the backtrace partway through: -------- Backtrace was generated from '/usr/bin/evolution' Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1209121088 (LWP 9069)] [New Thread -1232868432 (LWP 9095)] [New Thread -1222378576 (LWP 9094)] [New Thread -1211503696 (LWP 9074)] 0x00bee402 in ?? ()
+ Trace 60988
Thread 1 (Thread -1209121088 (LWP 9069))
--------------------- Since this is not just a problem with remote access over SSH but also with NX, perhaps this raises the priority slightly?? :) [Currently the only way I can access Evolution on my primary machine is over SSH or NX, because my monitor was stolen recently :( So I can't use Evolution Mail at all!] I can only assume VNC etc. would also be affected? Also, this is not just a problem with multiple displays as suggested in the comments, just with remote displays. Given that the other components work (mostly) fine, I'm guessing that this is something that could be fixed in Mail, hopefully without too much work, although I have no DBus experience so I don't know that I can go looking for the cause very easily. Thanks!
Hmm, I'm guessing the "connection=0x0" and "bus = (DBusConnection *) 0x0" parts are bad... Probably related to the messages on the terminal of: Failed to connect to the D-BUS daemon: Unable to determine the address of the message bus 9979: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 4478. This is normally a bug in some application using the D-BUS library. ** ERROR **: Not enough memory to set up DBusConnection for use with GLib aborting...
OK, sorry, the D-BUS stuff is for an unrelated bug. It goes away after turning off the D-BUS notification stuff. I'm going to copy those comments into a new bug. This bug is really about Evolution's inability to run on more than one display concurrently. See also the dup. The current behavior is that a second window opens on the first display if Evo is started from the second display, as opposed to parts of Evolution trying to open on two different displays, as it appears happened with Evo 1.5.9x. This is better than it used to be, although it's still impossible to have two windows on one display.
Added bug 307639 for the D-BUS error, in case anyone is interested.
221098 seems to be the main bug about multiple display stuff *** This bug has been marked as a duplicate of 221098 ***