Submitter | anatoly techtonik |
---|---|
Date | June 18, 2014, 9:29 a.m. |
Message ID | <CAPkN8xJx_JW2gLZbSLBiKgvj3PkFfpkfwfSPkYgD=5+W1KUBCQ@mail.gmail.com> |
Download | mbox | patch |
Permalink | /patch/5014/ |
State | Rejected |
Headers | show |
Comments
On 18 June 2014, anatoly techtonik said: > # ./run-tests.py test-tag.t > > --- /root/delme/hg/tests/test-tag.t > +++ /root/delme/hg/tests/test-tag.t.err > @@ -1,405 +1,24 @@ > $ hg init test > + Traceback (most recent call last): > + File "/usr/bin/hg", line 36, in <module> > + mercurial.util.setbinary(fp) > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 106, in __getattribute__ > + self._load() > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 78, in _load > + mod = _hgextimport(_import, head, globals, locals, None, level) > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 47, in _hgextimport > + return importfunc(name, globals, *args) > + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/util.py", line > 66, in <module> > + statfiles = getattr(osutil, 'statfiles', platform.statfiles) > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 106, in __getattribute__ > + self._load() > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 78, in _load > + mod = _hgextimport(_import, head, globals, locals, None, level) > + File > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > 47, in _hgextimport > + return importfunc(name, globals, *args) > + ImportError: /tmp/hgtests.XBeRv0/install/lib/python/mercurial/osutil.so: > failed to map segment from shared object: Operation not permitted > + [1] Your runtime environment is badly broken. Not sure what more Mercurial can or should do in the face of such a fundamental problem. Greg
On Thu, Jun 19, 2014 at 4:42 AM, Greg Ward <greg@gerg.ca> wrote: > On 18 June 2014, anatoly techtonik said: > > # ./run-tests.py test-tag.t > > > > --- /root/delme/hg/tests/test-tag.t > > +++ /root/delme/hg/tests/test-tag.t.err > > @@ -1,405 +1,24 @@ > > $ hg init test > > + Traceback (most recent call last): > > + File "/usr/bin/hg", line 36, in <module> > > + mercurial.util.setbinary(fp) > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 106, in __getattribute__ > > + self._load() > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 78, in _load > > + mod = _hgextimport(_import, head, globals, locals, None, level) > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 47, in _hgextimport > > + return importfunc(name, globals, *args) > > + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/util.py", > line > > 66, in <module> > > + statfiles = getattr(osutil, 'statfiles', platform.statfiles) > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 106, in __getattribute__ > > + self._load() > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 78, in _load > > + mod = _hgextimport(_import, head, globals, locals, None, level) > > + File > > "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line > > 47, in _hgextimport > > + return importfunc(name, globals, *args) > > + ImportError: > /tmp/hgtests.XBeRv0/install/lib/python/mercurial/osutil.so: > > failed to map segment from shared object: Operation not permitted > > + [1] > > Your runtime environment is badly broken. Not sure what more Mercurial > can or should do in the face of such a fundamental problem. What exactly is broken? Then it is broken for all services that run on drone.io Could it be that in some Linux contexts execution from /tmp is forbidden. SELinux or something?
On Thu, Jun 19, 2014 at 08:32:18 +0300, anatoly techtonik wrote: > What exactly is broken? Then it is broken for all services that run on > drone.io > > Could it be that in some Linux contexts execution from /tmp is forbidden. > SELinux or something? or your /tmp is mounted noexec. Cheers, Julien
On Thu, Jun 19, 2014 at 10:31 AM, Julien Cristau <julien.cristau@logilab.fr> wrote: > On Thu, Jun 19, 2014 at 08:32:18 +0300, anatoly techtonik wrote: > > > What exactly is broken? Then it is broken for all services that run on > > drone.io > > > > Could it be that in some Linux contexts execution from /tmp is forbidden. > > SELinux or something? > > or your /tmp is mounted noexec. > How to check? `mount` output from drone doesn't show anything. $ mount overlayfs on / type overlayfs (rw) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) devpts on /dev/lxc/console type devpts (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) devpts on /dev/lxc/tty1 type devpts (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) devpts on /dev/lxc/tty2 type devpts (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) devpts on /dev/lxc/tty3 type devpts (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) devpts on /dev/lxc/tty4 type devpts (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) devpts on /dev/ptmx type devpts (rw,relatime,mode=600,ptmxmode=666) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) https://drone.io/bitbucket.org/techtonik/hg/4
On Thu, Jun 19, 2014 at 10:51 AM, anatoly techtonik <techtonik@gmail.com> wrote: > On Thu, Jun 19, 2014 at 10:31 AM, Julien Cristau <julien.cristau@logilab.fr> > wrote: >> >> On Thu, Jun 19, 2014 at 08:32:18 +0300, anatoly techtonik wrote: >> >> > What exactly is broken? Then it is broken for all services that run on >> > drone.io >> > >> > Could it be that in some Linux contexts execution from /tmp is >> > forbidden. >> > SELinux or something? >> >> or your /tmp is mounted noexec. > > > How to check? `mount` output from drone doesn't show anything. > > $ mount > overlayfs on / type overlayfs (rw) > proc on /proc type proc (rw,noexec,nosuid,nodev) > sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) > devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) > devpts on /dev/lxc/console type devpts > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > devpts on /dev/lxc/tty1 type devpts > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > devpts on /dev/lxc/tty2 type devpts > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > devpts on /dev/lxc/tty3 type devpts > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > devpts on /dev/lxc/tty4 type devpts > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > devpts on /dev/ptmx type devpts (rw,relatime,mode=600,ptmxmode=666) > none on /sys/fs/fuse/connections type fusectl (rw) > none on /sys/kernel/debug type debugfs (rw) > none on /sys/kernel/security type securityfs (rw) > none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) > none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) > none on /run/shm type tmpfs (rw,nosuid,nodev) > > https://drone.io/bitbucket.org/techtonik/hg/4 > > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@selenic.com > http://selenic.com/mailman/listinfo/mercurial-devel > Perhaps /tmp is some sort of symlink into the /run tree, which appears to be noexec. You could try using the --tmpdir parameter to run-tests.py to put the files somewhere else (but I've no idea where that should be. Presumably the area where the code is checked out to would allow executables, so you could try somewhere in there) Simon
On Thu, Jun 19, 2014 at 1:15 PM, Simon King <simon@simonking.org.uk> wrote: > On Thu, Jun 19, 2014 at 10:51 AM, anatoly techtonik <techtonik@gmail.com> > wrote: > > On Thu, Jun 19, 2014 at 10:31 AM, Julien Cristau < > julien.cristau@logilab.fr> > > wrote: > >> > >> On Thu, Jun 19, 2014 at 08:32:18 +0300, anatoly techtonik wrote: > >> > >> > What exactly is broken? Then it is broken for all services that run on > >> > drone.io > >> > > >> > Could it be that in some Linux contexts execution from /tmp is > >> > forbidden. > >> > SELinux or something? > >> > >> or your /tmp is mounted noexec. > > > > > > How to check? `mount` output from drone doesn't show anything. > > > > $ mount > > overlayfs on / type overlayfs (rw) > > proc on /proc type proc (rw,noexec,nosuid,nodev) > > sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) > > devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) > > devpts on /dev/lxc/console type devpts > > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > > devpts on /dev/lxc/tty1 type devpts > > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > > devpts on /dev/lxc/tty2 type devpts > > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > > devpts on /dev/lxc/tty3 type devpts > > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > > devpts on /dev/lxc/tty4 type devpts > > (rw,noexec,nosuid,relatime,gid=5,mode=620,ptmxmode=000) > > devpts on /dev/ptmx type devpts (rw,relatime,mode=600,ptmxmode=666) > > none on /sys/fs/fuse/connections type fusectl (rw) > > none on /sys/kernel/debug type debugfs (rw) > > none on /sys/kernel/security type securityfs (rw) > > none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) > > none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) > > none on /run/shm type tmpfs (rw,nosuid,nodev) > > > > https://drone.io/bitbucket.org/techtonik/hg/4 > > > > _______________________________________________ > > Mercurial-devel mailing list > > Mercurial-devel@selenic.com > > http://selenic.com/mailman/listinfo/mercurial-devel > > > > Perhaps /tmp is some sort of symlink into the /run tree, which appears > to be noexec. > How to check? `ls -la /` doesn't show any symlinks. https://drone.io/bitbucket.org/techtonik/hg/7 > You could try using the --tmpdir parameter to run-tests.py to put the > files somewhere else (but I've no idea where that should be. > Presumably the area where the code is checked out to would allow > executables, so you could try somewhere in there) > Doesn't help. See output above. Directory is created ok.
Patch
--- /root/delme/hg/tests/test-tag.t +++ /root/delme/hg/tests/test-tag.t.err @@ -1,405 +1,24 @@ $ hg init test + Traceback (most recent call last): + File "/usr/bin/hg", line 36, in <module> + mercurial.util.setbinary(fp) + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 106, in __getattribute__ + self._load() + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 78, in _load + mod = _hgextimport(_import, head, globals, locals, None, level) + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 47, in _hgextimport + return importfunc(name, globals, *args) + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/util.py", line 66, in <module> + statfiles = getattr(osutil, 'statfiles', platform.statfiles) + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 106, in __getattribute__ + self._load() + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 78, in _load + mod = _hgextimport(_import, head, globals, locals, None, level) + File "/tmp/hgtests.XBeRv0/install/lib/python/mercurial/demandimport.py", line 47, in _hgextimport + return importfunc(name, globals, *args) + ImportError: /tmp/hgtests.XBeRv0/install/lib/python/mercurial/osutil.so: failed to map segment from shared object: Operation not permitted + [1] $ cd test + $TESTTMP.sh: line 4: cd: test: No such file or directory $ echo a > a - $ hg add a - $ hg commit -m "test" - $ hg history - changeset: 0:acb14030fe0a - tag: tip - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: test ... -- anatoly t.