John Dennis wrote:
On 10/12/2012 11:20 AM, Martin Kosek wrote:

I was investigating global unit test failure on Fedora 18 for most of
today, I
would like to share results I found so far.

Unit test and its related scripts on F18 now reports NSS BUSY
exception, just
like this one:

# ./make-testcert
Traceback (most recent call last):
   File "./make-testcert", line 134, in <module>
   File "./make-testcert", line 111, in makecert
   File "./make-testcert", line 68, in run
     result = self.execute(method, *args, **options)
   File "/root/freeipa-master2/ipalib/", line 146, in execute
     raise error #pylint: disable=E0702
ipalib.errors.NetworkError: cannot connect to
'': [Errno -8053]
(SEC_ERROR_BUSY) NSS could not shutdown. Objects are still in use.

Something In F18 must have changed, this worked before... But leaked
NSSConnection objects without proper close() now ends with the
exception above.

In case of make-testcert script, the exception is raised because the
does the following procedure:

1) connect, do one command
2) disconnect
3) connect, do second command

However, during disconnect, NSSConnection is leaked which makes NSS very
uncomfortable during second connection atempt (and nss_shutdown()). I
to fix this issue with attached patch. ./make-testcert or "./make-test
tests/test_xmlrpc/" works fine now.

But global "./make-test" still fails, I think there is some remaining
NSSConnection leak, I suspect there is something wrong with how we use
context (threading.local object). It looses a connection or some other
invoked in ldap2 module may be kicking in, here is my debug output:

CONTEXT[xmlclient] = <ipalib.request.Connection object at 0x9a1f5ec>

Test a simple LDAP bind using ldap2 ... SKIP: No directory manager
password in
Test the `ipaserver.rpcserver.jsonserver.unmarshal` method. ... ok
tests.test_ipaserver.test_rpcserver.test_session.test_mount ... CONTEXT
150714476: GET languages

CONTEXT[xmlclient] = None

The connection is in the context, but then something happens and it is
Then, unit tests try to connect again and NSS fails.

I would be really glad if somebody with a knowledge of NSS or how
threads in
Python/IPA work could give me some advice...

O.K. I'll take a look at it. I seem to recall Rob looked into something
similar a couple of days ago. Rob, do you have any additional
information to share?

Nothing to add. I looked at this briefly yesterday but nothing jumped out at me. I think this may be unrelated to the previous problem I investigated. It very well could be we are not closing a connection somewhere.


Freeipa-devel mailing list

Reply via email to