[ 
https://issues.apache.org/jira/browse/MESOS-7060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858394#comment-15858394
 ] 

James Peach commented on MESOS-7060:
------------------------------------

OK, I see what is happening here. On RHEL, the ELF interpreter in the binary 
matches {{ld.so.cache}}, but it doesn't on Ubuntu. So on Ubuntu we have the 
file at the path specified by the cache, but the ELF {{.interp}} header is 
telling the loader to look for it at a different path that we don't have. 
Because we don't copy the path needed by the {{.interp}} header, exec(2) always 
fails with {{ENOENT}}.

*Fedora 25:*
{noformat}
$ readelf -p .interp /bin/sh
String dump of section '.interp':
  [     0]  /lib64/ld-linux-x86-64.so.2
$ ldd /bin/sh
        linux-vdso.so.1 (0x00007ffe09956000)
        libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007feead539000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007feead335000)
        libc.so.6 => /lib64/libc.so.6 (0x00007feeacf6f000)
        /lib64/ld-linux-x86-64.so.2 (0x000055e72ef2a000)
$ ldconfig -p | grep ld-linux
        ld-linux-x86-64.so.2 (libc6,x86-64) => /lib64/ld-linux-x86-64.so.2
{noformat}

*Ubuntu 14.04:*
{noformat}
# readelf -p .interp /bin/sh
String dump of section '.interp':
  [     0]  /lib64/ld-linux-x86-64.so.2
# ldd /bin/sh
        linux-vdso.so.1 =>  (0x00007ffc249ba000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f12f5472000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f12f5a57000)
#  ldconfig -p | grep ld-linux
        ld-linux-x86-64.so.2 (libc6,x86-64) => 
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
{noformat}

