Test suite failure with Python 3.4 & 3.5

Bug #1504288 reported by Barry Warsaw
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
configglue
In Progress
Undecided
Ricardo Kirkner
python-configglue (Ubuntu)
Fix Released
Undecided
Łukasz Zemczak

Bug Description

configglue fails to build from source in Ubuntu 15.10 because it is currently incompatible with Python 3.5

https://launchpadlibrarian.net/219597252/buildlog_ubuntu-wily-amd64.python-configglue_1.1.2-0ubuntu2_BUILDING.txt.gz

If you run `tox -e py35` on a wily system against lp:configglue, you see the failures.

Tags: ftbfs
Steve Langasek (vorlon)
tags: added: ftbfs
Revision history for this message
Barry Warsaw (barry) wrote :

Actually, not just 3.5, but 3.4 also. The tox.ini is out of date.

summary: - Test suite failure with Python 3.5
+ Test suite failure with Python 3.4 & 3.5
Changed in python-configglue (Ubuntu):
assignee: nobody → Łukasz Zemczak (sil2100)
Changed in configglue:
status: New → In Progress
assignee: nobody → Ricardo Kirkner (ricardokirkner)
Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

I've just released 1.1.3 to pypi which passes tests against 2.7-3.5.
I've also tested that version in vivid against 3.3 and 3.4.
When testing in wily against 3.4 some tests failed. It looks like there's a difference between the vivid and wily versions of python 3.4. Will look into what needs fixing.

Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

I've tested 2.7-3.5 on vivid using fkrull's PPA. All tests pass there. I've also tested using the official docker images for python and on Arch Linux. The only environment where things have broken is in wily's python3.4 and python3.5 interpreters. It seems like this is a very Ubuntu specific failure, but I haven't yet managed to fix it on that environment.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Multiple upstreams on Debian have the same problem. It seems this change in Python is the cause of those:
https://hg.python.org/cpython/rev/267422f7c927

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

I started preparing a fix branch for our wily python versions. It seems the missing 'fallback' argument is not the only problem... it seems there are much more really strange errors even with this change. On the other hand, the same branch just passes cleanly on vivid. Errors in tests when running against lp:~sil2100/configglue/ubuntu_wily_test_fixes :

http://paste.ubuntu.com/12762858/

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, so after reverting the changeset 97373:267422f7c927 from python configparser.py fixes all issues, leaving only one failure (0 errors). I suppose that we can't really revert this one change, right..? Since it seems to change configglue's behaviour a lot, breaking it badly (you can see that through the failed test cases, it simply does not work). If we stick with this commit in our main python, well, I suppose Ricardo or someone else from upstream would have to dive into the code and see how much this changes all the code-paths.

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

I think the thing to do is to reopen http://bugs.python.org/issue21159 mark it as a regression and try to get this reverted upstream. Include a list of upstreams that are broken by this, if you have them. Can you do that? I will nosy on the issue.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hey Barry! The few that I found that were affected by this change are: python-configglue, kazam and qutebrowser (not in the Debian repository yet) - so not that super many, but still. Most cases can be fixed on the upstream side (qutebrower was able to do it easily), but I suppose a change like this with not much merit causing to break compatibility with existing apps sounds like a rather fair reason for a revert. I generally think that calling get() from inside _interpolate_some() is not a good idea.

@Ricardo: do you think this could be easily worked-around in configglue somehow?

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

Thanks Lukasz. The question is whether we should push more aggressively to revert the upstream change (which of course takes a while in and of itself to trickle down) or just fix it in the affected packages and move on?

Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote : Re: [Bug 1504288] Re: Test suite failure with Python 3.4 & 3.5

Hi all,

I haven't yet had time to fix the code. From the conversation it looks
like this change was introduced in python 3.4 upstream, right? And
this was done after the latest 3.4 was released (which would explain
why the tests didn't fail for me on the other 3.4 environments --
docker, arch, etc). If we don't revert this change upstream I expect
this to be included in the next 3.4 and 3.5 official python releases,
correct?

If this change is part of the official python release, then I think
the sensible thing is to

a) mark it as a backwards incompatible change
b) fix the code that relies on the "old" behavior

I'll try to find some time to fix this in configglue so that it works
with all 3.4/3.5 versions

On Tue, Oct 13, 2015 at 12:38 PM, Barry Warsaw
<email address hidden> wrote:
> Thanks Lukasz. The question is whether we should push more aggressively
> to revert the upstream change (which of course takes a while in and of
> itself to trickle down) or just fix it in the affected packages and move
> on?
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1504288
>
> Title:
> Test suite failure with Python 3.4 & 3.5
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/configglue/+bug/1504288/+subscriptions

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

Has there been any more thought on this? I don't think we're going to revert the change in upstream Python and Matthias's Xenial rebuild test shows build failures (reproducible on Xenial with `tox -e py35`).

Revision history for this message
Matthias Klose (doko) wrote :

I checked 1.1.3 with the current xenial, and tests still fail

Revision history for this message
Martin Pitt (pitti) wrote :

python3-configglue has no reverse dependencies, and the test failures indicate that there are even syntax errors, so IMHO there is not much point shipping a known-broken python3-configglue module.

I uploaded a version to xenial-proposed's unapproved queue which removes the python3 binary and fixes the FTBFS. Feel free to reject if you have a better idea.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-configglue - 1.1.2-0ubuntu3

---------------
python-configglue (1.1.2-0ubuntu3) xenial; urgency=medium

  * Remove python3-configglue binary. It does not work with Python 3.5,
    neither does the latest upstream version, and it has zero reverse
    dependencies. (LP: #1504288)

 -- Martin Pitt <email address hidden> Thu, 14 Apr 2016 13:32:13 +0200

Changed in python-configglue (Ubuntu):
status: New → Fix Released
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.