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