Packaging and CI updates

43 views
Skip to first unread message

Robert Middleton

unread,
Jan 8, 2017, 2:22:53 PM1/8/17
to Dbus-cxx
I have just updated the Debian packaging for dbus-cxx to bring it more into line with modern packaging.

This is to easily support some continuous integration through Jenkins.  You can see the status of the builds here: http://jenkins.rm5248.com/job/dbus-cxx/

Debian packages are built for both amd64 and armhf; if there are other versions that would be useful I can easily add those to be built.

I also added in FileDescriptor passing, but it needs some testing.

-Robert Middleton

Nick Burkitt

unread,
Jan 11, 2017, 8:27:37 PM1/11/17
to Robert Middleton, Dbus-cxx
Hi Robert.

Sorry to leave you hanging for so long. I've got a release date coming up in the next few weeks, so I'm not making any changes that aren't absolutely necessary. Once I'm past that, I have a long list of deferred items to get started on, including getting the dbus stuff nailed down. Hopefully we can figure out what's going wrong. It has to be unbreakable - it's going to be expected to run unattended for months at a time. I'll let you know when I've come up for air. :-)
Thanks,

-Nick


-Nick


--
You received this message because you are subscribed to the Google Groups "Dbus-cxx" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbus-cxx+unsubscribe@googlegroups.com.
To post to this group, send email to dbus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dbus-cxx/CAKpcJVYRGeKpXHxjbnpJaz03W4apVe5ps7Jj5azkrxUUKKXCHg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Nick Burkitt

unread,
Mar 15, 2017, 2:46:55 PM3/15/17
to Robert Middleton, Dbus-cxx
Hi Robert.

I finally got around to looking at dbus-cxx again. I simplified the DBus::Dispatcher class a bit by using a blocking queue class I wrote a while ago. I found that the original dispatcher code wasn't checking the revents error bits returned by poll(), so I added that. I also found that the Watch::handle_read() and ::handle_write() methods accept parameters to indicated whether POLLHUP and/or POLLERR were detected.
The timeout errors are now gone, but more serious problems remain. There are still failures, which are generally preceded by error indications from poll(). I've seen POLLHUP (remote end disconnected) and POLLNVAL (local end disconnected).
But the errors are not entirely consistent. I've spent as much time as I can afford for the moment - if you're able to look at it further, I can send you the changes I've made, and more detail on what I've done and seen.
Thanks,

-Nick


-Nick


On Sun, Jan 8, 2017 at 11:22 AM, Robert Middleton <osfa...@gmail.com> wrote:

--

Robert Middleton

unread,
Mar 15, 2017, 7:19:06 PM3/15/17
to Nick Burkitt, Dbus-cxx
Sure, if you want to send me what you have and what SVN revision your
patch is from, I will take a look at it. I don't have too much time
right now, but if its simple enough it shouldn't be a problem.

I'm also releasing the current HEAD of SVN as 0.8.0 this week, as
there are a few fixes for this and other issues. I started on it
earlier this week but haven't quite finished it yet.

-Robert
>> email to dbus-cxx+u...@googlegroups.com.

Nick Burkitt

unread,
Mar 16, 2017, 12:53:27 PM3/16/17
to Robert Middleton, Dbus-cxx
Hi Robert.

Here's what svn info says:

Repository Root: svn://svn.code.sf.net/p/dbus-cxx/code
Repository UUID: 6008df8a-bab6-470b-9db8-c0eedfea88be
Revision: 227
Last Changed Author: rm5248
Last Changed Rev: 222
Last Changed Date: 2017-01-06 03:07:14 +0000 (Fri, 06 Jan 2017)

I'm attaching a tarball with my changes.

$ tar tvf experimental.gz
-rw-rw-r-- snickerdoodle/snickerdoodle 34429 2017-03-15 23:35 connection.cpp
-rw------- snickerdoodle/snickerdoodle 95239 2017-03-09 19:08 date.h
-rw------- snickerdoodle/snickerdoodle 14853 2017-03-16 00:19 dispatcher.cpp
-rw------- snickerdoodle/snickerdoodle 29881 2017-03-16 00:03 dispatcher.h
-rw------- snickerdoodle/snickerdoodle  9186 2017-03-11 04:11 queue.h
-rw-rw-r-- snickerdoodle/snickerdoodle  3601 2017-03-09 21:36 utility.cpp
-rw-rw-r-- snickerdoodle/snickerdoodle  6997 2017-03-14 20:49 utility.h

dispatcher.cpp/h is mostly new
connection.cpp has some debug logging added
date.h is the Howard Hinnant library, used for timestamping log messages.
queue.h is my queue class
utility.cpp/h has my own debug macros and a Timestamp class.

