Re: NM dbus API bug ?

2011-10-06 Thread Jean Parpaillon
Thank you very much for your answer.

It actually solved my issue.


Jean

Le mercredi 05 octobre 2011 à 13:53 -0500, Dan Williams a écrit :
 On Tue, 2011-10-04 at 17:07 +0200, Jean Parpaillon wrote:
  Hi again :)
 
 Your original crash is a dbus-glib bug, which likely was a regression in
 dbus-glib 0.94 and is fixed by:
 
 http://cgit.freedesktop.org/dbus/dbus-glib/commit/?id=3e0828f57c3925ea9b63d22ab82d991a0fea0536
 
 ie it's been fixed in dbus-glib 0.96 and later.
 
  I'm quite confused on using NetworkManager DBUS API on master branch.
  1/ When getting the object with the path returned by
  NetworkManager.GetDevices() method, NM crashes (path is of the
  form: /org/freedesktop/NetworkManager/Devices/0)
 
 That is the correct form of paths.  Device names can change at runtime
 so they are not part of the object path as exposed over D-Bus.
 
  2/ If I get the Device object with path
  like /org/freedesktop/NetworkManager/Devices/eth0, I can get the object
  but Introspectable interface gives me no interface at all on this
  object. Strange...
 
 Right, because that's not actually an object that NetworkManager exports
 over D-Bus, which is why you won't get any introspection information.
 It could be a bug in the Python dbus bindings that you get an object
 here at all, but the Python bits us lazy bindings so they'll only look
 up the introspection information when you need it, which can be later
 than when you create the Interface object.
 
 In the end, the bug is in dbus-glib 0.94 and fixed in 0.96.
 
 Dan
 
  It is WIP ? It is supposed to work right now ?
  I can try to fix it, if someone gives me some hints :)
  
  Regards,
  Jean
  
  Le mardi 04 octobre 2011 à 14:15 +0200, Jean Parpaillon a écrit :
   Hi all,
   I'm using NetworkManager from master branch.
   
   Running the following python code crash NetworkManager:
   
   ###
   import dbus
   import sys
   
   NM_DBUS_SERVICE = org.freedesktop.NetworkManager
   NM_MANAGER_PATH = /org/freedesktop/NetworkManager
   NM_MANAGER_IFACE = org.freedesktop.NetworkManager
   NM_DEVICE_IFACE = org.freedesktop.NetworkManager.Device
   
   bus = dbus.SystemBus()
   
   manager_proxy = bus.get_object(NM_DBUS_SERVICE, NM_MANAGER_PATH)
   manager_iface = dbus.Interface(manager_proxy,
   dbus_interface=NM_MANAGER_IFACE)
   
   for device_path in manager_iface.GetDevices():
   print Device: %s % device_path
   
   device_proxy = bus.get_object(NM_DBUS_SERVICE, device_path)
   
   ###
   
   In a few words, it crashes when I try to get dbus proxy object with a
   path I get from GetDevices() method.
   The crashes produces the following backtrace:
   Oct  4 14:01:17 tiflis NetworkManager[26393]: warn caught signal 11.
   Generating backtrace...
   Oct  4 14:01:17 tiflis NetworkManager[26393]: *** START
   **
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   0: /usr/sbin/NetworkManager (nm_logging_backtrace+0x3b) [0x45e3fb]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   1: /usr/sbin/NetworkManager (0x40+0x4470c1) [0x4470c1]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fbdf74d9000+0x7fbdf74e8020)
   [0x7fbdf74e8020]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   3: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
   +0x7fbdf79469b0) [0x7fbdf79469b0]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   4: /lib/libglib-2.0.so.0 (g_hash_table_foreach+0x43) [0x7fbdf6017bd3]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   5: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
   +0x7fbdf794808c) [0x7fbdf794808c]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   6: /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x7fbdf76f5000+0x7fbdf7713371)
   [0x7fbdf7713371]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   7: /lib/x86_64-linux-gnu/libdbus-1.so.3 (dbus_connection_dispatch+0x380)
   [0x7fbdf7705270]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   8: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
   +0x7fbdf7945675) [0x7fbdf7945675]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   9: /lib/libglib-2.0.so.0 (g_main_context_dispatch+0x1f3)
   [0x7fbdf60284a3]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   10: /lib/libglib-2.0.so.0 (0x7fbdf5fe3000+0x7fbdf6028c80)
   [0x7fbdf6028c80]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   11: /lib/libglib-2.0.so.0 (g_main_loop_run+0x182) [0x7fbdf60292f2]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   12: /usr/sbin/NetworkManager (main+0x1155) [0x4220f5]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd)
   [0x7fbdf57f7ead]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
   14: /usr/sbin/NetworkManager (0x40+0x42224d) [0x42224d]
   Oct  4 14:01:17 tiflis NetworkManager[26393]: *** END
 

