From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Juan Quintela <quintela@redhat.com>
Subject: Re: intermittent hang, migration-test, 32-bit arm
Date: Mon, 17 Jan 2022 11:23:00 +0000 [thread overview]
Message-ID: <87sftma9lj.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA_dGRnM-2u3Lvq-ETP87oz3jEvWRf=vknbur3UxN9APJg@mail.gmail.com>
Peter Maydell <peter.maydell@linaro.org> writes:
> Hi; I see intermittent hangs in the qtest migration-test on my
> 32-bit arm setup (which is a chroot on a 64-bit arm box). Here's
> a backtrace:
>
> Process tree:
> migration-test(13212)-+-qemu-system-aar(24798)
> |-qemu-system-aar(24813)
> `-qemu-system-aar(25455)
> ===========================================================
I think I've seen it hang with qemu-system-aarch64 (on my x86-64 dev
setup). Or at least I had to kill a qtest which had been going for over
2000s when the normal run in ~65s. I'll try and capture a backtrace next
time.
> PROCESS: 13212
> pmaydell 13212 11608 31 Jan16 ? 04:29:22
> /home/peter.maydell/qemu/build/all-a32/tests/qtest/migration-test
> --tap -k
> [New LWP 13213]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
> __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
> 47 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file
> or directory.
>
> Thread 2 (Thread 0xf7c3f440 (LWP 13213)):
> #0 syscall () at ../sysdeps/unix/sysv/linux/arm/syscall.S:37
> #1 0x005757fa in qemu_futex_wait (val=<optimised out>, f=<optimised
> out>) at /home/peter.maydell/qemu/include/qemu/futex.h:29
> #2 qemu_event_wait (ev=ev@entry=0x5a2a58 <rcu_call_ready_event>) at
> ../../util/qemu-thread-posix.c:481
> #3 0x0057dd62 in call_rcu_thread (opaque=<optimised out>) at
> ../../util/rcu.c:261
> #4 0x00574cea in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #5 0xf7d9a614 in start_thread (arg=0x21eebe87) at pthread_create.c:463
> #6 0xf7d357ec in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
> from /lib/arm-linux-gnueabihf/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> Thread 1 (Thread 0xf7f31010 (LWP 13212)):
> #0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
> #1 0xf7da1d8c in __libc_read (fd=fd@entry=4,
> buf=buf@entry=0xfff0da2f, nbytes=nbytes@entry=1) at
> ../sysdeps/unix/sysv/linux/read.c:27
> #2 0x0055d3fc in read (__nbytes=1, __buf=0xfff0da2f, __fd=4) at
> /usr/include/arm-linux-gnueabihf/bits/unistd.h:44
> #3 qmp_fd_receive (fd=4) at ../../tests/qtest/libqtest.c:613
> #4 0x0055d474 in qtest_qmp_receive_dict (s=0xefa798) at
> ../../tests/qtest/libqtest.c:648
> #5 qtest_qmp_receive (s=s@entry=0xefa798) at ../../tests/qtest/libqtest.c:636
> #6 0x0055da5c in qtest_vqmp (s=s@entry=0xefa798,
> fmt=fmt@entry=0x28b77700 <error: Cannot access memory at address
> 0x28b77700>, ap=..., ap@entry=...) at ../../tests/qtest/libqtest.c:749
> #7 0x0055c420 in wait_command (who=0xefa798, command=0x5828dc "{
> 'execute': 'query-migrate' }") at
> ../../tests/qtest/migration-helpers.c:63
> #8 0x0055c4ea in migrate_query (who=<optimised out>) at
> ../../tests/qtest/migration-helpers.c:107
> #9 migrate_query_status (who=<optimised out>) at
> ../../tests/qtest/migration-helpers.c:116
> #10 0x0055c656 in check_migration_status (ungoals=0x0, goal=0x582208
> "cancelled", who=0xefa798) at
> ../../tests/qtest/migration-helpers.c:132
> #11 wait_for_migration_status (who=0xefa798, goal=0x582208
> "cancelled", ungoals=0x0) at ../../tests/qtest/migration-helpers.c:156
> #12 0x0055bb4e in test_multifd_tcp_cancel () at
> ../../tests/qtest/migration-test.c:1376
> #13 0xf7e8ee74 in ?? () from /usr/lib/arm-linux-gnueabihf/libglib-2.0.so.0
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
> ===========================================================
> PROCESS: 24798
> pmaydell 24798 13212 99 Jan16 ? 18:03:09 ./qemu-system-aarch64
> -qtest unix:/tmp/qtest-13212.sock -qtest-log /dev/null -chardev
> socket,path=/tmp/qtest-13212.qmp,id=char0 -mon
> chardev=char0,mode=control -display none -accel kvm -accel tcg
> -machine virt,gic-version=max -name source,debug-threads=on -m 150M
> -serial file:/tmp/migration-test-weBz3n/src_serial -cpu max -kernel
> /tmp/migration-test-weBz3n/bootsect -accel qtest
> [New LWP 24808]
> [New LWP 24809]
> [New LWP 24810]
> [New LWP 25267]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
> __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> 46 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file
> or directory.
>
> Thread 5 (Thread 0xd27f5b70 (LWP 25267)):
> #0 0xf6d48f04 in __libc_do_syscall () at
> ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> #1 0xf6d46194 in futex_abstimed_wait_cancelable (private=0,
> abstime=0x0, expected=1, futex_word=0x3fd1458) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:205
> #2 0xf6d46194 in do_futex_wait (sem=sem@entry=0x3fd1458, abstime=0x0)
> at sem_waitcommon.c:115
> #3 0xf6d46274 in __new_sem_wait_slow (sem=sem@entry=0x3fd1458,
> abstime=0x0) at sem_waitcommon.c:282
> #4 0xf6d462de in __new_sem_wait (sem=sem@entry=0x3fd1458) at sem_wait.c:42
> #5 0x011bc95a in qemu_sem_wait (sem=sem@entry=0x3fd1458) at
> ../../util/qemu-thread-posix.c:358
> #6 0x00bed020 in multifd_send_sync_main (f=0x35aa7c8) at
> ../../migration/multifd.c:624
> #7 0x00fa4b66 in ram_save_iterate (f=0x35aa7c8, opaque=<optimised
> out>) at ../../migration/ram.c:3133
> #8 0x00bf2df6 in qemu_savevm_state_iterate (f=0x35aa7c8,
> postcopy=postcopy@entry=false) at ../../migration/savevm.c:1296
> #9 0x00bea7ac in migration_iteration_run (s=0x34012f0) at
> ../../migration/migration.c:3597
> #10 0x00bea7ac in migration_thread (opaque=0x34012f0) at
> ../../migration/migration.c:3838
> #11 0x011bbfd2 in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #12 0xf6d3f614 in start_thread (arg=0xb604dd4d) at pthread_create.c:463
> #13 0xf6cda7ec in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
>
> Thread 4 (Thread 0xdbffdb70 (LWP 24810)):
> #0 0x00e4e58c in helper_access_check_cp_reg (env=0x36b8950,
> rip=0x36f8630, syndrome=1645403292, isread=0) at
> ../../target/arm/op_helper.c:632
> #1 0xee500cf4 in code_gen_buffer ()
> #2 0x01038706 in cpu_tb_exec (tb_exit=<synthetic pointer>,
> itb=<optimised out>, cpu=0xee500bc0 <code_gen_buffer+2980>) at
> ../../accel/tcg/cpu-exec.c:357
> #3 0x01038706 in cpu_loop_exec_tb (tb_exit=<synthetic pointer>,
> last_tb=<synthetic pointer>, tb=<optimised out>, cpu=0xee500bc0
> <code_gen_buffer+2980>) at ../../accel/tcg/cpu-exec.c:842
> #4 0x01038706 in cpu_exec (cpu=cpu@entry=0x36b2c60) at
> ../../accel/tcg/cpu-exec.c:1001
> #5 0x0104f5d2 in tcg_cpus_exec (cpu=cpu@entry=0x36b2c60) at
> ../../accel/tcg/tcg-accel-ops.c:67
> #6 0x0104fd02 in rr_cpu_thread_fn (arg=<optimised out>) at
> ../../accel/tcg/tcg-accel-ops-rr.c:223
> #7 0x011bbfd2 in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #8 0xf6d3f614 in start_thread (arg=0xb604dd4d) at pthread_create.c:463
> #9 0xf6cda7ec in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
>
> Thread 3 (Thread 0xee4fdb70 (LWP 24809)):
> #0 0xf74acea6 in () at /usr/lib/arm-linux-gnueabihf/libglib-2.0.so.0
> #1 0xf74c3818 in g_slice_alloc () at
> /usr/lib/arm-linux-gnueabihf/libglib-2.0.so.0
> #2 0x00000000 in ()
>
> Thread 2 (Thread 0xf0f99b70 (LWP 24808)):
> #0 0xf6cd7f30 in syscall () at ../sysdeps/unix/sysv/linux/arm/syscall.S:37
> #1 0x011bcae2 in qemu_futex_wait (val=<optimised out>, f=<optimised
> out>) at /home/peter.maydell/qemu/include/qemu/futex.h:29
> #2 0x011bcae2 in qemu_event_wait (ev=ev@entry=0x194619c
> <rcu_gp_event>) at ../../util/qemu-thread-posix.c:481
> #3 0x011c2386 in wait_for_readers () at ../../util/rcu.c:138
> #4 0x011c256a in synchronize_rcu () at ../../util/rcu.c:167
> #5 0x011c2888 in call_rcu_thread (opaque=<optimised out>) at
> ../../util/rcu.c:268
> #6 0x011bbfd2 in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #7 0xf6d3f614 in start_thread (arg=0xb604dd4d) at pthread_create.c:463
> #8 0xf6cda7ec in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
>
> Thread 1 (Thread 0xf1091010 (LWP 24798)):
> #0 0xf6c59204 in __libc_do_syscall () at
> ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> #1 0xf6cd3a04 in __GI_ppoll (fds=fds@entry=0x3fe1cb0,
> nfds=nfds@entry=5, timeout=<optimised out>, timeout@entry=0xffe93c84,
> sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
> #2 0x011d20d2 in ppoll (__ss=0x0, __timeout=0xffe93c84, __nfds=5,
> __fds=0x3fe1cb0) at /usr/include/arm-linux-gnueabihf/bits/poll2.h:77
> #3 0x011d20d2 in qemu_poll_ns (fds=0x3fe1cb0, nfds=5,
> timeout=<optimised out>) at ../../util/qemu-timer.c:348
> #4 0x011cf8c2 in os_host_main_loop_wait (timeout=1000000000) at
> ../../util/main-loop.c:250
> #5 0x011cf8c2 in main_loop_wait (nonblocking=nonblocking@entry=0) at
> ../../util/main-loop.c:531
> #6 0x00f8910e in qemu_main_loop () at ../../softmmu/runstate.c:726
> #7 0x00b96f56 in main (argc=<optimised out>, argv=<optimised out>,
> envp=<optimised out>) at ../../softmmu/main.c:50
>
> ===========================================================
> PROCESS: 24813
> pmaydell 24813 13212 0 Jan16 ? 00:00:00 [qemu-system-aar] <defunct>
> /proc/24813/exe: No such file or directory.
> Could not attach to process. If your uid matches the uid of the target
> process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
> again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
> warning: process 24813 is a zombie - the process has already terminated
> ptrace: Operation not permitted.
> /home/peter.maydell/24813: No such file or directory.
>
> ===========================================================
> PROCESS: 25455
> pmaydell 25455 13212 0 Jan16 ? 00:00:01 ./qemu-system-aarch64
> -qtest unix:/tmp/qtest-13212.sock -qtest-log /dev/null -chardev
> socket,path=/tmp/qtest-13212.qmp,id=char0 -mon
> chardev=char0,mode=control -display none -accel kvm -accel tcg
> -machine virt,gic-version=max -name target,debug-threads=on -m 150M
> -serial file:/tmp/migration-test-weBz3n/dest_serial -incoming defer
> -cpu max -kernel /tmp/migration-test-weBz3n/bootsect -accel qtest
> [New LWP 25458]
> [New LWP 25461]
> [New LWP 25464]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
> __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> 46 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file
> or directory.
>
> Thread 4 (Thread 0xdc1fdb70 (LWP 25464)):
> #0 0xf6f43f04 in __libc_do_syscall () at
> ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> #1 0xf6f3f072 in futex_wait_cancelable (private=<optimised out>,
> expected=0, futex_word=0x3b405a4) at
> ../sysdeps/unix/sysv/linux/futex-internal.h:88
> #2 0xf6f3f072 in __pthread_cond_wait_common (abstime=0x0,
> mutex=0x18bbcc0 <qemu_global_mutex>, cond=0x3b40578) at
> pthread_cond_wait.c:502
> #3 0xf6f3f072 in __pthread_cond_wait (cond=cond@entry=0x3b40578,
> mutex=mutex@entry=0x18bbcc0 <qemu_global_mutex>) at
> pthread_cond_wait.c:655
> #4 0x0114753c in qemu_cond_wait_impl (cond=0x3b40578, mutex=0x18bbcc0
> <qemu_global_mutex>, file=0x12a93a8 "../../softmmu/cpus.c", line=510)
> at ../../util/qemu-thread-posix.c:195
> #5 0x00fdac14 in rr_cpu_thread_fn (arg=<optimised out>) at
> ../../accel/tcg/tcg-accel-ops-rr.c:171
> #6 0x01146fd2 in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #7 0xf6f3a614 in start_thread (arg=0x71e7baef) at pthread_create.c:463
> #8 0xf6ed57ec in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
>
> Thread 3 (Thread 0xee6fdb70 (LWP 25461)):
> #0 0xf6e54204 in __libc_do_syscall () at
> ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> #1 0xf6ece948 in __GI___poll (fds=0x39eff18, nfds=3, timeout=-1) at
> ../sysdeps/unix/sysv/linux/poll.c:29
> #2 0xf76aa92e in () at /usr/lib/arm-linux-gnueabihf/libglib-2.0.so.0
>
> Thread 2 (Thread 0xf1194b70 (LWP 25458)):
> #0 0xf6ed2f30 in syscall () at ../sysdeps/unix/sysv/linux/arm/syscall.S:37
> #1 0x01147ae2 in qemu_futex_wait (val=<optimised out>, f=<optimised
> out>) at /home/peter.maydell/qemu/include/qemu/futex.h:29
> #2 0x01147ae2 in qemu_event_wait (ev=ev@entry=0x18d11f0
> <rcu_call_ready_event>) at ../../util/qemu-thread-posix.c:481
> #3 0x0114d85a in call_rcu_thread (opaque=<optimised out>) at
> ../../util/rcu.c:261
> #4 0x01146fd2 in qemu_thread_start (args=<optimised out>) at
> ../../util/qemu-thread-posix.c:556
> #5 0xf6f3a614 in start_thread (arg=0x71e7baef) at pthread_create.c:463
> #6 0xf6ed57ec in () at ../sysdeps/unix/sysv/linux/arm/clone.S:73
>
> Thread 1 (Thread 0xf128c010 (LWP 25455)):
> #0 0xf6e54204 in __libc_do_syscall () at
> ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
> #1 0xf6ecea04 in __GI_ppoll (fds=fds@entry=0x441dc68,
> nfds=nfds@entry=6, timeout=<optimised out>, timeout@entry=0xffe9c0d4,
> sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
> #2 0x0115d0d2 in ppoll (__ss=0x0, __timeout=0xffe9c0d4, __nfds=6,
> __fds=0x441dc68) at /usr/include/arm-linux-gnueabihf/bits/poll2.h:77
> #3 0x0115d0d2 in qemu_poll_ns (fds=0x441dc68, nfds=6,
> timeout=<optimised out>) at ../../util/qemu-timer.c:348
> #4 0x0115a8c2 in os_host_main_loop_wait (timeout=1000000000) at
> ../../util/main-loop.c:250
> #5 0x0115a8c2 in main_loop_wait (nonblocking=nonblocking@entry=0) at
> ../../util/main-loop.c:531
> #6 0x00f1410e in qemu_main_loop () at ../../softmmu/runstate.c:726
> #7 0x00b21f56 in main (argc=<optimised out>, argv=<optimised out>,
> envp=<optimised out>) at ../../softmmu/main.c:50
>
>
> thanks
> -- PMM
--
Alex Bennée
prev parent reply other threads:[~2022-01-17 11:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-17 10:41 intermittent hang, migration-test, 32-bit arm Peter Maydell
2022-01-17 11:23 ` Alex Bennée [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sftma9lj.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=dgilbert@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.