> Tests depends on DockerArchive and LinuxRootfs failed.
> ------------------------------------------------------
>
>                 Key: MESOS-7060
>                 URL: https://issues.apache.org/jira/browse/MESOS-7060
>             Project: Mesos
>          Issue Type: Bug
>          Components: containerization, test
>         Environment: ubuntu16
>            Reporter: Jie Yu
>            Assignee: James Peach
>
> This issue was introduced by patches from MESOS-6588. Reverting the patches 
> in this ticket solves the issue.
> {noformat}
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from LinuxFilesystemIsolatorTest
> [ RUN      ] LinuxFilesystemIsolatorTest.ROOT_ChangeRootFilesystem
> I0205 00:49:41.405323 98276 containerizer.cpp:220] Using isolation: 
> filesystem/linux,docker/runtime,network/cni,volume/image
> I0205 00:49:41.410899 98276 linux_launcher.cpp:150] Using 
> /sys/fs/cgroup/freezer as the freezer hierarchy for the Linux launcher
> E0205 00:49:41.413491 98276 shell.hpp:107] Command 'hadoop version 2>&1' 
> failed; this is the output:
> sh: 1: hadoop: not found
> I0205 00:49:41.413553 98276 fetcher.cpp:69] Skipping URI fetcher plugin 
> 'hadoop' as it could not be created: Failed to create HDFS client: Failed to 
> execute 'hadoop version 2>&1'; the command was either not found or exited 
> with a non-zero exit status: 127
> I0205 00:49:41.416126 98276 provisioner.cpp:249] Using default backend 'aufs'
> I0205 00:49:41.420802 98298 containerizer.cpp:992] Starting container 
> e41c62c5-c0e1-4cc0-9c59-4793d9d086bf for executor 'test_executor' of 
> framework 
> I0205 00:49:41.607056 98303 provisioner.cpp:453] Provisioning image rootfs 
> '/tmp/LinuxFilesystemIsolatorTest_ROOT_ChangeRootFilesystem_yYg8z0/provisioner/containers/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf/backends/aufs/rootfses/b21ea6c2-bdcd-4511-b57b-86cfdc6722d1'
>  for container e41c62c5-c0e1-4cc0-9c59-4793d9d086bf using aufs backend
> I0205 00:49:41.614753 98291 linux_launcher.cpp:429] Launching container 
> e41c62c5-c0e1-4cc0-9c59-4793d9d086bf and cloning with namespaces CLONE_NEWNS
> Executing pre-exec command 
> '{"arguments":["mesos-containerizer","mount","--help=false","--operation=make-rslave","--path=\/"],"shell":false,"value":"\/home\/ubuntu\/workspace\/dist\/mesos\/build\/src\/mesos-containerizer"}'
> Executing pre-exec command 
> '{"arguments":["mount","-n","--rbind","\/tmp\/LinuxFilesystemIsolatorTest_ROOT_ChangeRootFilesystem_yYg8z0\/sandbox","\/tmp\/LinuxFilesystemIsolatorTest_ROOT_ChangeRootFilesystem_yYg8z0\/provisioner\/containers\/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf\/backends\/aufs\/rootfses\/b21ea6c2-bdcd-4511-b57b-86cfdc6722d1\/mnt\/mesos\/sandbox"],"shell":false,"value":"mount"}'
> Changing root to 
> /tmp/LinuxFilesystemIsolatorTest_ROOT_ChangeRootFilesystem_yYg8z0/provisioner/containers/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf/backends/aufs/rootfses/b21ea6c2-bdcd-4511-b57b-86cfdc6722d1
> Failed to execute command: No such file or directory
> I0205 00:49:41.904868 98293 containerizer.cpp:2482] Container 
> e41c62c5-c0e1-4cc0-9c59-4793d9d086bf has exited
> I0205 00:49:41.904922 98293 containerizer.cpp:2119] Destroying container 
> e41c62c5-c0e1-4cc0-9c59-4793d9d086bf in RUNNING state
> I0205 00:49:41.905582 98303 linux_launcher.cpp:505] Asked to destroy 
> container e41c62c5-c0e1-4cc0-9c59-4793d9d086bf
> I0205 00:49:41.906301 98303 linux_launcher.cpp:548] Using freezer to destroy 
> cgroup mesos/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf
> I0205 00:49:41.907871 98298 cgroups.cpp:2726] Freezing cgroup 
> /sys/fs/cgroup/freezer/mesos/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf
> I0205 00:49:41.909617 98294 cgroups.cpp:1439] Successfully froze cgroup 
> /sys/fs/cgroup/freezer/mesos/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf after 
> 1.66016ms
> I0205 00:49:41.911558 98300 cgroups.cpp:2744] Thawing cgroup 
> /sys/fs/cgroup/freezer/mesos/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf
> I0205 00:49:41.913187 98300 cgroups.cpp:1468] Successfully thawed cgroup 
> /sys/fs/cgroup/freezer/mesos/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf after 
> 1.569024ms
> I0205 00:49:41.917798 98294 provisioner.cpp:534] Destroying container rootfs 
> at 
> '/tmp/LinuxFilesystemIsolatorTest_ROOT_ChangeRootFilesystem_yYg8z0/provisioner/containers/e41c62c5-c0e1-4cc0-9c59-4793d9d086bf/backends/aufs/rootfses/b21ea6c2-bdcd-4511-b57b-86cfdc6722d1'
>  for container e41c62c5-c0e1-4cc0-9c59-4793d9d086bf
> /home/ubuntu/workspace/mesos/src/tests/containerizer/linux_filesystem_isolator_tests.cpp:128:
>  Failure
> Value of: WEXITSTATUS(wait->get().status())
>   Actual: 233
> Expected: 0
> Which is: 0
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_ChangeRootFilesystem (786 ms)
> [----------] 1 test from LinuxFilesystemIsolatorTest (787 ms total)
> [----------] Global test environment tear-down
> [==========] 1 test from 1 test case ran. (813 ms total)
> [  PASSED  ] 0 tests.
> [  FAILED  ] 1 test, listed below:
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_ChangeRootFilesystem
> {noformat}
> This is just an example, other tests depending on DockerArchive and 
> LinuxRootfs failed on ubuntu16.
> {noformat}
> [  FAILED  ] AppcProvisionerIntegrationTest.ROOT_SimpleLinuxImageTest
> [  FAILED  ] ProvisionerDockerPullerTest.ROOT_LocalPullerSimpleCommand
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_ChangeRootFilesystem
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_VolumeFromSandbox
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_VolumeFromHost
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_FileVolumeFromHost
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_VolumeFromHostSandboxMountPoint
> [  FAILED  ] 
> LinuxFilesystemIsolatorTest.ROOT_FileVolumeFromHostSandboxMountPoint
> [  FAILED  ] 
> LinuxFilesystemIsolatorTest.ROOT_PersistentVolumeWithRootFilesystem
> [  FAILED  ] LinuxFilesystemIsolatorTest.ROOT_MultipleContainers
> [  FAILED  ] 
> LinuxFilesystemIsolatorMesosTest.ROOT_ChangeRootFilesystemCommandExecutor
> [  FAILED  ] 
> LinuxFilesystemIsolatorMesosTest.ROOT_ChangeRootFilesystemCommandExecutorWithHostVolumes
> [  FAILED  ] 
> LinuxFilesystemIsolatorMesosTest.ROOT_ChangeRootFilesystemCommandExecutorPersistentVolume
> [  FAILED  ] LinuxFilesystemIsolatorMesosTest.ROOT_SandboxEnvironmentVariable
> [  FAILED  ] DockerRuntimeIsolatorTest.ROOT_DockerDefaultCmdLocalPuller
> [  FAILED  ] DockerRuntimeIsolatorTest.ROOT_DockerDefaultEntryptLocalPuller
> [  FAILED  ] DockerRuntimeIsolatorTest.ROOT_NestedDockerDefaultCmdLocalPuller
> [  FAILED  ] 
> DockerRuntimeIsolatorTest.ROOT_NestedDockerDefaultEntryptLocalPuller
> [  FAILED  ] TestParam/LinuxCapabilitiesIsolatorTest.ROOT_Ping/11, where 
> GetParam() = 
> requested='{"capabilities":["DAC_READ_SEARCH","NET_ADMIN","NET_RAW"]}', 
> allowed='none', use_image=true, result=success'
> [  FAILED  ] TestParam/LinuxCapabilitiesIsolatorTest.ROOT_Ping/13, where 
> GetParam() = requested='none', 
> allowed='{"capabilities":["DAC_READ_SEARCH","NET_ADMIN","NET_RAW"]}', 
> use_image=true, result=success'
> [  FAILED  ] TestParam/LinuxCapabilitiesIsolatorTest.ROOT_Ping/15, where 
> GetParam() = 
> requested='{"capabilities":["DAC_READ_SEARCH","NET_ADMIN","NET_RAW"]}', 
> allowed='{"capabilities":["DAC_READ_SEARCH","NET_ADMIN","NET_RAW"]}', 
> use_image=true, result=su
> ccess'
> [  FAILED  ] 
> Nesting/VolumeImageIsolatorTest.ROOT_ImageInVolumeWithRootFilesystem/0, where 
> GetParam() = false
> [  FAILED  ] 
> Nesting/VolumeImageIsolatorTest.ROOT_ImageInVolumeWithRootFilesystem/1, where 
> GetParam() = true
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to