As I mentioned, the failures are not entirely consistent, but that may be just a timing issue. The last log messages typically are from Connection::on_filter_callback():

19:03:02.262108|2168|on_filter_callback|connection.cpp(974)
19:03:02.262185|2168|on_filter_callback|connection.cpp(982): filter_result: 1
19:03:02.262248|2168|on_filter_callback|connection.cpp(987): SIGNAL_MESSAGE: Disconnected
19:03:02.262312|2181|on_dispatch_status_changed|dispatcher.cpp(472): conn: 0x2470304: DISPATCH_DATA_REMAINS
19:03:02.262392|2168|on_filter_callback|connection.cpp(1028): returing DBUS_HANDLER_RESULT_NOT_YET_HANDLED

That suggests to me that the local file descriptor has been closed, which would seem to be consistent with the other symptoms.

Let me know if you have any questions.
Thanks,



-Nick



>> To post to this group, send email to dbus...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/dbus-cxx/CAKpcJVYRGeKpXHxjbnpJaz03W4apVe5ps7Jj5azkrxUUKKXCHg%40mail.gmail.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>

--
You received this message because you are subscribed to the Google Groups "Dbus-cxx" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbus-cxx+unsubscribe@googlegroups.com.

To post to this group, send email to dbus...@googlegroups.com.
experimental.gz

Nick Burkitt

unread,
Mar 24, 2017, 5:02:02 PM3/24/17
to Dbus-cxx, nebu...@gmail.com
Hi Robert.

Have you had any time to look at this?
Thanks,

-Nick


-Nick



>> To post to this group, send email to dbus...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/dbus-cxx/CAKpcJVYRGeKpXHxjbnpJaz03W4apVe5ps7Jj5azkrxUUKKXCHg%40mail.gmail.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>

--
You received this message because you are subscribed to the Google Groups "Dbus-cxx" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbus-cxx+u...@googlegroups.com.

Robert Middleton

unread,
Mar 24, 2017, 7:28:12 PM3/24/17
to Nick Burkitt, Dbus-cxx, Nick Burkitt
Not yet, I should have some time this weekend though.

-Robert Middleton
> https://groups.google.com/d/msgid/dbus-cxx/43b39140-5194-4063-b2d9-88400043d6f4%40googlegroups.com.

Nick Burkitt

unread,
Mar 24, 2017, 7:49:09 PM3/24/17
to Robert Middleton, Dbus-cxx
Great, thanks.

-Nick


-Nick


Robert Middleton

unread,
Mar 26, 2017, 9:17:28 PM3/26/17
to Nick Burkitt, Dbus-cxx
I took a quick look at it today, it looks like we have solved the
problem in two different ways, but I need to do some testing to try
and figure out if we have solved the same problem or different
problems. I did some testing with current HEAD of SVN, and while I
don't seem to get POLLHUP/POLLNVAL, I do occasionally get a timeout
error. So perhaps something in your code fixes the timeout, whereas
mine fixes the POLLHUP/POLLNVAL?

I'm not quite sure at the moment; I'll have to take a closer look at
it in the coming days.

-Robert Middleton
> --
> You received this message because you are subscribed to the Google Groups
> "Dbus-cxx" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dbus-cxx+u...@googlegroups.com.
> To post to this group, send email to dbus...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dbus-cxx/CABDM0QftuuCniFvqLNN%3D0CasXA6cjdyNfhTfCgpB6hnS4HXpAw%40mail.gmail.com.

Nick Burkitt

unread,
Mar 27, 2017, 12:41:32 PM3/27/17
to Robert Middleton, Dbus-cxx
Hi Robert.

My guess is that the POLLHUP/POLLNVAL issue arises somewhere else in the library. If you're using the head revision (233?), there's no check for POLLHUP or POLLNVAL, unless you added them for this test. Poll() itself still returns 0 - it's the error bits in revents that indicate the problem.

-Nick


-Nick



>> > To post to this group, send email to dbus...@googlegroups.com.
>> > To view this discussion on the web visit
>> >
>> > https://groups.google.com/d/msgid/dbus-cxx/43b39140-5194-4063-b2d9-88400043d6f4%40googlegroups.com.
>> >
>> > For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Dbus-cxx" group.
> To unsubscribe from this group and stop receiving emails from it, send an

> To post to this group, send email to dbus...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dbus-cxx/CABDM0QftuuCniFvqLNN%3D0CasXA6cjdyNfhTfCgpB6hnS4HXpAw%40mail.gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Dbus-cxx" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbus-cxx+unsubscribe@googlegroups.com.

To post to this group, send email to dbus...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages