Hi Daniel,

On Thu, Dec 18, 2008 at 1:47 PM, Daniel P. Berrange <berra...@redhat.com>wrote:

> > ps ax shows the following output right after the service is started:
> >
> >  3605 ?        S      0:00 /usr/sbin/libvirtd --daemon
> >  3624 ?        Z      0:00 [libvirtd] <defunct>
> >
> > If I don't enable any network at  /etc/libvirt/qemu/networks/autostart,
> then
> > there's no error.
>
> This suggest libvirtd itself is *not* crashing. Some process that
> libvirtd runs is dieing - not sure which though.
>
> Please kill all libvirtd  instances, and making sure you have compiled
> with debugging info turned on (ie, '-g' compile flag), then run
>
>  # valgrind /usr/sbin/libvirtd
>
> And also try
>
>  LIBVIRT_DEBUG=1 /usr/sbin/libvirtd
>
> and send the output for both of these.


The output of these seperately, and combined (total 3 files) are attached.
Guessing that there might a compiler flag problem, here's what our default
compiler uses while compiling packages:

cflags = -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer
-fstack-protector -D_FORTIFY_SOURCE=2
cxxflags = -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer
-fstack-protector -D_FORTIFY_SOURCE=2
host =
i686-pc-linux-gnu

jobs = -j1
ldflags = -Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu

A typical compile line for libvirt includes the following command, except
the -g debug flag that we added:

 gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include
-I../include -I../qemud -I/usr/include/libxml2 -DLIBDIR=\"/usr/lib\"
-DBINDIR=\"/usr/libexec\" -DSBINDIR=\"/usr/sbin\" -DSYSCONF_DIR=\"/etc\"
-DLOCALEBASEDIR=\"/usr/share/locale\" -DLOCAL_STATE_DIR=\"/var\"
-DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow
-Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline
-Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fasynchronous-unwind-tables -mtune=generic -march=i686 -O2 -pipe
-fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2 *-g* -MT
libvirt_driver_xen_la-xen_internal.lo -MD -MP -MF
.deps/libvirt_driver_xen_la-xen_internal.Tpo -c xen_internal.c  -fPIC -DPIC
-o .libs/libvirt_driver_xen_la-xen_internal.o


Thanks again for any insight and please don't hesitate if you need further
info from my side.

Best Regards,


Emre
voyager emre # LIBVIRT_DEBUG=1 /usr/sbin/libvirtd 
DEBUG: libvirt.c: virInitialize (register drivers)
DEBUG: libvirt.c: virRegisterDriver (registering Test as driver 0)
DEBUG: libvirt.c: virRegisterNetworkDriver (registering Test as network driver 
0)
DEBUG: libvirt.c: virRegisterStorageDriver (registering Test as storage driver 
0)
DEBUG: libvirt.c: virRegisterDriver (registering Xen as driver 1)               
 
DEBUG: libvirt.c: virRegisterDriver (registering OPENVZ as driver 2)            
 
DEBUG: libvirt.c: virRegisterDriver (registering remote as driver 3)            
 
DEBUG: libvirt.c: virRegisterNetworkDriver (registering remote as network 
driver 1)
DEBUG: libvirt.c: virRegisterStorageDriver (registering remote as storage 
driver 1)
DEBUG: libvirt.c: virRegisterDeviceMonitor (registering remote as device driver 
0) 
DEBUG: libvirt.c: virRegisterNetworkDriver (registering Network as network 
driver 2)
DEBUG: libvirt.c: virRegisterStorageDriver (registering storage as storage 
driver 2)
DEBUG: libvirt.c: virRegisterDeviceMonitor (registering halDeviceMonitor as 
device driver 1)
DEBUG: libvirt.c: virRegisterDriver (registering QEMU as driver 4)
DEBUG: libvirt.c: virRegisterDriver (registering LXC as driver 5)
DEBUG: libvirt.c: virRegisterDriver (registering UML as driver 6)
DEBUG: util.c: virRun (/usr/sbin/brctl setfd virbr0 0)
DEBUG: util.c: virRun (/usr/sbin/brctl stp virbr0 on)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol tcp --destination-port 67 --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol udp --destination-port 67 --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol tcp --destination-port 53 --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol udp --destination-port 53 --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--in-interface virbr0 --jump REJECT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--out-interface virbr0 --jump REJECT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--in-interface virbr0 --out-interface virbr0 --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD --source 
192.168.122.0/255.255.255.0 --in-interface virbr0 --jumpACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--destination 192.168.122.0/255.255.255.0 --out-interface virbr0 --match state 
--state ESTABLISHED,RELATED --jump ACCEPT)
DEBUG: util.c: virRun (/sbin/iptables --table nat --insert POSTROUTING --source 
192.168.122.0/255.255.255.0 --destination ! 192.168.122.0/255.255.255.0 --jump 
MASQUERADE)
DEBUG: util.c: virExec (dnsmasq --keep-in-foreground --strict-order 
--bind-interfaces --pid-file  --conf-file  --listen-address 192.168.122.1 
--except-interface lo --dhcp-leasefile=/var/lib/libvirt/dhcp-default.leases 
--dhcp-range 192.168.122.2,192.168.122.254)
libvir: error : internal error cannot execute binary 'dnsmasq': No such file or 
directory
DEBUG: lxc_container.c: lxcContainerAvailable (clone call returned Cannot 
allocate memory, container support is not enabled)
voyager emre # LIBVIRT_DEBUG=1 valgrind /usr/sbin/libvirtd 
==3206== Memcheck, a memory error detector.                
==3206== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==3206== Using LibVEX rev 1854, a library for dynamic binary translation.
==3206== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.       
==3206== Using valgrind-3.3.1, a dynamic binary instrumentation framework.
==3206== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.  
==3206== For more details, rerun with: -v                                 
==3206==                                                                  
DEBUG: libvirt.c: virInitialize (register drivers)                        
DEBUG: libvirt.c: virRegisterDriver (registering Test as driver 0)        
DEBUG: libvirt.c: virRegisterNetworkDriver (registering Test as network driver 
0)
DEBUG: libvirt.c: virRegisterStorageDriver (registering Test as storage driver 
0)
DEBUG: libvirt.c: virRegisterDriver (registering Xen as driver 1)               
 
