Your message dated Tue, 19 May 2009 11:58:03 +0100
with message-id <[email protected]>
and subject line Re: Bug#491358: schroot: error when using schroot -p option 
(E: Empty expression)
has caused the Debian Bug report #491358,
regarding schroot: error when using schroot -p option (E: Empty expression)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
491358: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=491358
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: schroot
Version: 1.1.6
Severity: normal

When using the -p option, schroot exits with this error:  E: Empty expression

[zcar...@nerf ~]$ schroot -c bering -- uname -a
I: [bering-2008-07-19T04:58:47Z-13217 chroot] Running command: “uname -a”
Linux nerf 2.4.21-47.0.1.EL #1 Thu Oct 19 11:42:25 EDT 2006 i686 i686 i386 
GNU/Linux
[zcar...@nerf ~]$ schroot -p -c bering -- uname -a
E: Empty expression
[zcar...@nerf ~]$ 


This only occurs on CentOS 4.x.  I've done some debugging in the code, but I 
cannot find exactly where the exception is coming from.  It occurring somewhere 
inside this function in sbuild-auth.cc:

 void
auth::set_environment (environment const& environment)
{
  this->user_environment = environment;  <---exception is thrown during this 
operation
}

I realize this is not Debian, but I would really appreciate any pointers or 
workarounds to get this working in CentOS 4.x.  I am trying to build and 
support schroot in a diverse development environment.  
Fedora, Ubuntu, Debian, Gentoo, CentOS 5.x all work fine, but CentOS 4.x is 
having this one issue.

-Zach

--- End Message ---
--- Begin Message ---
Version: 1.1.6

On Fri, Jul 18, 2008 at 02:12:56PM -0700, Zach Carter wrote:

Sorry for the delay in getting to this problem.  For some reason it didn't
get forwarded to the mailing list and I only spotted it in the bug tracker
by chance.

> When using the -p option, schroot exits with this error:  E: Empty expression
> 
> [zcar...@nerf ~]$ schroot -p -c bering -- uname -a
> E: Empty expression
> [zcar...@nerf ~]$ 
> 
> This only occurs on CentOS 4.x.  I've done some debugging in the code, but I 
> cannot find exactly where the exception is coming from.  It occurring 
> somewhere inside this function in sbuild-auth.cc:
> 
>  void
> auth::set_environment (environment const& environment)
> {
>   this->user_environment = environment;  <---exception is thrown during this 
> operation
> }

This is a simple assignment, so should not ever fail.  We don't even
define an assignment operator, so it's just a simple copy of the
environment map.

The "Empty expression" error isn't found in the source code.  Since the
environment class uses Boost::Regex for filtering insecure things from
the environment, I think it's most likely that your Boost installation
contains a bug.  This is because when the "filter" member is copied, it
defaults to being empty.  A quick search brings up this old bug:

http://lists.boost.org/Archives/boost/2001/12/21703.php

As a result, you can see that your problem is down to the version of
Boost in CentOS being older than on all your other systems, and all
your systems except your CentOS system contain the fix for this bug due
to having a newer version of Boost.

I suggest that you either upgrade the Boost libraries on your CentOS
system (1.34 is recommended for this schroot release, though any later
releases are equally acceptable), or upgrade the entire CentOS system
if that is an option.  There are also newer releases of schroot
available (1.2.3 being the latest, released last Sunday).  1.2.3 does
require a newer Boost compiled with multithreaded libraries; I think
>= 1.35, 1.34 would be OK if you specifically compiled with
multithreading.  On Debian, the Boost maintainer has switched to only
providing multithreaded libraries, and so this is what schroot supports
by default.


I hope this was helpful, and again I apologise for the unfortunate delay
in responding.

Regards,
Roger Leigh

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.


--- End Message ---

Reply via email to