Re: NM dbus API bug ?

2011-10-05 Thread Dan Williams
On Tue, 2011-10-04 at 17:07 +0200, Jean Parpaillon wrote:
 Hi again :)

Your original crash is a dbus-glib bug, which likely was a regression in
dbus-glib 0.94 and is fixed by:

http://cgit.freedesktop.org/dbus/dbus-glib/commit/?id=3e0828f57c3925ea9b63d22ab82d991a0fea0536

ie it's been fixed in dbus-glib 0.96 and later.

 I'm quite confused on using NetworkManager DBUS API on master branch.
 1/ When getting the object with the path returned by
 NetworkManager.GetDevices() method, NM crashes (path is of the
 form: /org/freedesktop/NetworkManager/Devices/0)

That is the correct form of paths.  Device names can change at runtime
so they are not part of the object path as exposed over D-Bus.

 2/ If I get the Device object with path
 like /org/freedesktop/NetworkManager/Devices/eth0, I can get the object
 but Introspectable interface gives me no interface at all on this
 object. Strange...

Right, because that's not actually an object that NetworkManager exports
over D-Bus, which is why you won't get any introspection information.
It could be a bug in the Python dbus bindings that you get an object
here at all, but the Python bits us lazy bindings so they'll only look
up the introspection information when you need it, which can be later
than when you create the Interface object.

In the end, the bug is in dbus-glib 0.94 and fixed in 0.96.

Dan

 It is WIP ? It is supposed to work right now ?
 I can try to fix it, if someone gives me some hints :)
 
 Regards,
 Jean
 
 Le mardi 04 octobre 2011 à 14:15 +0200, Jean Parpaillon a écrit :
  Hi all,
  I'm using NetworkManager from master branch.
  
  Running the following python code crash NetworkManager:
  
  ###
  import dbus
  import sys
  
  NM_DBUS_SERVICE = org.freedesktop.NetworkManager
  NM_MANAGER_PATH = /org/freedesktop/NetworkManager
  NM_MANAGER_IFACE = org.freedesktop.NetworkManager
  NM_DEVICE_IFACE = org.freedesktop.NetworkManager.Device
  
  bus = dbus.SystemBus()
  
  manager_proxy = bus.get_object(NM_DBUS_SERVICE, NM_MANAGER_PATH)
  manager_iface = dbus.Interface(manager_proxy,
  dbus_interface=NM_MANAGER_IFACE)
  
  for device_path in manager_iface.GetDevices():
  print Device: %s % device_path
  
  device_proxy = bus.get_object(NM_DBUS_SERVICE, device_path)
  
  ###
  
  In a few words, it crashes when I try to get dbus proxy object with a
  path I get from GetDevices() method.
  The crashes produces the following backtrace:
  Oct  4 14:01:17 tiflis NetworkManager[26393]: warn caught signal 11.
  Generating backtrace...
  Oct  4 14:01:17 tiflis NetworkManager[26393]: *** START
  **
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  0: /usr/sbin/NetworkManager (nm_logging_backtrace+0x3b) [0x45e3fb]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  1: /usr/sbin/NetworkManager (0x40+0x4470c1) [0x4470c1]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fbdf74d9000+0x7fbdf74e8020)
  [0x7fbdf74e8020]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  3: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
  +0x7fbdf79469b0) [0x7fbdf79469b0]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  4: /lib/libglib-2.0.so.0 (g_hash_table_foreach+0x43) [0x7fbdf6017bd3]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  5: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
  +0x7fbdf794808c) [0x7fbdf794808c]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  6: /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x7fbdf76f5000+0x7fbdf7713371)
  [0x7fbdf7713371]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  7: /lib/x86_64-linux-gnu/libdbus-1.so.3 (dbus_connection_dispatch+0x380)
  [0x7fbdf7705270]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  8: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
  +0x7fbdf7945675) [0x7fbdf7945675]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  9: /lib/libglib-2.0.so.0 (g_main_context_dispatch+0x1f3)
  [0x7fbdf60284a3]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  10: /lib/libglib-2.0.so.0 (0x7fbdf5fe3000+0x7fbdf6028c80)
  [0x7fbdf6028c80]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  11: /lib/libglib-2.0.so.0 (g_main_loop_run+0x182) [0x7fbdf60292f2]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  12: /usr/sbin/NetworkManager (main+0x1155) [0x4220f5]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd)
  [0x7fbdf57f7ead]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
  14: /usr/sbin/NetworkManager (0x40+0x42224d) [0x42224d]
  Oct  4 14:01:17 tiflis NetworkManager[26393]: *** END
  **
  
  
  Any clue ?
  
  ___
  networkmanager-list mailing list
  networkmanager-list@gnome.org
  http://mail.gnome.org/mailman/listinfo/networkmanager-list
 
 
 
 

