[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qemu-devel
Subject:    [Qemu-devel] [Bug 1591611] [NEW] chroot using qemu-x86_64-static fails on ppc64el
From:       Timothy Pearson <kb9vqf () pearsoncomputing ! net>
Date:       2016-06-12 6:16:20
Message-ID: 20160612061620.2663.17249.malonedeb () chaenomeles ! canonical ! com
[Download RAW message or body]

Public bug reported:

When attempting to use qemu-x86_64-static from qemu 2.5.0 on a ppc64el
host to chroot into an amd64 environment, all commands fail with an
assertion error.  /usr/bin/qemu-x86_64-static from the host was copied
into the chroot /usr/bin, and the host has multiformat support in the
kernel.

Sample output illustrating the problem, as well as bash builtins
working:

# chroot /virtualbox/scratchdisks_local_001/amd64_chroot qemu-x86_64-static /bin/bash
# ls
bash: ../sysdeps/nptl/fork.c:136: __libc_fork: Assertion `({ __typeof (self->tid) \
__value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" \
(__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof \
(__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" \
(__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort \
(); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof \
                (struct pthread, tid))); } __value; }) != ppid' failed.
setup_frame: not implemented
setup_frame: not implemented
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
setup_frame: not implemented
setup_frame: not implemented
# echo TEST
TEST
# cat test
bash: ../sysdeps/nptl/fork.c:136: __libc_fork: Assertion `({ __typeof (self->tid) \
__value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" \
(__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof \
(__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" \
(__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort \
(); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof \
                (struct pthread, tid))); } __value; }) != ppid' failed.
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault

It is currently unknown if other host architectures (e.g. aarch64) are
also affected.

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: amd64 chroot ppc usermode

** Tags added: ppc

** Tags added: amd64 chroot usermode

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1591611

Title:
  chroot using qemu-x86_64-static fails on ppc64el

Status in QEMU:
  New

Bug description:
  When attempting to use qemu-x86_64-static from qemu 2.5.0 on a ppc64el
  host to chroot into an amd64 environment, all commands fail with an
  assertion error.  /usr/bin/qemu-x86_64-static from the host was copied
  into the chroot /usr/bin, and the host has multiformat support in the
  kernel.

  Sample output illustrating the problem, as well as bash builtins
  working:

  # chroot /virtualbox/scratchdisks_local_001/amd64_chroot qemu-x86_64-static \
/bin/bash  # ls
  bash: ../sysdeps/nptl/fork.c:136: __libc_fork: Assertion `({ __typeof (self->tid) \
__value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" \
(__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof \
(__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" \
(__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort \
(); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof \
(struct pthread, tid))); } __value; }) != ppid' failed.  setup_frame: not implemented
  setup_frame: not implemented
  qemu: uncaught target signal 11 (Segmentation fault) - core dumped
  Segmentation fault
  setup_frame: not implemented
  setup_frame: not implemented
  # echo TEST
  TEST
  # cat test
  bash: ../sysdeps/nptl/fork.c:136: __libc_fork: Assertion `({ __typeof (self->tid) \
__value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" \
(__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof \
(__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" \
(__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort \
(); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof \
(struct pthread, tid))); } __value; }) != ppid' failed.  qemu: uncaught target signal \
11 (Segmentation fault) - core dumped  Segmentation fault

  It is currently unknown if other host architectures (e.g. aarch64) are
  also affected.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1591611/+subscriptions


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic