Re: [Qemu-devel] [PATCH v2 0/2] avoid a hotplug operation leading migration's source side abort

2015-07-01 Thread Juan Quintela
Li Zhijian  wrote:
> qemu migration's source side will exit unexpectedly when we hotplug a deivce
> during a migration is processing.
> we can reproduced it easily by following step
> 1. do something with dirty memory requently(like memtester) in guest
> 2. startup a background migration with '-d' option
> 3. hotplug a device(device_add e1000,id=mye1000)
> 4. stop step.1, let guest idle so that migration can complete fastly

Applied, thanks.


>
> something unexpectedly occurs like below:
> *** Error in `/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64': 
> free(): invalid pointer: 0x7fff5c010b20 ***
> === Backtrace: =
> /lib64/libc.so.6(+0x7d1fd)[0x75ad41fd]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1e29c2)[0x557369c2]
> /lib64/libglib-2.0.so.0(g_free+0xf)[0x76aaa5af]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x139454)[0x5568d454]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x13a232)[0x5568e232]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x13a2f1)[0x5568e2f1]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xec914)[0x55640914]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xc7e7e)[0x5561be7e]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xc7f0f)[0x5561bf0f]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xf01c9)[0x556441c9]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3541d4)[0x558a81d4]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3a5cf6)[0x558f9cf6]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b5809)[0x55909809]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3a6067)[0x558fa067]
> /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x15a)[0x76aa49ba]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3c6f)[0x55907c6f]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3d4c)[0x55907d4c]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3e0b)[0x55907e0b]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1df701)[0x55733701]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1e6fed)[0x5573afed]
> /lib64/libc.so.6(__libc_start_main+0xf5)[0x75a78af5]
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x93729)[0x555e7729]
> === Memory map: 
> 4000-55b04000 r-xp  08:04 14111744   
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
> 55d03000-55dcc000 r--p 005af000 08:04 14111744   
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
> 55dcc000-55e42000 rw-p 00678000 08:04 14111744   
> /home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
> 55e42000-5affc000 rw-p  00:00 0  
> [heap]
> snip...
>
> Changes from v1
> do bitmap_set after bitmap_copy
>
> Li Zhijian (2):
>   migration: protect migration_bitmap
>   migration: extend migration_bitmap
>
>  exec.c  |  5 +
>  include/exec/exec-all.h |  1 +
>  migration/ram.c | 40 ++--
>  3 files changed, 40 insertions(+), 6 deletions(-)



[Qemu-devel] [PATCH v2 0/2] avoid a hotplug operation leading migration's source side abort

2015-06-26 Thread Li Zhijian
qemu migration's source side will exit unexpectedly when we hotplug a deivce
during a migration is processing.
we can reproduced it easily by following step
1. do something with dirty memory requently(like memtester) in guest
2. startup a background migration with '-d' option
3. hotplug a device(device_add e1000,id=mye1000)
4. stop step.1, let guest idle so that migration can complete fastly

something unexpectedly occurs like below:
*** Error in `/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64': 
free(): invalid pointer: 0x7fff5c010b20 ***
=== Backtrace: =
/lib64/libc.so.6(+0x7d1fd)[0x75ad41fd]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1e29c2)[0x557369c2]
/lib64/libglib-2.0.so.0(g_free+0xf)[0x76aaa5af]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x139454)[0x5568d454]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x13a232)[0x5568e232]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x13a2f1)[0x5568e2f1]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xec914)[0x55640914]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xc7e7e)[0x5561be7e]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xc7f0f)[0x5561bf0f]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0xf01c9)[0x556441c9]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3541d4)[0x558a81d4]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3a5cf6)[0x558f9cf6]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b5809)[0x55909809]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3a6067)[0x558fa067]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x15a)[0x76aa49ba]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3c6f)[0x55907c6f]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3d4c)[0x55907d4c]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x3b3e0b)[0x55907e0b]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1df701)[0x55733701]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x1e6fed)[0x5573afed]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x75a78af5]
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64(+0x93729)[0x555e7729]
=== Memory map: 
4000-55b04000 r-xp  08:04 14111744   
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
55d03000-55dcc000 r--p 005af000 08:04 14111744   
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
55dcc000-55e42000 rw-p 00678000 08:04 14111744   
/home/lizj/workspace/qemu/x86_64-softmmu/qemu-system-x86_64
55e42000-5affc000 rw-p  00:00 0  [heap]
snip...

Changes from v1
do bitmap_set after bitmap_copy

Li Zhijian (2):
  migration: protect migration_bitmap
  migration: extend migration_bitmap

 exec.c  |  5 +
 include/exec/exec-all.h |  1 +
 migration/ram.c | 40 ++--
 3 files changed, 40 insertions(+), 6 deletions(-)

-- 
2.1.4