From: dorphell <dor...@gm...> - 2009-08-19 15:01:30
|
Hello all, I'm having problems getting a dbus-c++ based app, Youki Media Player, to run properly -- and I was hoping someone here would have some ideas of what could be wrong. Specifically, the problem is that the app won't register Introspectable for some reason, when it absolutely should and does on the developer's system (Milosz) with the same exact version of the app and dbus-c++ (we both compiled from the same source package). With the 'echo' example in the dbus-c++ source tree, it works: ---------------- $ export DBUSXX_VERBOSE=1 $ ./echo-server dbus-c++: registering stubs for connection 0xf1ec40 dbus-c++: added watch 0xf207e0 (off) fd=3 flags=2 dbus-c++: added watch 0xf20870 (on) fd=3 flags=1 dbus-c++: :1.31: registering bus name org.freedesktop.DBus.Examples.Echo dbus-c++: added timeout 0xf1f1f0 (on) interval=25000 dbus-c++: removed timeout 0xf1f1f0 dbus-c++: added timeout 0xf1eff0 (on) interval=25000 dbus-c++: removed timeout 0xf1eff0 dbus-c++: :1.31: added match rule destination='org.freedesktop.DBus.Examples.Echo' dbus-c++: adding interface org.freedesktop.DBus.EchoDemo dbus-c++: adding interface org.freedesktop.DBus.Introspectable dbus-c++: Introspectable dbus-c++: registering local object /org/freedesktop/DBus/Examples/Echo dbus-c++: entering dispatcher 0x616bc0 dbus-c++: dispatching on 0xf1ec40 dbus-c++: dispatching on 0xf1ec40 dbus-c++: all dispatching done on 0xf1ec40 ---------------- But when I run the app, for some reason I can't get the Introspectable even though it's in the app code and Milosz is certain there is no problem in Youki's code. I mean... it "just works" for him and the point at which it fails seems too trivial, it's such a basic fundamental constructor call, that we cannot find any way it can be wrong in the application itself... Almost like a hello-world program failing ;-) ---------------- $ /usr/libexec/youki-mlibman-bin ... ... [normal application startup output] ... dbus-c++: registering stubs for connection 0xb58a70 dbus-c++: glib: added watch 0xa21cf0 (off) fd=10 flags=2 dbus-c++: glib: added watch 0xa21d20 (on) fd=10 flags=1 dbus-c++: :1.42: registering bus name info.backtrace.Youki.MLibMan dbus-c++: glib: added timeout 0xa21c10 (on) dbus-c++: glib: removed timeout 0xa21c10 dbus-c++: glib: added timeout 0xa21c10 (on) dbus-c++: glib: removed timeout 0xa21c10 dbus-c++: :1.42: added match rule destination='info.backtrace.Youki.MLibMan' ... ... [more application startup output] ... dbus-c++: dispatching on 0xb58a70 dbus-c++: dispatching on 0xb58a70 dbus-c++: all dispatching done on 0xb58a70 ---------------- ==> No "adding interface org.freedesktop.DBus.Introspectable" We tried running it in gdb as well, trying to break out at the introspection.cpp line in the IntrospectableAdaptor constructor, but it didn't break out, as if it's not being called at all. And as you can see, the dbus session is created. I can see the active info.backtrace.Youki.MLibMan in dbus-browser, but I can't introspec it (i.e. the browser pane shows empty). And the app doesn't crash/exit. It keeps running (though the overall application can't function since the dbus communication with its GUI doesn't work) If you would like to take a look at where in Youki DBus::IntrospectableAdaptor is called, here it is: mlibmanager.hh ==> http://pastebin.ca/1534526 mlibmanager.cc ==> http://pastebin.ca/1534528 We debugged this for many hours trying to narrow it down but have run out of ideas. If anyone has any suggestions, I'm willing to try anything. Thanks in advance, dorphell |
From: Andreas V. <li...@br...> - 2009-08-23 20:32:59
|
Am Wed, 19 Aug 2009 11:01:13 -0400 schrieb dorphell: Hello dorphell, only to be sure. Do you both use the same DBus-C++ from gitorious or fd.org? regards Andreas > > Hello all, > > I'm having problems getting a dbus-c++ based app, Youki Media Player, > to run properly -- and I was hoping someone here would have some > ideas of what could be wrong. > > Specifically, the problem is that the app won't register > Introspectable for some reason, when it absolutely should and does on > the developer's system (Milosz) with the same exact version of the > app and dbus-c++ (we both compiled from the same source package). > > With the 'echo' example in the dbus-c++ source tree, it works: > ---------------- > $ export DBUSXX_VERBOSE=1 > $ ./echo-server > dbus-c++: registering stubs for connection 0xf1ec40 > dbus-c++: added watch 0xf207e0 (off) fd=3 flags=2 > dbus-c++: added watch 0xf20870 (on) fd=3 flags=1 > dbus-c++: :1.31: registering bus name > org.freedesktop.DBus.Examples.Echo dbus-c++: added timeout 0xf1f1f0 > (on) interval=25000 dbus-c++: removed timeout 0xf1f1f0 > dbus-c++: added timeout 0xf1eff0 (on) interval=25000 > dbus-c++: removed timeout 0xf1eff0 > dbus-c++: :1.31: added match rule > destination='org.freedesktop.DBus.Examples.Echo' > dbus-c++: adding interface org.freedesktop.DBus.EchoDemo > dbus-c++: adding interface org.freedesktop.DBus.Introspectable > dbus-c++: Introspectable > dbus-c++: registering local object /org/freedesktop/DBus/Examples/Echo > dbus-c++: entering dispatcher 0x616bc0 > dbus-c++: dispatching on 0xf1ec40 > dbus-c++: dispatching on 0xf1ec40 > dbus-c++: all dispatching done on 0xf1ec40 > ---------------- > > But when I run the app, for some reason I can't get the Introspectable > even though it's in the app code and Milosz is certain there is no > problem in Youki's code. > I mean... it "just works" for him and the point at which it fails > seems too trivial, it's such a basic fundamental constructor call, > that we cannot find any way it can be wrong in the application > itself... Almost like a hello-world program failing ;-) > ---------------- > $ /usr/libexec/youki-mlibman-bin > ... > ... [normal application startup output] > ... > dbus-c++: registering stubs for connection 0xb58a70 > dbus-c++: glib: added watch 0xa21cf0 (off) fd=10 flags=2 > dbus-c++: glib: added watch 0xa21d20 (on) fd=10 flags=1 > dbus-c++: :1.42: registering bus name info.backtrace.Youki.MLibMan > dbus-c++: glib: added timeout 0xa21c10 (on) > dbus-c++: glib: removed timeout 0xa21c10 > dbus-c++: glib: added timeout 0xa21c10 (on) > dbus-c++: glib: removed timeout 0xa21c10 > dbus-c++: :1.42: added match rule > destination='info.backtrace.Youki.MLibMan' > ... > ... [more application startup output] > ... > dbus-c++: dispatching on 0xb58a70 > dbus-c++: dispatching on 0xb58a70 > dbus-c++: all dispatching done on 0xb58a70 > ---------------- > > ==> No "adding interface org.freedesktop.DBus.Introspectable" > > We tried running it in gdb as well, trying to break out at the > introspection.cpp line in the IntrospectableAdaptor constructor, but > it didn't break out, as if it's not being called at all. > > And as you can see, the dbus session is created. I can see the active > info.backtrace.Youki.MLibMan in dbus-browser, but I can't introspec it > (i.e. the browser pane shows empty). > > And the app doesn't crash/exit. It keeps running (though the overall > application can't function since the dbus communication with its GUI > doesn't work) > > If you would like to take a look at where in Youki > DBus::IntrospectableAdaptor is called, here it is: > > mlibmanager.hh ==> http://pastebin.ca/1534526 > mlibmanager.cc ==> http://pastebin.ca/1534528 > > We debugged this for many hours trying to narrow it down but have run > out of ideas. If anyone has any suggestions, I'm willing to try > anything. > > Thanks in advance, > dorphell > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day trial. Simplify your report design, integration and deployment > - and focus on what you do best, core application coding. Discover > what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > dbus-cplusplus-devel mailing list > dbu...@li... > https://lists.sourceforge.net/lists/listinfo/dbus-cplusplus-devel > |
From: dorphell <dor...@gm...> - 2009-08-24 19:58:38
|
Hi Andreas, We both use the same version from freedesktop.org. I tried the same exact version that worked for Milosz as well as the latest/current git clone. Neither worked for me. On Sun, 23 Aug 2009 16:16:50 -0400, Andreas Volz <li...@br...> wrote: > Am Wed, 19 Aug 2009 11:01:13 -0400 schrieb dorphell: > > Hello dorphell, > > only to be sure. Do you both use the same DBus-C++ from gitorious or > fd.org? > > regards > Andreas |
From: Andreas V. <li...@br...> - 2009-08-27 19:35:17
|
Am Sun, 23 Aug 2009 17:35:16 -0400 schrieb dorphell: Hello dorphell, I've also no idea why it's working on one system, but not on the other. Did you try it on a third system? Do you've an easy install package for me that I could try here? regards Andreas > Hi Andreas, > > We both use the same version from freedesktop.org. > I tried the same exact version that worked for Milosz as well as the > latest/current git clone. > Neither worked for me. > > -dorphell > > On Sun, 23 Aug 2009 16:16:50 -0400, Andreas Volz > <li...@br...> wrote: > > > Am Wed, 19 Aug 2009 11:01:13 -0400 schrieb dorphell: > > > > Hello dorphell, > > > > only to be sure. Do you both use the same DBus-C++ from gitorious or > > fd.org? > > > > regards > > Andreas > |