All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20191002110550.GA3482@hc>

diff --git a/a/1.txt b/N1/1.txt
index e28c79f..972d59d 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -27,3 +27,142 @@ Jan
 > Thanks,
 > 
 > Paolo
+
+-- 
+You received this bug notification because you are a member of qemu-
+devel-ml, which is subscribed to QEMU.
+https://bugs.launchpad.net/bugs/1805256
+
+Title:
+  qemu-img hangs on rcu_call_ready_event logic in Aarch64 when
+  converting images
+
+Status in QEMU:
+  In Progress
+Status in qemu package in Ubuntu:
+  In Progress
+Status in qemu source package in Bionic:
+  New
+Status in qemu source package in Disco:
+  New
+Status in qemu source package in Eoan:
+  In Progress
+Status in qemu source package in FF-Series:
+  New
+
+Bug description:
+  Command:
+
+  qemu-img convert -f qcow2 -O qcow2 ./disk01.qcow2 ./output.qcow2
+
+  Hangs indefinitely approximately 30% of the runs.
+
+  ----
+
+  Workaround:
+
+  qemu-img convert -m 1 -f qcow2 -O qcow2 ./disk01.qcow2 ./output.qcow2
+
+  Run "qemu-img convert" with "a single coroutine" to avoid this issue.
+
+  ----
+
+  (gdb) thread 1
+  ...
+  (gdb) bt
+  #0 0x0000ffffbf1ad81c in __GI_ppoll
+  #1 0x0000aaaaaabcf73c in ppoll
+  #2 qemu_poll_ns
+  #3 0x0000aaaaaabd0764 in os_host_main_loop_wait
+  #4 main_loop_wait
+  ...
+
+  (gdb) thread 2
+  ...
+  (gdb) bt
+  #0 syscall ()
+  #1 0x0000aaaaaabd41cc in qemu_futex_wait
+  #2 qemu_event_wait (ev=ev@entry=0xaaaaaac86ce8 <rcu_call_ready_event>)
+  #3 0x0000aaaaaabed05c in call_rcu_thread
+  #4 0x0000aaaaaabd34c8 in qemu_thread_start
+  #5 0x0000ffffbf25c880 in start_thread
+  #6 0x0000ffffbf1b6b9c in thread_start ()
+
+  (gdb) thread 3
+  ...
+  (gdb) bt
+  #0 0x0000ffffbf11aa20 in __GI___sigtimedwait
+  #1 0x0000ffffbf2671b4 in __sigwait
+  #2 0x0000aaaaaabd1ddc in sigwait_compat
+  #3 0x0000aaaaaabd34c8 in qemu_thread_start
+  #4 0x0000ffffbf25c880 in start_thread
+  #5 0x0000ffffbf1b6b9c in thread_start
+
+  ----
+
+  (gdb) run
+  Starting program: /usr/bin/qemu-img convert -f qcow2 -O qcow2
+  ./disk01.ext4.qcow2 ./output.qcow2
+
+  [New Thread 0xffffbec5ad90 (LWP 72839)]
+  [New Thread 0xffffbe459d90 (LWP 72840)]
+  [New Thread 0xffffbdb57d90 (LWP 72841)]
+  [New Thread 0xffffacac9d90 (LWP 72859)]
+  [New Thread 0xffffa7ffed90 (LWP 72860)]
+  [New Thread 0xffffa77fdd90 (LWP 72861)]
+  [New Thread 0xffffa6ffcd90 (LWP 72862)]
+  [New Thread 0xffffa67fbd90 (LWP 72863)]
+  [New Thread 0xffffa5ffad90 (LWP 72864)]
+
+  [Thread 0xffffa5ffad90 (LWP 72864) exited]
+  [Thread 0xffffa6ffcd90 (LWP 72862) exited]
+  [Thread 0xffffa77fdd90 (LWP 72861) exited]
+  [Thread 0xffffbdb57d90 (LWP 72841) exited]
+  [Thread 0xffffa67fbd90 (LWP 72863) exited]
+  [Thread 0xffffacac9d90 (LWP 72859) exited]
+  [Thread 0xffffa7ffed90 (LWP 72860) exited]
+
+  <HUNG w/ 3 threads in the stack trace showed before>
+  """
+
+  All the tasks left are blocked in a system call, so no task left to call
+  qemu_futex_wake() to unblock thread #2 (in futex()), which would unblock
+  thread #1 (doing poll() in a pipe with thread #2).
+
+  Those 7 threads exit before disk conversion is complete (sometimes in
+  the beginning, sometimes at the end).
+
+  ----
+
+  [ Original Description ]
+
+  On the HiSilicon D06 system - a 96 core NUMA arm64 box - qemu-img
+  frequently hangs (~50% of the time) with this command:
+
+  qemu-img convert -f qcow2 -O qcow2 /tmp/cloudimg /tmp/cloudimg2
+
+  Where "cloudimg" is a standard qcow2 Ubuntu cloud image. This
+  qcow2->qcow2 conversion happens to be something uvtool does every time
+  it fetches images.
+
+  Once hung, attaching gdb gives the following backtrace:
+
+  (gdb) bt
+  #0  0x0000ffffae4f8154 in __GI_ppoll (fds=0xaaaae8a67dc0, nfds=187650274213760,
+      timeout=<optimized out>, timeout@entry=0x0, sigmask=0xffffc123b950)
+      at ../sysdeps/unix/sysv/linux/ppoll.c:39
+  #1  0x0000aaaabbefaf00 in ppoll (__ss=0x0, __timeout=0x0, __nfds=<optimized out>,
+      __fds=<optimized out>) at /usr/include/aarch64-linux-gnu/bits/poll2.h:77
+  #2  qemu_poll_ns (fds=<optimized out>, nfds=<optimized out>,
+      timeout=timeout@entry=-1) at util/qemu-timer.c:322
+  #3  0x0000aaaabbefbf80 in os_host_main_loop_wait (timeout=-1)
+      at util/main-loop.c:233
+  #4  main_loop_wait (nonblocking=<optimized out>) at util/main-loop.c:497
+  #5  0x0000aaaabbe2aa30 in convert_do_copy (s=0xffffc123bb58) at qemu-img.c:1980
+  #6  img_convert (argc=<optimized out>, argv=<optimized out>) at qemu-img.c:2456
+  #7  0x0000aaaabbe2333c in main (argc=7, argv=<optimized out>) at qemu-img.c:4975
+
+  Reproduced w/ latest QEMU git (@ 53744e0a182)
+
+To manage notifications about this bug go to:
+https://bugs.launchpad.net/qemu/+bug/1805256/+subscriptions
diff --git a/a/content_digest b/N1/content_digest
index db3ed96..5d2e992 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,19 +1,8 @@
- "ref\0cbe46ad6-ef6c-d155-e79a-672182c725ad@ubuntu.com\0"
- "ref\0d94f18f1-986f-ec19-02c0-e83e5e7af3d0@redhat.com\0"
- "ref\01864070a-2f84-1d98-341e-f01ddf74ec4b@ubuntu.com\0"
- "ref\020190924202517.GA21422@xps13.dannf\0"
- "ref\020191002092253.GA3857@hc\0"
- "ref\0ed5c4522-9250-e403-c55d-d3dbcda82540@redhat.com\0"
+ "ref\0154327283728.15443.11625169757714443608.malonedeb@soybean.canonical.com\0"
  "From\0Jan Glauber <jglauber@marvell.com>\0"
- "Subject\0Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
- "Date\0Wed, 2 Oct 2019 11:05:59 +0000\0"
- "To\0Paolo Bonzini <pbonzini@redhat.com>\0"
- "Cc\0Rafael David Tinoco <rafaeldtinoco@ubuntu.com>"
-  lizhengui <lizhengui@huawei.com>
-  dann frazier <dann.frazier@canonical.com>
-  QEMU Developers <qemu-devel@nongnu.org>
-  Bug 1805256 <1805256@bugs.launchpad.net>
- " QEMU Developers - ARM <qemu-arm@nongnu.org>\0"
+ "Subject\0[Bug 1805256] Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
+ "Date\0Wed, 02 Oct 2019 11:05:59 -0000\0"
+ "To\0qemu-devel@nongnu.org\0"
  "\00:1\0"
  "b\0"
  "On Wed, Oct 02, 2019 at 11:45:19AM +0200, Paolo Bonzini wrote:\n"
@@ -44,6 +33,145 @@
  "\n"
  "> Thanks,\n"
  "> \n"
- > Paolo
+ "> Paolo\n"
+ "\n"
+ "-- \n"
+ "You received this bug notification because you are a member of qemu-\n"
+ "devel-ml, which is subscribed to QEMU.\n"
+ "https://bugs.launchpad.net/bugs/1805256\n"
+ "\n"
+ "Title:\n"
+ "  qemu-img hangs on rcu_call_ready_event logic in Aarch64 when\n"
+ "  converting images\n"
+ "\n"
+ "Status in QEMU:\n"
+ "  In Progress\n"
+ "Status in qemu package in Ubuntu:\n"
+ "  In Progress\n"
+ "Status in qemu source package in Bionic:\n"
+ "  New\n"
+ "Status in qemu source package in Disco:\n"
+ "  New\n"
+ "Status in qemu source package in Eoan:\n"
+ "  In Progress\n"
+ "Status in qemu source package in FF-Series:\n"
+ "  New\n"
+ "\n"
+ "Bug description:\n"
+ "  Command:\n"
+ "\n"
+ "  qemu-img convert -f qcow2 -O qcow2 ./disk01.qcow2 ./output.qcow2\n"
+ "\n"
+ "  Hangs indefinitely approximately 30% of the runs.\n"
+ "\n"
+ "  ----\n"
+ "\n"
+ "  Workaround:\n"
+ "\n"
+ "  qemu-img convert -m 1 -f qcow2 -O qcow2 ./disk01.qcow2 ./output.qcow2\n"
+ "\n"
+ "  Run \"qemu-img convert\" with \"a single coroutine\" to avoid this issue.\n"
+ "\n"
+ "  ----\n"
+ "\n"
+ "  (gdb) thread 1\n"
+ "  ...\n"
+ "  (gdb) bt\n"
+ "  #0 0x0000ffffbf1ad81c in __GI_ppoll\n"
+ "  #1 0x0000aaaaaabcf73c in ppoll\n"
+ "  #2 qemu_poll_ns\n"
+ "  #3 0x0000aaaaaabd0764 in os_host_main_loop_wait\n"
+ "  #4 main_loop_wait\n"
+ "  ...\n"
+ "\n"
+ "  (gdb) thread 2\n"
+ "  ...\n"
+ "  (gdb) bt\n"
+ "  #0 syscall ()\n"
+ "  #1 0x0000aaaaaabd41cc in qemu_futex_wait\n"
+ "  #2 qemu_event_wait (ev=ev@entry=0xaaaaaac86ce8 <rcu_call_ready_event>)\n"
+ "  #3 0x0000aaaaaabed05c in call_rcu_thread\n"
+ "  #4 0x0000aaaaaabd34c8 in qemu_thread_start\n"
+ "  #5 0x0000ffffbf25c880 in start_thread\n"
+ "  #6 0x0000ffffbf1b6b9c in thread_start ()\n"
+ "\n"
+ "  (gdb) thread 3\n"
+ "  ...\n"
+ "  (gdb) bt\n"
+ "  #0 0x0000ffffbf11aa20 in __GI___sigtimedwait\n"
+ "  #1 0x0000ffffbf2671b4 in __sigwait\n"
+ "  #2 0x0000aaaaaabd1ddc in sigwait_compat\n"
+ "  #3 0x0000aaaaaabd34c8 in qemu_thread_start\n"
+ "  #4 0x0000ffffbf25c880 in start_thread\n"
+ "  #5 0x0000ffffbf1b6b9c in thread_start\n"
+ "\n"
+ "  ----\n"
+ "\n"
+ "  (gdb) run\n"
+ "  Starting program: /usr/bin/qemu-img convert -f qcow2 -O qcow2\n"
+ "  ./disk01.ext4.qcow2 ./output.qcow2\n"
+ "\n"
+ "  [New Thread 0xffffbec5ad90 (LWP 72839)]\n"
+ "  [New Thread 0xffffbe459d90 (LWP 72840)]\n"
+ "  [New Thread 0xffffbdb57d90 (LWP 72841)]\n"
+ "  [New Thread 0xffffacac9d90 (LWP 72859)]\n"
+ "  [New Thread 0xffffa7ffed90 (LWP 72860)]\n"
+ "  [New Thread 0xffffa77fdd90 (LWP 72861)]\n"
+ "  [New Thread 0xffffa6ffcd90 (LWP 72862)]\n"
+ "  [New Thread 0xffffa67fbd90 (LWP 72863)]\n"
+ "  [New Thread 0xffffa5ffad90 (LWP 72864)]\n"
+ "\n"
+ "  [Thread 0xffffa5ffad90 (LWP 72864) exited]\n"
+ "  [Thread 0xffffa6ffcd90 (LWP 72862) exited]\n"
+ "  [Thread 0xffffa77fdd90 (LWP 72861) exited]\n"
+ "  [Thread 0xffffbdb57d90 (LWP 72841) exited]\n"
+ "  [Thread 0xffffa67fbd90 (LWP 72863) exited]\n"
+ "  [Thread 0xffffacac9d90 (LWP 72859) exited]\n"
+ "  [Thread 0xffffa7ffed90 (LWP 72860) exited]\n"
+ "\n"
+ "  <HUNG w/ 3 threads in the stack trace showed before>\n"
+ "  \"\"\"\n"
+ "\n"
+ "  All the tasks left are blocked in a system call, so no task left to call\n"
+ "  qemu_futex_wake() to unblock thread #2 (in futex()), which would unblock\n"
+ "  thread #1 (doing poll() in a pipe with thread #2).\n"
+ "\n"
+ "  Those 7 threads exit before disk conversion is complete (sometimes in\n"
+ "  the beginning, sometimes at the end).\n"
+ "\n"
+ "  ----\n"
+ "\n"
+ "  [ Original Description ]\n"
+ "\n"
+ "  On the HiSilicon D06 system - a 96 core NUMA arm64 box - qemu-img\n"
+ "  frequently hangs (~50% of the time) with this command:\n"
+ "\n"
+ "  qemu-img convert -f qcow2 -O qcow2 /tmp/cloudimg /tmp/cloudimg2\n"
+ "\n"
+ "  Where \"cloudimg\" is a standard qcow2 Ubuntu cloud image. This\n"
+ "  qcow2->qcow2 conversion happens to be something uvtool does every time\n"
+ "  it fetches images.\n"
+ "\n"
+ "  Once hung, attaching gdb gives the following backtrace:\n"
+ "\n"
+ "  (gdb) bt\n"
+ "  #0  0x0000ffffae4f8154 in __GI_ppoll (fds=0xaaaae8a67dc0, nfds=187650274213760,\n"
+ "  \302\240\302\240\302\240\302\240timeout=<optimized out>, timeout@entry=0x0, sigmask=0xffffc123b950)\n"
+ "  \302\240\302\240\302\240\302\240at ../sysdeps/unix/sysv/linux/ppoll.c:39\n"
+ "  #1  0x0000aaaabbefaf00 in ppoll (__ss=0x0, __timeout=0x0, __nfds=<optimized out>,\n"
+ "  \302\240\302\240\302\240\302\240__fds=<optimized out>) at /usr/include/aarch64-linux-gnu/bits/poll2.h:77\n"
+ "  #2  qemu_poll_ns (fds=<optimized out>, nfds=<optimized out>,\n"
+ "  \302\240\302\240\302\240\302\240timeout=timeout@entry=-1) at util/qemu-timer.c:322\n"
+ "  #3  0x0000aaaabbefbf80 in os_host_main_loop_wait (timeout=-1)\n"
+ "  \302\240\302\240\302\240\302\240at util/main-loop.c:233\n"
+ "  #4  main_loop_wait (nonblocking=<optimized out>) at util/main-loop.c:497\n"
+ "  #5  0x0000aaaabbe2aa30 in convert_do_copy (s=0xffffc123bb58) at qemu-img.c:1980\n"
+ "  #6  img_convert (argc=<optimized out>, argv=<optimized out>) at qemu-img.c:2456\n"
+ "  #7  0x0000aaaabbe2333c in main (argc=7, argv=<optimized out>) at qemu-img.c:4975\n"
+ "\n"
+ "  Reproduced w/ latest QEMU git (@ 53744e0a182)\n"
+ "\n"
+ "To manage notifications about this bug go to:\n"
+ https://bugs.launchpad.net/qemu/+bug/1805256/+subscriptions
 
-113268ea23434c16f742cd575d2b68c861648017bca482f36a5e6e0dae26e6ea
+996b29e1bd5d953af80d55804a4b300fdec1e61eab5eeba064de3afa75979c38

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.