DEBUG: libvirt.c: virRegisterDriver (registering OPENVZ as driver 2)            
 
DEBUG: libvirt.c: virRegisterDriver (registering remote as driver 3)            
 
DEBUG: libvirt.c: virRegisterNetworkDriver (registering remote as network 
driver 1)
DEBUG: libvirt.c: virRegisterStorageDriver (registering remote as storage 
driver 1)
DEBUG: libvirt.c: virRegisterDeviceMonitor (registering remote as device driver 
0) 
DEBUG: libvirt.c: virRegisterNetworkDriver (registering Network as network 
driver 2)
DEBUG: libvirt.c: virRegisterStorageDriver (registering storage as storage 
driver 2)
DEBUG: libvirt.c: virRegisterDeviceMonitor (registering halDeviceMonitor as 
device driver 1)
DEBUG: libvirt.c: virRegisterDriver (registering QEMU as driver 4)              
            
DEBUG: libvirt.c: virRegisterDriver (registering LXC as driver 5)               
            
DEBUG: libvirt.c: virRegisterDriver (registering UML as driver 6)               
            
==3206== Warning: noted but unhandled ioctl 0x89a0 with no size/direction hints 
            
==3206==    This could cause spurious value errors to appear.                   
            
==3206==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.   
DEBUG: util.c: virRun (/usr/sbin/brctl setfd virbr0 0)                          
            
DEBUG: util.c: virRun (/usr/sbin/brctl stp virbr0 on)                           
            
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol tcp --destination-port 67 --jump ACCEPT)       
                                                                                
                                            
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol udp --destination-port 67 --jump ACCEPT)       
                                                                                
                                            
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol tcp --destination-port 53 --jump ACCEPT)       
                                                                                
                                            
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert INPUT 
--in-interface virbr0 --protocol udp --destination-port 53 --jump ACCEPT)       
                                                                                
                                            
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--in-interface virbr0 --jump REJECT)                              
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--out-interface virbr0 --jump REJECT)                             
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--in-interface virbr0 --out-interface virbr0 --jump ACCEPT)       
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD --source 
192.168.122.0/255.255.255.0 --in-interface virbr0 --jump ACCEPT)                
                                                                                
                                 
DEBUG: util.c: virRun (/sbin/iptables --table filter --insert FORWARD 
--destination 192.168.122.0/255.255.255.0 --out-interface virbr0 --match state 
--state ESTABLISHED,RELATED --jump ACCEPT)                                      
                                           
DEBUG: util.c: virRun (/sbin/iptables --table nat --insert POSTROUTING --source 
192.168.122.0/255.255.255.0 --destination ! 192.168.122.0/255.255.255.0 --jump 
MASQUERADE)                                                                     
                                 
DEBUG: util.c: virExec (dnsmasq --keep-in-foreground --strict-order 
--bind-interfaces --pid-file  --conf-file  --listen-address 192.168.122.1 
--except-interface lo --dhcp-leasefile=/var/lib/libvirt/dhcp-default.leases 
--dhcp-range 192.168.122.2,192.168.122.254)           
libvir: error : internal error cannot execute binary 'dnsmasq': No such file or 
directory                                               
==3229==                                                                        
                                                        
