All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1864070a-2f84-1d98-341e-f01ddf74ec4b@ubuntu.com>

diff --git a/a/1.txt b/N1/1.txt
index d1d871d..c610993 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -160,4 +160,135 @@ index c10642a385..140e1e86f5 100644
 +
      aio_set_event_notifier(ctx, &ctx->notifier,
                             false,
-                            (EventNotifierHandler *)
\ No newline at end of file
+                            (EventNotifierHandler *)
+
+-- 
+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
+
+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
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 9329755..22c4ae8 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,26 +1,17 @@
 [
-  "ref\0cbe46ad6-ef6c-d155-e79a-672182c725ad\@ubuntu.com\0"
+  "ref\000154327283728.15443.11625169757714443608.malonedeb\@soybean.canonical.com\0"
 ]
 [
-  "ref\0d94f18f1-986f-ec19-02c0-e83e5e7af3d0\@redhat.com\0"
+  "From\0Rafael David Tinoco <rafaeldtinoco\@kernelpath.com>\0"
 ]
 [
-  "From\0Rafael David Tinoco <rafaeldtinoco\@ubuntu.com>\0"
+  "Subject\0[Qemu-devel] [Bug 1805256] Re: qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
 ]
 [
-  "Subject\0Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
+  "Date\0Wed, 11 Sep 2019 19:09:25 -0000\0"
 ]
 [
-  "Date\0Wed, 11 Sep 2019 16:09:25 -0300\0"
-]
-[
-  "To\0Paolo Bonzini <pbonzini\@redhat.com>\0"
-]
-[
-  "Cc\0Bug 1805256 <1805256\@bugs.launchpad.net>",
-  " QEMU Developers - ARM <qemu-arm\@nongnu.org>",
-  " lizhengui <lizhengui\@huawei.com>",
-  " QEMU Developers <qemu-devel\@nongnu.org>\0"
+  "To\0qemu-devel\@nongnu.org\0"
 ]
 [
   "\0000:1\0"
@@ -191,7 +182,138 @@
   "+\n",
   "     aio_set_event_notifier(ctx, &ctx->notifier,\n",
   "                            false,\n",
-  "                            (EventNotifierHandler *)"
+  "                            (EventNotifierHandler *)\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",
+  "\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"
 ]
 
-b2d9de465a678045d81a0caebba86e1f15cff851671796b720fa1c56df601f1d
+e2012975041d4c8de1a18c8a757d5f2ee60744de7f5fa8e95fe627ae3fbe3d50

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.