New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyload fails to start on Opensuse 13.2 #2577

Closed
djessich opened this Issue Aug 26, 2016 · 10 comments

Comments

Projects
None yet
6 participants
@djessich

djessich commented Aug 26, 2016

Starting Pyload on Opensuse 13.2 with all required Pyload dependencies installed on the node, fails with the following error output.

# ...
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 425, in find
    bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
  File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
    res = origfind(domain, dir, languages, all)
  File "/usr/lib64/python2.7/gettext.py", line 443, in find
    for nelang in _expand_lang(lang):
  File "/usr/lib64/python2.7/gettext.py", line 133, in _expand_lang
    locale = normalize(locale)
  File "/usr/lib64/python2.7/locale.py", line 380, in normalize
    if isinstance(localename, _unicode):
RuntimeError: maximum recursion depth exceeded while calling a Python object

The errors occur during Pyload setup helper, after language selection, or if Pyload is already set up, which means during normal startup.

However the error can be suppressed/fixed if the last line of the file <pyload_install_dir>/module/common/pylgettext.py is removed.

Could we implement a fix for this, which means not removing this line, as this may affect Pyload functionality?

@Burnout5151

This comment has been minimized.

Show comment
Hide comment
@Burnout5151

Burnout5151 Dec 14, 2016

That seems strange, the recursion limit on my machine is 1000, normally you only scratch that with recursive programming.
Could you insert
import sys
print(sys.getrecursionlimit())
and tell us what it prints?

Burnout5151 commented Dec 14, 2016

That seems strange, the recursion limit on my machine is 1000, normally you only scratch that with recursive programming.
Could you insert
import sys
print(sys.getrecursionlimit())
and tell us what it prints?

@djessich

This comment has been minimized.

Show comment
Hide comment
@djessich

djessich Dec 15, 2016

It also prints 1000. Error still happens.

djessich commented Dec 15, 2016

It also prints 1000. Error still happens.

@GammaC0de

This comment has been minimized.

Show comment
Hide comment
@GammaC0de

GammaC0de Dec 15, 2016

Member

@djessich Coulld you post the start of the exception dump?

Member

GammaC0de commented Dec 15, 2016

@djessich Coulld you post the start of the exception dump?

@djessich

This comment has been minimized.

Show comment
Hide comment
@djessich

djessich Dec 20, 2016

Here is the traceback:

Traceback (most recent call last):
 File "pyLoadCore.py", line 667, in <module>
   main()
 File "pyLoadCore.py", line 658, in main
   pyload_core.start()
 File "pyLoadCore.py", line 295, in start
   languages=[self.config['general']['language'],"en"],fallback=True)
 File "/usr/lib64/python2.7/gettext.py", line 471, in translation
   mofiles = find(domain, localedir, languages, all=1)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
 # ...
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 443, in find
   for nelang in _expand_lang(lang):
 File "/usr/lib64/python2.7/gettext.py", line 133, in _expand_lang
   locale = normalize(locale)
 File "/usr/lib64/python2.7/locale.py", line 381, in normalize
   localename = localename.encode('ascii')
RuntimeError: maximum recursion depth exceeded while calling a Python object

Happens when starting Pyload using python pyLoadCore.py.

djessich commented Dec 20, 2016

Here is the traceback:

Traceback (most recent call last):
 File "pyLoadCore.py", line 667, in <module>
   main()
 File "pyLoadCore.py", line 658, in main
   pyload_core.start()
 File "pyLoadCore.py", line 295, in start
   languages=[self.config['general']['language'],"en"],fallback=True)
 File "/usr/lib64/python2.7/gettext.py", line 471, in translation
   mofiles = find(domain, localedir, languages, all=1)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
 # ...
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 425, in find
   bundle = find(domain, localedir=_default_bundlelocaledir, languages=languages, all=all)
 File "/usr/share/pyload/module/common/pylgettext.py", line 46, in find
   res = origfind(domain, dir, languages, all)
 File "/usr/lib64/python2.7/gettext.py", line 443, in find
   for nelang in _expand_lang(lang):
 File "/usr/lib64/python2.7/gettext.py", line 133, in _expand_lang
   locale = normalize(locale)
 File "/usr/lib64/python2.7/locale.py", line 381, in normalize
   localename = localename.encode('ascii')
