qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
diff for duplicates of <20191011082954.GA10493@hc>

diff --git a/a/1.txt b/N1/1.txt
index 8038b3c..d0cd328 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -24,4 +24,145 @@ Good point. I'll try to force both into the same cacheline.
 
 > Paolo
 > 
-> > Dann, can you try if this works on the Hi1620 too?
\ No newline at end of file
+> > Dann, can you try if this works on the Hi1620 too?
+
+-- 
+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 kunpeng920:
+  New
+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/kunpeng920/+bug/1805256/+subscriptions
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 27ae2b8..1bc21d5 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,52 +1,17 @@
 [
-  "ref\0001864070a-2f84-1d98-341e-f01ddf74ec4b\@ubuntu.com\0"
-]
-[
-  "ref\00020190924202517.GA21422\@xps13.dannf\0"
-]
-[
-  "ref\00020191002092253.GA3857\@hc\0"
-]
-[
-  "ref\0006dd73749-49b0-0fbc-b9bb-44c3736642b8\@redhat.com\0"
-]
-[
-  "ref\00020191007144432.GA29958\@xps13.dannf\0"
-]
-[
-  "ref\000065a52a9-5bb0-1259-6c73-41af60e0a05d\@redhat.com\0"
-]
-[
-  "ref\00020191009080220.GA2905\@hc\0"
-]
-[
-  "ref\0d5367b2a-84ee-1211-a2dc-7d631c94fe3f\@redhat.com\0"
-]
-[
-  "ref\00020191011060518.GA6920\@hc\0"
-]
-[
-  "ref\000966c119d-aa76-2149-108f-867aebd772f7\@redhat.com\0"
+  "ref\000154327283728.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\0Fri, 11 Oct 2019 08:30:02 +0000\0"
+  "Subject\0[Bug 1805256] Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
 ]
 [
-  "To\0Paolo Bonzini <pbonzini\@redhat.com>\0"
+  "Date\0Fri, 11 Oct 2019 08:30:02 -0000\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"
+  "To\0qemu-devel\@nongnu.org\0"
 ]
 [
   "\0000:1\0"
@@ -81,7 +46,148 @@
   "\n",
   "> Paolo\n",
   "> \n",
-  "> > Dann, can you try if this works on the Hi1620 too?"
+  "> > Dann, can you try if this works on the Hi1620 too?\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 kunpeng920:\n",
+  "  New\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/kunpeng920/+bug/1805256/+subscriptions"
 ]
 
-b784c7d879c9e994f730b3cfd417d374027c326e2be2af414d11c30122e31a1f
+35b4211f5f70e2260d79e1afee701f405ce8d07d3ea344b27407f0d6a56f4ef3

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).