[libvirt] [PATCH] libxl: Create per-domain log file

Jim Fehlig jfehlig at suse.com
Sat Aug 10 00:24:04 UTC 2013


Daniel P. Berrange wrote:
> On Thu, Aug 08, 2013 at 05:41:26PM -0600, Jim Fehlig wrote:
>   
>> Currently, only one log file is created by the libxl driver, with
>> all output from libxl for all domains going to this one file.
>>
>> Create a per-domain log file based on domain name, making sifting
>> through the logs a bit easier.  This required deferring libxl_ctx
>> allocation until starting the domain, which is fine since the
>> ctx is not used when the domain is inactive.
>> ---
>>  src/libxl/libxl_conf.h   |  5 +--
>>  src/libxl/libxl_driver.c | 88 +++++++++++++++++++++++++++++-------------------
>>  2 files changed, 57 insertions(+), 36 deletions(-)
>>     
>
> Startup of libvirtd SEGVs with this change in GIT
>   

I should have tested this change on a system with libxl, but not booted
to Xen.  libxl would have then complained, and I would have seen the
crash.  Lesson learned...

I've sent a patch to fix the issue

https://www.redhat.com/archives/libvir-list/2013-August/msg00484.html

Regards,
Jim

> ==4706== For counts of detected and suppressed errors, rerun with: -v
> ==4706== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
> ==4601== Thread 12:
> ==4601== Invalid read of size 8
> ==4601==    at 0x1E57964F: xtl_logv (in /usr/lib64/libxenctrl.so.4.2.0)
> ==4601==    by 0x1E5796D3: xtl_log (in /usr/lib64/libxenctrl.so.4.2.0)
> ==4601==    by 0x1E33258A: ??? (in /usr/lib64/libxenlight.so.2.0.0)
> ==4601==    by 0x1E332641: ??? (in /usr/lib64/libxenlight.so.2.0.0)
> ==4601==    by 0x1E317CD7: libxl_ctx_alloc (in /usr/lib64/libxenlight.so.2.0.0)
> ==4601==    by 0x1E0E3016: libxlStateInitialize.part.12 (libxl_driver.c:1319)
> ==4601==    by 0x514AA29: virStateInitialize (libvirt.c:832)
> ==4601==    by 0x11C42A: daemonRunStateInit (libvirtd.c:906)
> ==4601==    by 0x50C273D: virThreadHelper (virthreadpthread.c:161)
> ==4601==    by 0x82D0C52: start_thread (pthread_create.c:308)
> ==4601==    by 0x89E213C: clone (clone.S:113)
> ==4601==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==4601== 
> Caught Segmentation violation dumping internal log buffer:
>
>
> Daniel
>   




More information about the libvir-list mailing list