[libvirt] [[PATCH v2] 0/4] try harder to get dest qemu errors on migation

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Thu Oct 6 07:23:05 UTC 2016



On 05.10.2016 18:13, Peter Krempa wrote:
> On Mon, Sep 12, 2016 at 17:34:39 +0300, Nikolay Shirokovskiy wrote:
>> Hi, all.
>>
>>   In case migration fails due to destination qemu exits unexpectedly user
>> recevies the qemu log in the error message. Unfortunately log is truncated and
>> the most interesting part is missed (below is the example of such a log [1]).
>>
>> Actually for the most cases the first patch will be enough to fix the issue.
>> Originally I thought the problem is qemu logging and reading the log are not in
>> sync (which is true) so I tried to fix it as well in the next patches.
>>
>> * diff from v1:
>>
>> 1. split changes to libvirtd and virtlogd to different patches
>> 2. split virtlogd patch further
>> 3. simplify handling eofs and hangups in draining function
>>
>> [1] log example:
>>
>> CPU Reset (CPU 0)
>> EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000000
>> ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
>> EIP=00000000 EFL=00000000 [-------] CPL=0 II=0 A20=0 SMM=0 HLT=0
>> ES =0000 00000000 00000000 00000000
>> CS =0000 00000000 00000000 00000000
>> SS =0000 00000000 00000000 00000000
>> DS =0000 00000000 00000000 00000000
>> FS =0000 00000000 00000000 00000000
>> GS =0000 00000000 00000000 00000000
>> LDT=0000 00000000 00000000 00000000
>> TR =0000 00000000 00000000 00000000
>> GDT=     00000000 00000000
>> IDT=     00000000 00000000
>> CR0=00000000 CR2=00000000 CR3=00000000 CR4=00000000
>> DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
>> DR6=0000000000000000 DR7=0000000000000000
>> CCS=00000000 CCD=00000000 CCO=DYNAMIC 
>> EFER=0000000000000000
>> FCW=0000 FSW=0000 [ST=0] FTW=ff MXCSR=00000000
>> FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
>> FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
>> FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
>> FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
>> XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
>> XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
>> XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
>> XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
>> CPU Reset (CPU 1)
>> EAX=00000000 EBX=00000000 ECX=00000000 EDX=000206a1
>> ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
>> EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
>> ES =0000 00000000 0000ffff 00009300
>> CS =f000 ffff0000 0000ffff 00009b00
>> SS =0000 00000000 0000ffff 00009300
>> DS =0000 00000000 0000ffff 00009300
>> FS =0000 00000000 0000ffff 00009300
>> GS =0000 00000000 0000ffff 00009300
>> LDT=0000 00000000 0000ffff 00008200
>> TR =0000 00000000 0000ffff 00008b00
>> GDT=     00000000 0000ffff
>> IDT=     00000000 0000ffff
>> CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
>> DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
>> DR6=00000000ffff0ff0 DR7=0000000000000400
>> CCS=00000000 CCD=00000000 CCO=DYNAMIC 
>> EFER=0000000000000000
>> FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
>> FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
>> FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
>> FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
>> FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
>> XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
>> XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
>> XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
>> XMM06=00000000000000000000000000000000 XMM07=000
>> qemu: terminating on signal 15 from pid 168133
> 
> I don't think that reporting all of the above is a good idea. We should
> perhaps report at most two last lines.
> 

We already report about half of this, this patch just removes random truncation.
As to most two lines, AFAIU one can not say what part of this log will be
useful for crash investigation.

Nikolay




More information about the libvir-list mailing list