Indefinite build hangs during python tests of gpgme1.0 v1.8

Bug #1655298 reported by Rik Mills
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
launchpad-buildd
New
Undecided
Unassigned

Bug Description

See also Bug #1647204 for full report on gpgme1.0 issues

In the case of LP builds, after setting export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie,+pic to allow the builds to find Qt and progress past configure, the resultant build hang indefinitely during their python tests.

Example here: https://launchpad.net/~rikmills/+archive/ubuntu/staging3/+build/11809478

eventually killed by LP due to inactivity.

This hang does not occur when the same sources are built on:

- debian build system/builders
- pbuilder
- standard sbuild
- sbuild created with sbuild-launchpad-chroot
- compiled from source conventionally on a local system

So this appears to be some quirk of the launchpad builder setup/environment itself.

Adding some debug statements on other the builds showed that that hang is occurring in

lang / python / tests / t-callbacks.py

specifically, when the c.op_genkey call is made in the section shown below.

# Test the progress callback.
parms = """<GnupgKeyParms format="internal">
Key-Type: RSA
Key-Length: 1024
Name-Real: Joe Tester
Name-Comment: with stupid passphrase
Name-Email: <email address hidden>
Passphrase: Crypt0R0cks
Expire-Date: 2020-12-31
</GnupgKeyParms>
"""

messages = []
def progress_cb(what, typ, current, total, hook=None):
    assert hook == messages
    messages.append(
        "PROGRESS UPDATE: what = {}, type = {}, current = {}, total = {}"
        .format(what, typ, current, total))

c = gpg.Context()
c.set_progress_cb(progress_cb, messages)
c.op_genkey(parms, None, None) <---- HANGS HERE
assert len(messages) > 0

# Test exception handling.
def progress_cb(what, typ, current, total, hook=None):
    raise myException

c = gpg.Context()
c.set_progress_cb(progress_cb, None)
try:
    c.op_genkey(parms, None, None) <---- HANGS HERE
except Exception as e:
    assert e == myException
else:
    assert False, "Expected an error, got none"

Revision history for this message
Andre Heinecke (aheinecke) wrote :
Revision history for this message
Rik Mills (rikmills) wrote : Re: [Bug 1655298] Re: Indefinite build hangs during python tests of gpgme1.0 v1.8

On 25/01/17 13:25, Andre Heinecke wrote:
> As commented in Bug #1647204 I believe that this should be fixed with
> https://git.gnupg.org/cgi-
> bin/gitweb.cgi?p=gpgme.git;a=commitdiff;h=a98951a30a6ae603ffac4ec8c5168aa6d1019933
>

Applied the patch to 1.8.0-3, and does not seem to have made any difference.

am64, i386 and armhf builds still hang at the same point and are killed
by launchpad with

"Build killed with signal TERM after 150 minutes of inactivity"

arm64 build just fails somewhere, and LP fails to render a buildlog for
some strange reason

ppc64el, as it did before, hangs for a bit then completes ok.

Revision history for this message
Barry Warsaw (barry) wrote :

I'm tempted to dupe this bug over to LP: #1647204 since I think the problem is probably in the gpgme package and not the buildds so much. Any objections?

Revision history for this message
Rik Mills (rikmills) wrote :

Colin Watson asked me to file this here against launchpad-buildd, so I would rather you did not at least for now.

Revision history for this message
Colin Watson (cjwatson) wrote :

https://wiki.openstack.org/wiki/LibvirtVirtioRng may be the thing we need to set up here.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.