==3229== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 55 from 1)        
                                                        
==3229== malloc/free: in use at exit: 22,308 bytes in 495 blocks.               
                                                        
==3229== malloc/free: 907 allocs, 412 frees, 97,193 bytes allocated.            
                                                        
==3229== For counts of detected errors, rerun with: -v                          
                                                        
==3229== searching for pointers to 495 not-freed blocks.                        
                                                        
==3229== checked 382,024 bytes.                                                 
                                                        
==3229==                                                                        
                                                        
==3229== LEAK SUMMARY:                                                          
                                                        
==3229==    definitely lost: 0 bytes in 0 blocks.                               
                                                        
==3229==      possibly lost: 0 bytes in 0 blocks.                               
                                                        
==3229==    still reachable: 22,308 bytes in 495 blocks.                        
                                                        
==3229==         suppressed: 0 bytes in 0 blocks.                               
                                                        
==3229== Rerun with --leak-check=full to see details of leaked memory.          
                                                        
==3206== Syscall param clone(parent_tidptr) contains uninitialised byte(s)      
                                                        
==3206==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
                                                        
==3206==    by 0x80A0FF3: ???                                                   
                                                        
==3206==                                                                        
                                                        
==3206== Syscall param clone(tlsinfo) contains uninitialised byte(s)            
                                                        
==3206==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
                                                        
==3206==    by 0x80A0FF3: ???                                                   
                                                        
==3206==                                                                        
                                                        
==3206== Syscall param clone(child_tidptr) contains uninitialised byte(s)       
                                                        
==3206==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
                                                        
==3206==    by 0x80A0FF3: ???                                                   
                                                        
DEBUG: lxc_container.c: lxcContainerAvailable (clone call returned Cannot 
allocate memory, container support is not enabled)            
==3206==                                                                        
                                                        
==3206== Conditional jump or move depends on uninitialised value(s)             
                                                        
==3206==    at 0x401867E: (within /lib/ld-2.8.so)                               
                                                        
==3206==    by 0x4009249: (within /lib/ld-2.8.so)                               
                                                        
==3206==                                                                        
                                                        
==3206== Conditional jump or move depends on uninitialised value(s)             
                                                        
==3206==    at 0x401868D: (within /lib/ld-2.8.so)                               
                                                        
==3206==    by 0x4009249: (within /lib/ld-2.8.so)                               
                                                        
==3206==                                                                        
                                                        
==3206== Conditional jump or move depends on uninitialised value(s)             
                                                        
==3206==    at 0x401869C: (within /lib/ld-2.8.so)                               
                                                        
==3206==    by 0x4009249: (within /lib/ld-2.8.so)                               
                                                        
==3206==                                                                        
                                                        
==3206== Conditional jump or move depends on uninitialised value(s)             
                                                        
==3206==    at 0x40186AB: (within /lib/ld-2.8.so)                               
                                                        
==3206==    by 0x4009249: (within /lib/ld-2.8.so)                               
                                                        
