After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 307639 - DBUS notification fails when running on remote display
DBUS notification fails when running on remote display
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.2.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 344662 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-06-14 15:39 UTC by Luke Hutchison
Modified: 2013-09-10 14:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Luke Hutchison 2005-06-14 15:39:09 UTC
The Evolution Mail component doesn't work over NX (FreeNX) remote display or SSH
tunnel if "Generate a D-BUS message if new mail arrives" is checked, 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 ?? ()

Thread 1 (Thread -1209121088 (LWP 9069))

  • #0 ??
  • #1 __waitpid_nocancel
    from /lib/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 ??
  • #5 raise
    from /lib/libc.so.6
  • #6 abort
    from /lib/libc.so.6
  • #7 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #8 g_log
    from /usr/lib/libglib-2.0.so.0
  • #9 dbus_connection_setup_with_g_main
    from /usr/lib/libdbus-glib-1.so.1
  • #10 send_dbus_message
    at new-mail-notify.c line 107


---------------------


I can only assume VNC etc. would also be affected?

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...
Comment 1 Not Zed 2005-08-05 07:52:28 UTC
duplicate of 274329, or perhaps a bug in dbus outside our scope?
Comment 2 Havoc Pennington 2005-08-05 14:32:16 UTC
It looks like dbus returns a NULL connection due to failure to connect.

There are really two issues:

 1. evolution should handle a NULL connection gracefully instead of imploding
 2. figure out how to get a non-NULL connection in this context; which 
    I would guess means forwarding the DBUS_SESSION_BUS_ADDRESS variable over
    ssh and ensuring the session bus is listening on tcp (theoretically
    already possible/working today). Another option involving new code
    is to set up a helper process that gets/sets the dbus address as an 
    X property on the root window.
Comment 3 vivek jain 2005-08-17 11:31:34 UTC
Must be fixed as a part of #274329 fix. However we are not going to ensure
notification to work over remote connection. Evolution as such should work fine
after the fix.
Comment 4 Elijah Newren 2006-06-12 14:19:17 UTC
*** Bug 344662 has been marked as a duplicate of this bug. ***