On Tue, 2018-11-13 at 10:41 -0800, Dian Trout wrote:
On Tue, 2018-11-13 at 18:44 +0100, Daniel Dupont wrote:
Hi,

On Tue, 2018-11-13 at 09:19 -0800, Diane Trout wrote:
> I thought they weren't supposed to be changing things in stable. I
> don't suppose you could try the version in unstable?
> > Though honestly I need to fix a couple of bugs to release 0.17. If
> I
> can get that working maybe I can make a stretch backport for it.

Thank you for your message.

First of all, I would like:
- to confirm my analysis
- to identify the reason for this bug
- to identify the possible consequences

I have two production servers affected by this bug and I would
prefer not to try unstable packages.

I wouldn't really call any version of dnssec-trigger stable. It's just
that 0.13 was bug free enough to make it into stretch.

It's not terribly surprising to me that a change in libnm might break
the python bindings. We had to make some changes in 0.15 because of
changes in libnm.

I had two ideas, either try downgrading to gir1.2-networkmanager-
1.0/libnm-glib4 1.6.2-3+debu9u2? (That's the stable version as opposed
to the version from stretch proposed updates, and it might require
downgrading some other network manager parts as well.

Alternatively it might work if we apply the 0007-use-libnm.patch to the
0.13 package.
https://salsa.debian.org/dns-team/dnssec-trigger/blob/master/debian/patches/0007-use-libnm.patch

As a test could you try these two short python programs, and let me
know if either if them works?

Which would look like:

Manager running? True

---- nmclient_test.py ----
#!/usr/bin/python

import gi
gi.require_version('NMClient', '1.0')
from gi.repository import NMClient

client = NMClient.Client().new()
print('Manager running? %s' % (client.get_manager_running(),))
--------- end ------------

--- nmtest.py ----
#!/usr/bin/python

import gi
gi.require_version('NM', '1.0')
from gi.repository import NM

client = NM.Client().new()
print('Manager running? %s' % (client.get_nm_running(),))
------ end --------

I do not have time to try both ideas today. I'll see that tomorrow.

In the meantime, here is the output of your two programs:

dldt@emt-g1:~$ export LC_ALL=C
dldt@emt-g1:~$ ./nmclient_test.py

(process:2162): libnm-glib-WARNING **: (libnm-glib/nm-object.c:179):constructor: code should not be reached ./nmclient_test.py:7: Warning: object NMClient 0x55af46e17100 finalized while still in-construction
  client = NMClient.Client().new()
./nmclient_test.py:7: Warning: Custom constructor for class NMClient returned NULL (which is invalid). Please use GInitable instead.
  client = NMClient.Client().new()
./nmclient_test.py:7: Warning: g_object_is_floating: assertion 'G_IS_OBJECT (object)' failed
  client = NMClient.Client().new()
Segmentation fault
dldt@emt-g1:~$ ./nmtest.py
Traceback (most recent call last):
  File "./nmtest.py", line 7, in <module>
    client = NM.Client().new()
GLib.Error: g-io-error-quark: Could not connect: No such file or directory (1)


--
Daniel Dupont

Reply via email to