bzr does not work together with python 2.7.13

Bug #1653002 reported by Stefan Husmann
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Bazaar
New
Undecided
Unassigned

Bug Description

Together with python 2.7.13 running plain bzr or checking out something ends in:

bzr: ERROR: exceptions.TypeError: first argument must be string or compiled pattern

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 930, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 1121, in run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 673, in run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.7/site-packages/bzrlib/commands.py", line 697, in run
return self._operation.run_simple(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 136, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 166, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/builtins.py", line 1507, in run
source_branch=br_from)
File "/usr/lib/python2.7/site-packages/bzrlib/bzrdir.py", line 367, in sprout
create_tree_if_local=create_tree_if_local)
File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 132, in run
self.cleanups, self.func, self, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/cleanup.py", line 166, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/bzrdir.py", line 417, in _sprout
result_repo.fetch(source_repository, fetch_spec=fetch_spec)
File "/usr/lib/python2.7/site-packages/bzrlib/vf_repository.py", line 1268, in fetch
find_ghosts=find_ghosts, fetch_spec=fetch_spec)
File "/usr/lib/python2.7/site-packages/bzrlib/decorators.py", line 218, in write_locked
result = unbound(self, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/bzrlib/vf_repository.py", line 2585, in fetch
find_ghosts=find_ghosts)
File "/usr/lib/python2.7/site-packages/bzrlib/fetch.py", line 77, in __init__

Downgrading python to version 2.7.12 fixes the problem.
self.__fetch()
File "/usr/lib/python2.7/site-packages/bzrlib/fetch.py", line 98, in __fetch
pb.update(gettext("Finding revisions"), 0, 2)
File "/usr/lib/python2.7/site-packages/bzrlib/i18n.py", line 40, in gettext
install()
File "/usr/lib/python2.7/site-packages/bzrlib/i18n.py", line 92, in install
_translations = install_translations(lang)
File "/usr/lib/python2.7/site-packages/bzrlib/i18n.py", line 114, in install_translations
fallback=True)
File "/usr/lib/python2.7/gettext.py", line 554, in translation
t = _translations.setdefault(key, class_(fp))
File "/usr/lib/python2.7/gettext.py", line 255, in __init__
self._parse(fp)
File "/usr/lib/python2.7/gettext.py", line 391, in _parse
self.plural = c2py(plural)
File "/usr/lib/python2.7/gettext.py", line 177, in c2py
result, nexttok = _parse(_tokenize(plural))
File "/usr/lib/python2.7/gettext.py", line 114, in _parse
nexttok = next(tokens)
File "/usr/lib/python2.7/gettext.py", line 85, in _tokenize
for mo in re.finditer(_token_pattern, plural):
File "/usr/lib/python2.7/re.py", line 190, in finditer
return _compile(pattern, flags).finditer(string)
File "/usr/lib/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

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

Also tested with python 2.7.12, not Problem then. Both under Arch Linux.

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

Maybe it is related:
# locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE=C
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

This bug report is not a duplicate of bug #1644003. 2.7.13 is not 2.7.12 and the workaround given there does not fix the problem.

Revision history for this message
YamashitaRen (lemaitre-dulotus) wrote :

Same bug with Python 2.7.13 and fr_FR.UTF-8 locale on Archlinux.

Revision history for this message
Peter Mattern (pmattern) wrote :

> Maybe it is related:

My findings on Arch Linux where are strongly suggesting it indeed is: LANG=de_DE.UTF-8 → problem is manifest as depicted above, LANG={C;en_US.UTF-8} → problem ceases.

Btw. this is another hint the issue is not a duplicate of bug #1644003 besides the findings are somewhat similar.

Revision history for this message
Vincent Ladeuil (vila) wrote :

@Peter: Your findings seem completely similar to bug bug #1644003

If the patch proposed there doesn't fix the issue /then/ please provide a reproducing recipe of your issue with that patch applied, leaving this bug marked as duplicate in the mean time to avoid paperwork

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

The fix in commit 6621 of the 2.7 series makes

Traceback (most recent call last):
  File "/usr/bin/bzr", line 74, in <module>
    import bzrlib
  File "/usr/lib/python2.7/site-packages/bzrlib/__init__.py", line 131, in <module>
    bzrlib.lazy_regex.install_lazy_compile()
AttributeError: 'module' object has no attribute 'install_lazy_compile'
==> FEHLER: Fehler beim Aktualisieren der Kopie des bazaar bzr Repositoriums

Revision history for this message
Vincent Ladeuil (vila) wrote :

@Stefan: You already reported bug #1657238 as a different issue so, please, don't make it harder to track issues.

Revision history for this message
Biji (biji) wrote :

Also happen to bzr explorer using python 2.7.13, cant launch:

bzr: ERROR: exceptions.TypeError: first argument must be string or compiled pattern

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 930, in exception_to_return_code
    return the_callable(*args, **kwargs)

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

Seems to work now, thanks.

Revision history for this message
Peter Mattern (pmattern) wrote :

@Vincent
Somehow I wasn't noticed about new messages in this issue and just kept setting an appropriate locale as workaround in the meantime.
The findings I made are definitely fixed by Arch Linux package bzr 2.7.0-*2* which is backporting http://bazaar.launchpad.net/~bzr-pqm/bzr/2.7/revision/6621.
I still don't quite get why I could see the problem on Arch as of Python 2.7.13 only while 2.7.12 is affected in #1644003, probably some Debian patching. But I guess this doesn't really matter any more now.

Revision history for this message
Vincent Ladeuil (vila) wrote :

@Peter: 2.7.12-7 was indeed including the offending bits so -7 explains why you started encountering the issue with 2.7.13.

Thanks for the feedback !

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.