NM dbus API bug ?

2011-10-04 Thread Jean Parpaillon
Hi all,
I'm using NetworkManager from master branch.

Running the following python code crash NetworkManager:

###
import dbus
import sys

NM_DBUS_SERVICE = org.freedesktop.NetworkManager
NM_MANAGER_PATH = /org/freedesktop/NetworkManager
NM_MANAGER_IFACE = org.freedesktop.NetworkManager
NM_DEVICE_IFACE = org.freedesktop.NetworkManager.Device

bus = dbus.SystemBus()

manager_proxy = bus.get_object(NM_DBUS_SERVICE, NM_MANAGER_PATH)
manager_iface = dbus.Interface(manager_proxy,
dbus_interface=NM_MANAGER_IFACE)

for device_path in manager_iface.GetDevices():
print Device: %s % device_path

device_proxy = bus.get_object(NM_DBUS_SERVICE, device_path)

###

In a few words, it crashes when I try to get dbus proxy object with a
path I get from GetDevices() method.
The crashes produces the following backtrace:
Oct  4 14:01:17 tiflis NetworkManager[26393]: warn caught signal 11.
Generating backtrace...
Oct  4 14:01:17 tiflis NetworkManager[26393]: *** START
**
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
0: /usr/sbin/NetworkManager (nm_logging_backtrace+0x3b) [0x45e3fb]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
1: /usr/sbin/NetworkManager (0x40+0x4470c1) [0x4470c1]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fbdf74d9000+0x7fbdf74e8020)
[0x7fbdf74e8020]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
3: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
+0x7fbdf79469b0) [0x7fbdf79469b0]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
4: /lib/libglib-2.0.so.0 (g_hash_table_foreach+0x43) [0x7fbdf6017bd3]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
5: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
+0x7fbdf794808c) [0x7fbdf794808c]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
6: /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x7fbdf76f5000+0x7fbdf7713371)
[0x7fbdf7713371]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
7: /lib/x86_64-linux-gnu/libdbus-1.so.3 (dbus_connection_dispatch+0x380)
[0x7fbdf7705270]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
8: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
+0x7fbdf7945675) [0x7fbdf7945675]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
9: /lib/libglib-2.0.so.0 (g_main_context_dispatch+0x1f3)
[0x7fbdf60284a3]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
10: /lib/libglib-2.0.so.0 (0x7fbdf5fe3000+0x7fbdf6028c80)
[0x7fbdf6028c80]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
11: /lib/libglib-2.0.so.0 (g_main_loop_run+0x182) [0x7fbdf60292f2]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
12: /usr/sbin/NetworkManager (main+0x1155) [0x4220f5]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd)
[0x7fbdf57f7ead]
Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
14: /usr/sbin/NetworkManager (0x40+0x42224d) [0x42224d]
Oct  4 14:01:17 tiflis NetworkManager[26393]: *** END
**


Any clue ?