==3206==
==3206== Conditional jump or move depends on uninitialised value(s)
==3206==    at 0x401881C: (within /lib/ld-2.8.so)
==3206==    by 0x4009429: (within /lib/ld-2.8.so)
==3206==
==3206== Conditional jump or move depends on uninitialised value(s)
==3206==    at 0x4018827: (within /lib/ld-2.8.so)
==3206==    by 0x4009429: (within /lib/ld-2.8.so)
==3206==
==3206== Conditional jump or move depends on uninitialised value(s)
==3206==    at 0x401881C: (within /lib/ld-2.8.so)
==3206==    by 0x400B869: (within /lib/ld-2.8.so)
==3206==
==3206== Conditional jump or move depends on uninitialised value(s)
==3206==    at 0x4018827: (within /lib/ld-2.8.so)
==3206==    by 0x400B869: (within /lib/ld-2.8.so)
==3206==
==3206== Invalid read of size 4
==3206==    at 0x4018813: (within /lib/ld-2.8.so)
==3206==    by 0x400BA64: (within /lib/ld-2.8.so)
==3206==  Address 0x46d2350 is 16 bytes inside a block of size 17 alloc'd
==3206==    at 0x402803E: malloc (in 
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==3206==
==3206== Invalid read of size 4
==3206==    at 0x4018829: (within /lib/ld-2.8.so)
==3206==    by 0x400BA64: (within /lib/ld-2.8.so)
==3206==  Address 0x46d29ec is 20 bytes inside a block of size 21 alloc'd
==3206==    at 0x402803E: malloc (in 
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
Segmentation fault
voyager emre # valgrind /usr/sbin/libvirtd 
==2971== Memcheck, a memory error detector.
==2971== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==2971== Using LibVEX rev 1854, a library for dynamic binary translation.
==2971== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.       
==2971== Using valgrind-3.3.1, a dynamic binary instrumentation framework.
==2971== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.  
==2971== For more details, rerun with: -v                                 
==2971==                                                                  
==2971== Warning: noted but unhandled ioctl 0x89a0 with no size/direction hints
==2971==    This could cause spurious value errors to appear.                  
==2971==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
libvir: error : internal error cannot execute binary 'dnsmasq': No such file or 
directory
==3057==                                                                        
         
==3057== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 55 from 1)        
         
==3057== malloc/free: in use at exit: 22,308 bytes in 495 blocks.               
         
==3057== malloc/free: 907 allocs, 412 frees, 97,193 bytes allocated.            
         
==3057== For counts of detected errors, rerun with: -v                          
         
==3057== searching for pointers to 495 not-freed blocks.                        
         
==3057== checked 382,008 bytes.                                                 
         
==3057==                                                                        
         
==3057== LEAK SUMMARY:                                                          
         
==3057==    definitely lost: 0 bytes in 0 blocks.                               
         
==3057==      possibly lost: 0 bytes in 0 blocks.                               
         
==3057==    still reachable: 22,308 bytes in 495 blocks.                        
         
==3057==         suppressed: 0 bytes in 0 blocks.                               
         
==3057== Rerun with --leak-check=full to see details of leaked memory.          
         
==2971== Syscall param clone(parent_tidptr) contains uninitialised byte(s)      
         
==2971==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
         
==2971==    by 0x80A0FF3: ???                                                   
         
==2971==                                                                        
         
==2971== Syscall param clone(tlsinfo) contains uninitialised byte(s)            
         
==2971==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
         
==2971==    by 0x80A0FF3: ???                                                   
         
==2971==                                                                        
         
==2971== Syscall param clone(child_tidptr) contains uninitialised byte(s)       
         
==2971==    at 0x4589DC8: clone (in /lib/libc-2.8.so)                           
         
==2971==    by 0x80A0FF3: ???                                                   
         
==2971==                                                                        
         
==2971== Conditional jump or move depends on uninitialised value(s)             
         
==2971==    at 0x401867E: (within /lib/ld-2.8.so)                               
         
==2971==    by 0x4009249: (within /lib/ld-2.8.so)                               
         
==2971==                                                                        
         
==2971== Conditional jump or move depends on uninitialised value(s)             
         
==2971==    at 0x401868D: (within /lib/ld-2.8.so)                               
         
==2971==    by 0x4009249: (within /lib/ld-2.8.so)                               
         
==2971==                                                                        
         
==2971== Conditional jump or move depends on uninitialised value(s)             
         
==2971==    at 0x401869C: (within /lib/ld-2.8.so)                               
         
==2971==    by 0x4009249: (within /lib/ld-2.8.so)                               
         
==2971==                                                                        
         
==2971== Conditional jump or move depends on uninitialised value(s)             
         
==2971==    at 0x40186AB: (within /lib/ld-2.8.so)                               
         
==2971==    by 0x4009249: (within /lib/ld-2.8.so)                               
         
==2971==
==2971== Conditional jump or move depends on uninitialised value(s)
==2971==    at 0x401881C: (within /lib/ld-2.8.so)
==2971==    by 0x4009429: (within /lib/ld-2.8.so)
==2971==
==2971== Conditional jump or move depends on uninitialised value(s)
==2971==    at 0x4018827: (within /lib/ld-2.8.so)
==2971==    by 0x4009429: (within /lib/ld-2.8.so)
==2971==
==2971== Conditional jump or move depends on uninitialised value(s)
==2971==    at 0x401881C: (within /lib/ld-2.8.so)
==2971==    by 0x400B869: (within /lib/ld-2.8.so)
==2971==
==2971== Conditional jump or move depends on uninitialised value(s)
==2971==    at 0x4018827: (within /lib/ld-2.8.so)
==2971==    by 0x400B869: (within /lib/ld-2.8.so)
==2971==
==2971== Invalid read of size 4
==2971==    at 0x4018813: (within /lib/ld-2.8.so)
==2971==    by 0x400BA64: (within /lib/ld-2.8.so)
==2971==  Address 0x46d2350 is 16 bytes inside a block of size 17 alloc'd
==2971==    at 0x402803E: malloc (in 
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==2971==
==2971== Invalid read of size 4
==2971==    at 0x4018829: (within /lib/ld-2.8.so)
==2971==    by 0x400BA64: (within /lib/ld-2.8.so)
==2971==  Address 0x46d29ec is 20 bytes inside a block of size 21 alloc'd
==2971==    at 0x402803E: malloc (in 
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
Segmentation fault
--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to