<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
After building and using dbus 1.4.14 on Ubuntu 64-bit, so far no
segmentation faults have occurred (trying hard for quite some time
now), so definitely the fixes in this version of dbus are a *big*
improvement!<br>
<br>
However, I could evoke a:<br>
<blockquote>process 28118: arguments to dbus_connection_ref() were
incorrect, assertion "connection-&gt;generation ==
_dbus_current_generation" failed in file dbus-connection.c line 2629.<br>
This is normally a bug in some application using the D-Bus library.<br>
&nbsp; D-Bus not built with -rdynamic so unable to print a backtrace<br>
Aborted<br>
</blockquote>
After rebuilding 1.4.14 with the "-rdynamic" switch the above message
has not occurred anymore.<br>
<br>
---<br>
<br>
Ad still missing "Disconnected" signal.<br>
<br>
Still, the "Disconnected" signal are not emanated, if a client
connection goes away, this problem is still open. Maybe it is also
linked to the connection-related problems above (and below from an
earlier e-mail)?<br>
<br>
Currently, the language binding's debug code dumps all signals received
on all client connections, but the "Discarded" signal is not received
by any of them. Is it possible that I am looking at the wrong place for
this signal?<br>
<br>
---<br>
<br>
Is there a function in dbus that would allow to test whether a
connection is operational (or stalled) ? <br>
<br>
If not, shall I file a bug?<br>
<br>
---rony <br>
<br>
<br>
<br>
On 12.08.2011 11:33, rony wrote:
<blockquote cite="mid:4E44F361.9090905@wu.ac.at" type="cite">
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
Just a small intermediate update.<br>
  <br>
On 10.08.2011 13:19, rony wrote:
  <blockquote cite="mid:4E426935.2060802@wu.ac.at" type="cite">
    <pre wrap="">On 10.08.2011 11:42, Simon McVittie wrote:
  </pre>
    <blockquote type="cite">
      <pre wrap="">On Wed, 10 Aug 2011 at 11:31:49 +0200, rony wrote:
  
    </pre>
      <blockquote type="cite">
        <pre wrap="">The current implementation employs "dbus_server_set_watch_functions()",
but not "dbus_set_timeout_functions()", because there seems to be no
need for it.
    
      </pre>
      </blockquote>
      <pre wrap="">Well, that's something you're doing that most users of libdbus don't, so...
Try implementing both, and if bugs still occur, *then* start debugging.

(For instance, it's not impossible that deferred events are set up by adding
a "timeout after 0 seconds", either now or in the future.)
  
    </pre>
    </blockquote>
    <pre wrap="">Oh, I see! Will do.
  </pre>
  </blockquote>
Adding the timeout functions did not change anything (they do not get
invoked). <br>
  <br>
So intermittently program crashes occur (when re-running the client
program repeatedly in the same process) with the private server, and
there are no "Disconnected" signals when the process that established a
private connection to the private server ends. <br>
  <blockquote>At one point, before a segmentation dump, the server
process showed the dbus output: "process 11392: The last reference on a
connection was dropped without closing the connection. This is a bug in
an application. See dbus_connection_unref() documentation for details.
Most likely, the application was supposed to call
dbus_connection_close(), since this is a private connection."<br>
The only "dbus_connecnon_unref()" in the binding is immediately
preceeded with "debus_connection_close()". The language binding
function containing these two statements would be invoked either upon
Rexx object destruction (the Rexx proxy for the connection) or if a
"Disconnected" signal was received on that connection.<br>
  </blockquote>
... cut ...<br>
  <br>
  <blockquote cite="mid:4E426935.2060802@wu.ac.at" type="cite">
    <blockquote type="cite">
      <pre wrap="">For thread-safety, ensure that you have the latest D-Bus release from either
the 1.4.x or 1.5.x (master) branch, to fix fd.o #38005; 
    </pre>
    </blockquote>
    <pre wrap="">Will check (have 1.4.6, but that may not be new enough).
  </pre>
  </blockquote>
Found that starting with dbus 1.4.12 this fix is incorporated, so will
have to look how to get that version or newer onto my Ubuntu system
without breaking anything over the weekend. <br>
  <br>
---rony<br>
  <br>
</blockquote>
</body>
</html>