|
Bugzilla – Full Text Bug Listing |
| Summary: | python 2.7.13 breaks bzr (TypeError in re.py) | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Christian Boltz <suse-beta> |
| Component: | Basesystem | Assignee: | E-mail List <bnc-team-screening> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | cornelis, cyberkiller8, forgotten_oK2eZF-yZn, i22a, jacob, jmatejek, mrueckert, tchvatal |
| Version: | Current | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | openSUSE 13.2 | ||
| Whiteboard: | |||
| Found By: | Beta-Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | full backtrace from "bzr up" run | ||
Some more debugging on the opensuse-factory ML brought up a reproducer that doesn't need to checkout a bzr repo etc. before: zypper in bzr-lang # this package is needed to trigger the crash. mkdir /tmp/bzr-test cd /tmp/bzr-test LANG=de_DE bzr init Other languages (I tested pt_BR and fr_FR) also trigger the crash. With english locale (LANG=C or LANG=en_GB), bzr does _not_ crash. Also, downgrading to python 2.7.12 avoids the crash for all languages. This is a bug in bzr; it is messing with python's internals in a fragile way. (well, messing with python internals in any case. that is bound to be fragile.) Other software using python regexps won't be affected. see upstream: [1] https://bugs.launchpad.net/bzr/+bug/1644003 [2] https://bugs.launchpad.net/bzr/+bug/1653002 reporters of [2] claim it is not a duplicate of [1], but AFAICT it is: Debian provided a patch in 2.7.12 for issue that got into upstream only at 2.7.13; indeed, the workaround suggested in [1] (replacing the "re.compile = _real_re_compile" line with "pass") fixes the problem for me. reassigning to bzr maintainer I was only set as maintainer there because i accepted the initial SR. I have never touched the package as you see in the changes file. Hi Jacob W, would you like to take a look at this issue? I'm not sure whether it is right to assign it to you, please feel free to reassign whenever necessary, thank you! *** Bug 1043770 has been marked as a duplicate of this bug. *** *** Bug 1039642 has been marked as a duplicate of this bug. *** This now affects Leap 42.2 also. I have not used bzr since 2016 and do not have time to fix bzr bugs, sorry! bzr has been dead for years now, only basic upkeep upstream (Canonical) because they desperately need it to work. Highly recommend a one time conversion of all bazaar repos to git - it worked really well in 201. Remember, the longer you wait, to harder it will be to convert (things starting to break in bzr). If I remember correctly, I needed to install Ubuntu in a vm to have bzr work for the conversion back in 2016 to get a 100% history conversion. Good luck. sr#606665 fixes this. Can it somehow also be fixed in Leap? It seems that Leap gets bzr from SLE. Thanks. |
Created attachment 710132 [details] full backtrace from "bzr up" run python 2.7.13 breaks bzr - "bzr up" crashes with The most interesting detail is that it breaks in the "re" module, so it might affect more programs that use regular expressions in python: # bzr up [...] File "/usr/lib64/python2.7/re.py", line 247, in _compile raise TypeError, "first argument must be string or compiled pattern" TypeError: first argument must be string or compiled pattern The full backtrace is attached. I built python 2.7.12 packages in home:cboltz:branches:devel:languages:python:Factory (based on the previous Tumbleweed packages), and bzr works again after installing them. Therefore I'd argue that this is a regression in python ;-) If you think it is (also?) a bzr bug, please tell me ;-) and reassign to the bzr maintainer.