@Jonathan Wakely, sorry for unrelated comment, we have also experienced a number of design and run-time stability issues with dbus-c++. So we built our own C++ implementation, called sdbus-c++, based on systemd's D-Bus implementation, using a few C++17 features, which we have released open source on github. It doesn't cover all D-Bus functionality (yet), but the core is there... In case it would help you...