[MacPorts] #17950: dbus patched with launchd support and version dump

MacPorts noreply at macports.org
Mon Jan 12 11:54:19 PST 2009


#17950: dbus patched with launchd support and version dump
---------------------------------+------------------------------------------
  Reporter:  jonas.baehr@…       |       Owner:  macports-tickets@…                   
      Type:  enhancement         |      Status:  reopened                             
  Priority:  Normal              |   Milestone:  Port Enhancements                    
 Component:  ports               |     Version:  1.7.0                                
Resolution:                      |    Keywords:  launchd kde4 x11                     
      Port:  dbus                |  
---------------------------------+------------------------------------------

Comment(by jonas.baehr@…):

 Replying to [comment:20 mta@…]:
 > That error is composed of three parts.  The first part ("Could not
 connect to session bus") comes from get_on_d_bus in the file gconfd.c.
 This is in the gconf code that the process spawned by dbus uses to contact
 the dbus that spawned it.  It just calls "dbus_bus_get (DBUS_BUS_SESSION,
 &bus_error)", nothing special.  This message is logged if that call fails,
 i.e., if dbus_error_is_set (&bus_error) is true.
 >
 > The second part ("Could not parse server address") comes from
 _dbus_set_bad_address in dbus-address.c.  This has been called from
 _dbus_transport_open in dbus-transport.c which has been called indirectly
 from dbus_bus_get.  This function produces the third part ("Unknown
 address type (examples of valid types are \"tcp\" and on UNIX \"unix\")")
 if the loop over open_funcs that I mentioned above fails.  The address
 it's trying to parse is the "launchd:..." address quoted in the log
 snippet above.
 >
 > GConf isn't doing anything non-standard, I really think this is a dbus
 bug, or perhaps a configuration problem, although it doesn't feel like
 that.  It looks like there's at least one more place that needs to learn
 about launchd addresses.

 Hmm... dbus-monitor also does simply call dbus_but_get(DBUS_BUS_SESSION,
 &error) and it works... Only difference: It checks the connection, not the
 error, see tools/dbus-monitor.c:
 {{{
   dbus_error_init (&error);
   connection = dbus_bus_get (type, &error);
   if (connection == NULL)
     {
       fprintf (stderr, "Failed to open connection to %s message bus:
 %s\n",
          (type == DBUS_BUS_SYSTEM) ? "system" : "session",
                error.message);
       dbus_error_free (&error);
       exit (1);
     }
 }}}
 I'll investigate that. I have to install gconf first though and currently
 gtk2 makes some trouble (i686-apple-darwin9-gcc-4.0.1:
 /usr/X11/lib/libXdamage.1.1.0.dylib: No such file or directory). Anyway,
 I'll keep you informed about the progress.
 If dbus_bus_get returns a connection ''and'' an error, it's a problem with
 the launchd patch for sure!

-- 
Ticket URL: <http://trac.macports.org/ticket/17950#comment:24>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list