-- 
Jean Parpaillon
RD Engineer
http://mandriva.com
+33 6 30 10 92 86
xmpp: jean.parpail...@gmail.com


signature.asc
Description: This is a digitally signed message part
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


Re: NM dbus API bug ?

2011-10-04 Thread Jean Parpaillon
Hi again :)

I'm quite confused on using NetworkManager DBUS API on master branch.
1/ When getting the object with the path returned by
NetworkManager.GetDevices() method, NM crashes (path is of the
form: /org/freedesktop/NetworkManager/Devices/0)
2/ If I get the Device object with path
like /org/freedesktop/NetworkManager/Devices/eth0, I can get the object
but Introspectable interface gives me no interface at all on this
object. Strange...

It is WIP ? It is supposed to work right now ?
I can try to fix it, if someone gives me some hints :)

Regards,
Jean

Le mardi 04 octobre 2011 à 14:15 +0200, Jean Parpaillon a écrit :
 Hi all,
 I'm using NetworkManager from master branch.
 
 Running the following python code crash NetworkManager:
 
 ###
 import dbus
 import sys
 
 NM_DBUS_SERVICE = org.freedesktop.NetworkManager
 NM_MANAGER_PATH = /org/freedesktop/NetworkManager
 NM_MANAGER_IFACE = org.freedesktop.NetworkManager
 NM_DEVICE_IFACE = org.freedesktop.NetworkManager.Device
 
 bus = dbus.SystemBus()
 
 manager_proxy = bus.get_object(NM_DBUS_SERVICE, NM_MANAGER_PATH)
 manager_iface = dbus.Interface(manager_proxy,
 dbus_interface=NM_MANAGER_IFACE)
 
 for device_path in manager_iface.GetDevices():
 print Device: %s % device_path
 
 device_proxy = bus.get_object(NM_DBUS_SERVICE, device_path)
 
 ###
 
 In a few words, it crashes when I try to get dbus proxy object with a
 path I get from GetDevices() method.
 The crashes produces the following backtrace:
 Oct  4 14:01:17 tiflis NetworkManager[26393]: warn caught signal 11.
 Generating backtrace...
 Oct  4 14:01:17 tiflis NetworkManager[26393]: *** START
 **
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 0: /usr/sbin/NetworkManager (nm_logging_backtrace+0x3b) [0x45e3fb]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 1: /usr/sbin/NetworkManager (0x40+0x4470c1) [0x4470c1]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fbdf74d9000+0x7fbdf74e8020)
 [0x7fbdf74e8020]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 3: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
 +0x7fbdf79469b0) [0x7fbdf79469b0]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 4: /lib/libglib-2.0.so.0 (g_hash_table_foreach+0x43) [0x7fbdf6017bd3]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 5: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
 +0x7fbdf794808c) [0x7fbdf794808c]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 6: /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x7fbdf76f5000+0x7fbdf7713371)
 [0x7fbdf7713371]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 7: /lib/x86_64-linux-gnu/libdbus-1.so.3 (dbus_connection_dispatch+0x380)
 [0x7fbdf7705270]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 8: /usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2 (0x7fbdf793a000
 +0x7fbdf7945675) [0x7fbdf7945675]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 9: /lib/libglib-2.0.so.0 (g_main_context_dispatch+0x1f3)
 [0x7fbdf60284a3]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 10: /lib/libglib-2.0.so.0 (0x7fbdf5fe3000+0x7fbdf6028c80)
 [0x7fbdf6028c80]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 11: /lib/libglib-2.0.so.0 (g_main_loop_run+0x182) [0x7fbdf60292f2]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 12: /usr/sbin/NetworkManager (main+0x1155) [0x4220f5]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd)
 [0x7fbdf57f7ead]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: Frame
 14: /usr/sbin/NetworkManager (0x40+0x42224d) [0x42224d]
 Oct  4 14:01:17 tiflis NetworkManager[26393]: *** END
 **
 
 
 Any clue ?
 
 ___
 networkmanager-list mailing list
 networkmanager-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/networkmanager-list



-- 
Jean Parpaillon
RD Engineer
http://mandriva.com
+33 6 30 10 92 86
xmpp: jean.parpail...@gmail.com


signature.asc
Description: This is a digitally signed message part
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list