[Bug 1130809] Re: lxc scripts break when user has PYTHONPATH
Martin Packman
martin.packman at canonical.com
Mon Apr 8 16:49:07 UTC 2013
** Summary changed:
- lxc-ls crashed with SIGABRT in Py_FatalError()
+ lxc scripts break when user has PYTHONPATH
** Summary changed:
- lxc scripts break when user has PYTHONPATH
+ lxc scripts break when user has PYTHONPATH set
** Description changed:
- Occurred when deploying the juju mysql charm locally
+ The various lxc scripts installed in /usr/bin are Python 3 only. If the
+ user has PYTHONPATH or other similar environment variables set, these
+ scripts can incorrectly inherit details from the user's Python 2 setup
+ when run.
- ProblemType: Crash
- DistroRelease: Ubuntu 13.04
- Package: lxc 0.9.0~alpha3-0ubuntu2
- ProcVersionSignature: Ubuntu 3.8.0-6.13-generic 3.8.0-rc7
- Uname: Linux 3.8.0-6-generic i686
- ApportVersion: 2.8-0ubuntu4
- Architecture: i386
- Date: Wed Feb 20 17:37:31 2013
- ExecutablePath: /usr/bin/lxc-ls
- InstallationDate: Installed on 2012-12-19 (63 days ago)
- InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release i386 (20121017.2)
- InterpreterPath: /usr/bin/python3.3
- MarkForUpload: True
- ProcCmdline: BOOT_IMAGE=/vmlinuz-3.8.0-6-generic root=/dev/mapper/ubuntu-root ro vesafb.invalid=1
- ProcEnviron:
- PATH=(custom, user)
- SHELL=/bin/bash
- TERM=unknown
- LANG=en_GB.UTF-8
- LANGUAGE=en_GB:en
- Signal: 6
- SourcePackage: lxc
- StacktraceTop:
- raise () from /lib/i386-linux-gnu/libc.so.6
- abort () from /lib/i386-linux-gnu/libc.so.6
- Py_FatalError ()
- ?? ()
- _Py_InitializeEx_Private ()
- Title: lxc-ls crashed with SIGABRT in raise()
- UpgradeStatus: Upgraded to raring on 2013-01-13 (37 days ago)
- UserGroups:
+ This can result in either a crash as per the initial report, or a
+ traceback over syntax differences such as the following in juju:
+
+ Traceback (most recent call last):
+ File "/usr/lib/python2.7/dist-packages/juju/agents/machine.py", line 97, in watch_service_units
+ yield self.unit_deployer.start_service_unit(unit_name)
+ File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1069, in _inlineCallbacks
+ result = result.throwExceptionIntoGenerator(g)
+ File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
+ return g.throw(self.type, self.value, self.tb)
+ File "/usr/lib/python2.7/dist-packages/juju/unit/deploy.py", line 91, in start_service_unit
+ running = yield deployment.is_running()
+ File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1069, in _inlineCallbacks
+ result = result.throwExceptionIntoGenerator(g)
+ File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
+ return g.throw(self.type, self.value, self.tb)
+ File "/usr/lib/python2.7/dist-packages/juju/machine/unit.py", line 301, in is_running
+ prefix=self.container.container_name)
+ File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1069, in _inlineCallbacks
+ result = result.throwExceptionIntoGenerator(g)
+ File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
+ return g.throw(self.type, self.value, self.tb)
+ File "/usr/lib/python2.7/dist-packages/juju/lib/lxc/__init__.py", line 147, in get_containers
+ _, output = yield deferToThread(_cmd, ["lxc-ls"])
+ File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 172, in _worker
+ result = context.call(ctx, function, *args, **kwargs)
+ File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
+ return self.currentContext().callWithContext(ctx, func, *args, **kw)
+ File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
+ return func(*args,**kw)
+ File "/usr/lib/python2.7/dist-packages/juju/lib/lxc/__init__.py", line 48, in _cmd
+ raise LXCError(stdout_data)
+ LXCError: Fatal Python error: Py_Initialize: Unable to get the locale encoding
+ File "/usr/lib/python2.7/encodings/__init__.py", line 123
+ raise CodecRegistryError,\
+ ^
+ SyntaxError: invalid syntax
WORKAROUND:
Add "-Es" to /usr/bin/lxc-ls (after /usr/bin/python3 ) so that those environment variables are ignored.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to juju in Ubuntu.
https://bugs.launchpad.net/bugs/1130809
Title:
lxc scripts break when user has PYTHONPATH set
To manage notifications about this bug go to:
https://bugs.launchpad.net/juju/+bug/1130809/+subscriptions
More information about the Ubuntu-server-bugs
mailing list