diff for duplicates of <20191011175006.GA25464@xps13.dannf>
diff --git a/a/1.txt b/N1/1.txt
index fdb9761..4a667c5 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -72,4 +72,145 @@ index ca83e32c7f..024c4c567d 100644
+ event_notifier_set(&ctx->notifier);
atomic_mb_set(&ctx->notified, true);
}
- }
\ No newline at end of file
+ }
+
+--
+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 d0978fb..7c50d89 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,29 +1,5 @@
[
- "ref\0d94f18f1-986f-ec19-02c0-e83e5e7af3d0\@redhat.com\0"
-]
-[
- "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\000154327283728.15443.11625169757714443608.malonedeb\@soybean.canonical.com\0"
]
[
"ref\00020191011060518.GA6920\@hc\0"
@@ -32,21 +8,13 @@
"From\0dann frazier <dann.frazier\@canonical.com>\0"
]
[
- "Subject\0Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
-]
-[
- "Date\0Fri, 11 Oct 2019 11:50:06 -0600\0"
+ "Subject\0[Bug 1805256] Re: [Qemu-devel] qemu_futex_wait() lockups in ARM64: 2 possible issues\0"
]
[
- "To\0Jan Glauber <jglauber\@marvell.com>\0"
+ "Date\0Fri, 11 Oct 2019 17:50:06 -0000\0"
]
[
- "Cc\0Rafael David Tinoco <rafaeldtinoco\@ubuntu.com>",
- " lizhengui <lizhengui\@huawei.com>",
- " QEMU Developers <qemu-devel\@nongnu.org>",
- " Bug 1805256 <1805256\@bugs.launchpad.net>",
- " QEMU Developers - ARM <qemu-arm\@nongnu.org>",
- " Paolo Bonzini <pbonzini\@redhat.com>\0"
+ "To\0qemu-devel\@nongnu.org\0"
]
[
"\0000:1\0"
@@ -129,7 +97,148 @@
"+\tevent_notifier_set(&ctx->notifier);\n",
" atomic_mb_set(&ctx->notified, true);\n",
" }\n",
- " }"
+ " }\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"
]
-e56f1b8c3acdaebf41164f3ed19a44cde330f4d08057b73965f74dfcea552eef
+8db4aa078ba4ea3cfcf923290160983ae6bff120486df1da18dfe458983f16e8
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.