** 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

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to