qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 00/42] Block patches


From: Peter Maydell
Subject: Re: [Qemu-devel] [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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]