RuntimeError: maximum recursion depth exceeded while calling a Python object

Happens when starting Pyload using python pyLoadCore.py.

@Burnout5151

This comment has been minimized.

Show comment
Hide comment
@Burnout5151

Burnout5151 Dec 20, 2016

  1. What Locale settings is your machine running/is set in the PyloadConfig?
  2. Since there has recently been activity on a 1.0.0 branch, it might make sense to just wait until @vuolter declares it usable and try on that branch again.

Burnout5151 commented Dec 20, 2016

  1. What Locale settings is your machine running/is set in the PyloadConfig?
  2. Since there has recently been activity on a 1.0.0 branch, it might make sense to just wait until @vuolter declares it usable and try on that branch again.
@djessich

This comment has been minimized.

Show comment
Hide comment
@djessich

djessich Dec 21, 2016

  1. I've never changed that manually, so it is set to the default settings.
  2. Well, thats a good idea to wait unitl 1.0.0 is useable. We will see, if something changes when using the newer version. Currently it is working normally by just commenting the last line of the <pyload_install_dir>/module/common/pylgettext.py.

djessich commented Dec 21, 2016

  1. I've never changed that manually, so it is set to the default settings.
  2. Well, thats a good idea to wait unitl 1.0.0 is useable. We will see, if something changes when using the newer version. Currently it is working normally by just commenting the last line of the <pyload_install_dir>/module/common/pylgettext.py.

@GammaC0de GammaC0de added bug and removed question labels Dec 25, 2016

@GammaC0de GammaC0de added this to the 0.5.x milestone Dec 25, 2016

@GammaC0de

This comment has been minimized.

Show comment
Hide comment
@GammaC0de

GammaC0de Dec 25, 2016

Member

@djessich Add this line the the end of <pyload_install_dir>/module/common/pylgettext.py:
origfind.func_globals['find'] = origfind

@vuolter Please check this for v0.5

Member

GammaC0de commented Dec 25, 2016

@djessich Add this line the the end of <pyload_install_dir>/module/common/pylgettext.py:
origfind.func_globals['find'] = origfind

@vuolter Please check this for v0.5

@djessich

This comment has been minimized.

Show comment
Hide comment
@djessich

djessich May 16, 2017

adding <pyload_install_dir>/module/common/pylgettext.py to origfind.func_globals['find'] = origfind does work and fix the issue for opensuse.

djessich commented May 16, 2017

adding <pyload_install_dir>/module/common/pylgettext.py to origfind.func_globals['find'] = origfind does work and fix the issue for opensuse.

@sebix

This comment has been minimized.

Show comment
Hide comment
@sebix

sebix Jun 5, 2017

Also happens for me on Tumbleweed. My locale is en_US.utf8.

The fix from @GammaC0de works for me too.

sebix commented Jun 5, 2017

Also happens for me on Tumbleweed. My locale is en_US.utf8.

The fix from @GammaC0de works for me too.

@snilt

This comment has been minimized.

Show comment
Hide comment
@snilt

snilt Sep 28, 2017

Noticed this on opensuse too, my workaround was (and is):

snilt@cd21e85#diff-6c92f332f375aad457737900727d89ac

snilt commented Sep 28, 2017

Noticed this on opensuse too, my workaround was (and is):

snilt@cd21e85#diff-6c92f332f375aad457737900727d89ac

GammaC0de added a commit that referenced this issue Dec 4, 2017

@GammaC0de GammaC0de closed this Dec 4, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment