[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PULL 00/42] Block patches
From: |
Peter Maydell |
Subject: |
Re: [Qemu-block] [PULL 00/42] Block patches |
Date: |
Fri, 28 Sep 2018 15:36:50 +0100 |
On 25 September 2018 at 18:09, Peter Maydell <address@hidden> wrote:
> On 25 September 2018 at 16:14, Max Reitz <address@hidden> wrote:
>> The following changes since commit 506e4a00de01e0b29fa83db5cbbc3d154253b4ea:
>>
>> Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-3.1-20180925'
>> into staging (2018-09-25 13:30:45 +0100)
>>
>> are available in the Git repository at:
>>
>> https://git.xanclic.moe/XanClic/qemu.git tags/pull-block-2018-09-25
>>
>> for you to fetch changes up to 9c76ff9c16be890e70fce30754b096ff9950d1ee:
>>
>> Merge remote-tracking branch 'kevin/tags/for-upstream' into block
>> (2018-09-25 16:12:44 +0200)
>>
>> ----------------------------------------------------------------
>> Block layer patches:
>> - Drain fixes
>> - node-name parameters for block-commit
>> - Refactor block jobs to use transactional callbacks for exiting
>>
>> ----------------------------------------------------------------
>
> Applied, thanks.
I'm finding that test-bdrv-drain hangs intermittently on my OSX host.
It hangs using CPU, not stopped completely, but when I attach with lldb
it says that we got a NULL pointer deref in one of the threads, so
why the whole thing didn't exit with a signal I have no idea. Anyway:
manooth$ lldb -p 40546
(lldb) process attach --pid 40546
Process 40546 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007fff59f17d82 libsystem_kernel.dylib`__semwait_signal + 10
libsystem_kernel.dylib`__semwait_signal:
-> 0x7fff59f17d82 <+10>: jae 0x7fff59f17d8c ; <+20>
0x7fff59f17d84 <+12>: movq %rax, %rdi
0x7fff59f17d87 <+15>: jmp 0x7fff59f0eb0e ; cerror
0x7fff59f17d8c <+20>: retq
thread #4, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000000000000
error: memory read failed for 0x0
Target 0: (test-bdrv-drain) stopped.
Executable module set to
"/Users/pm215/src/qemu-for-merges/build/all/tests/test-bdrv-drain".
Architecture set to: x86_64-apple-macosx.
(lldb) thread backtrace all
warning: could not execute support code to read Objective-C class data
in the process. This may reduce the quality of type information
available.
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x00007fff59f17d82 libsystem_kernel.dylib`__semwait_signal + 10
frame #1: 0x00007fff5a0e3824 libsystem_pthread.dylib`_pthread_join + 626
frame #2: 0x00000001024a2112
test-bdrv-drain`qemu_thread_join(thread=<unavailable>) at
qemu-thread-posix.c:565 [opt]
frame #3: 0x0000000102465171
test-bdrv-drain`iothread_join(iothread=0x00007f868dd00a90) at
iothread.c:62 [opt]
frame #4: 0x00000001023cbb41
test-bdrv-drain`test_iothread_common(drain_type=BDRV_SUBTREE_DRAIN,
drain_thread=<unavailable>) at test-bdrv-drain.c:762 [opt]
frame #5: 0x0000000102622a47
libglib-2.0.0.dylib`g_test_run_suite_internal + 697
frame #6: 0x0000000102622c0a
libglib-2.0.0.dylib`g_test_run_suite_internal + 1148
frame #7: 0x0000000102622c0a
libglib-2.0.0.dylib`g_test_run_suite_internal + 1148
frame #8: 0x0000000102622020 libglib-2.0.0.dylib`g_test_run_suite + 121
frame #9: 0x0000000102621f73 libglib-2.0.0.dylib`g_test_run + 17
frame #10: 0x00000001023c7cda test-bdrv-drain`main(argc=1,
argv=0x00007ffeed839a90) at test-bdrv-drain.c:1606 [opt]
frame #11: 0x00007fff59dc7015 libdyld.dylib`start + 1
thread #2
frame #0: 0x00007fff59f17a16 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff5a0e0589
libsystem_pthread.dylib`_pthread_cond_wait + 732
frame #2: 0x00000001024a1dec test-bdrv-drain`qemu_event_wait
[inlined] qemu_futex_wait(ev=<unavailable>, val=4294967295) at
qemu-thread-posix.c:347 [opt]
frame #3: 0x00000001024a1dcc
test-bdrv-drain`qemu_event_wait(ev=0x00000001025029c8) at
qemu-thread-posix.c:442 [opt]
frame #4: 0x00000001024b4c88
test-bdrv-drain`call_rcu_thread(opaque=<unavailable>) at rcu.c:261
[opt]
frame #5: 0x00007fff5a0df661 libsystem_pthread.dylib`_pthread_body + 340
frame #6: 0x00007fff5a0df50d libsystem_pthread.dylib`_pthread_start + 377
frame #7: 0x00007fff5a0debf9 libsystem_pthread.dylib`thread_start + 13
thread #3
frame #0: 0x00007fff59f1803a libsystem_kernel.dylib`__sigwait + 10
frame #1: 0x00007fff5a0e1ad9 libsystem_pthread.dylib`sigwait + 61
frame #2: 0x000000010249fdcb
test-bdrv-drain`sigwait_compat(opaque=0x00007f868dc0efd0) at
compatfd.c:36 [opt]
frame #3: 0x00007fff5a0df661 libsystem_pthread.dylib`_pthread_body + 340
frame #4: 0x00007fff5a0df50d libsystem_pthread.dylib`_pthread_start + 377
frame #5: 0x00007fff5a0debf9 libsystem_pthread.dylib`thread_start + 13
thread #4
frame #0: 0x0000000000000000
frame #1: 0x00000001024af579
test-bdrv-drain`notifier_list_notify(list=<unavailable>,
data=0x0000000000000000) at notify.c:40 [opt]
frame #2: 0x00000001024a1f35
test-bdrv-drain`qemu_thread_atexit_run(arg=<unavailable>) at
qemu-thread-posix.c:473 [opt]
frame #3: 0x00007fff5a0e1163
libsystem_pthread.dylib`_pthread_tsd_cleanup + 463
frame #4: 0x00007fff5a0e0ee9 libsystem_pthread.dylib`_pthread_exit + 79
frame #5: 0x00007fff5a0df66c libsystem_pthread.dylib`_pthread_body + 351
frame #6: 0x00007fff5a0df50d libsystem_pthread.dylib`_pthread_start + 377
frame #7: 0x00007fff5a0debf9 libsystem_pthread.dylib`thread_start + 13
thread #5
frame #0: 0x00007fff59f17cf2 libsystem_kernel.dylib`__select + 10
frame #1: 0x000000010260fb60 libglib-2.0.0.dylib`g_poll + 430
frame #2: 0x000000010249f7ec
test-bdrv-drain`aio_poll(ctx=0x00007f868dc32a10, blocking=true) at
aio-posix.c:645 [opt]
frame #3: 0x00000001024652dd
test-bdrv-drain`iothread_run(opaque=0x00007f868dd000a0) at
iothread.c:51 [opt]
frame #4: 0x00007fff5a0df661 libsystem_pthread.dylib`_pthread_body + 340
frame #5: 0x00007fff5a0df50d libsystem_pthread.dylib`_pthread_start + 377
frame #6: 0x00007fff5a0debf9 libsystem_pthread.dylib`thread_start + 13
(lldb) thread select 4
* thread #4
frame #0: 0x0000000000000000
error: memory read failed for 0x0
(lldb) frame select 1
test-bdrv-drain was compiled with optimization - stepping may behave
oddly; variables may not be available.
frame #1: 0x00000001024af579
test-bdrv-drain`notifier_list_notify(list=<unavailable>,
data=0x0000000000000000) at notify.c:40 [opt]
37 Notifier *notifier, *next;
38
39 QLIST_FOREACH_SAFE(notifier, &list->notifiers, node, next) {
-> 40 notifier->notify(notifier, data);
41 }
42 }
43
(lldb) print notifier
(Notifier *) $0 = 0x0000000000000000
Non-debug build so debug info not very helpful, I'm afraid.
thanks
-- PMM
- [Qemu-block] [PULL 33/42] block-backend: Fix potential double blk_delete(), (continued)
- [Qemu-block] [PULL 33/42] block-backend: Fix potential double blk_delete(), Max Reitz, 2018/09/25
- [Qemu-block] [PULL 35/42] blockjob: Lie better in child_job_drained_poll(), Max Reitz, 2018/09/25
- [Qemu-block] [PULL 36/42] block: Remove aio_poll() in bdrv_drain_poll variants, Max Reitz, 2018/09/25
- [Qemu-block] [PULL 38/42] job: Avoid deadlocks in job_completed_txn_abort(), Max Reitz, 2018/09/25
- [Qemu-block] [PULL 37/42] test-bdrv-drain: Test nested poll in bdrv_drain_poll_top_level(), Max Reitz, 2018/09/25
- [Qemu-block] [PULL 39/42] test-bdrv-drain: AIO_WAIT_WHILE() in job .commit/.abort, Max Reitz, 2018/09/25
- [Qemu-block] [PULL 40/42] test-bdrv-drain: Fix outdated comments, Max Reitz, 2018/09/25
- [Qemu-block] [PULL 41/42] block: Use a single global AioWait, Max Reitz, 2018/09/25
- [Qemu-block] [PULL 42/42] test-bdrv-drain: Test draining job source child and parent, Max Reitz, 2018/09/25
- Re: [Qemu-block] [PULL 00/42] Block patches, Peter Maydell, 2018/09/25
- Re: [Qemu-block] [PULL 00/42] Block patches,
Peter Maydell <=