Phil Winterfield (winterfi)
2008-Mar-13 22:45 UTC
[Xen-devel] Unexpected error: exceptions.OSError
The ''xm create'' python script is taking an exception before ever launching the domU guest. After looking at the archives, this seems to occur frequently enough but for obscure and unexplained reasons. In the cases where a resolution was found, it was usually by removing some option, e.g. vncviewer=1, in the config script. My script is very simple and I don''t see much of anything to remove. Is there anyone who can shed some light on how to go about debugging these sorts of errors Thanks, Phil [root@localhost ios]# xm create -c domain_config Using config file "./domain_config". Started domain IOSonXEN Unexpected error: exceptions.OSError Please report to xen-devel@lists.xensource.com Traceback (most recent call last): File "/usr/sbin/xm", line 10, in ? main.main(sys.argv) File "//usr/lib/python/xen/xm/main.py", line 2595, in main _, rc = _run_cmd(cmd, cmd_name, args) File "//usr/lib/python/xen/xm/main.py", line 2619, in _run_cmd return True, cmd(args) File "<string>", line 1, in <lambda> File "//usr/lib/python/xen/xm/main.py", line 1315, in xm_importcommand cmd.main([command] + args) File "//usr/lib/python/xen/xm/create.py", line 1197, in main do_console(sxp.child_value(config, ''name'', -1)) File "//usr/lib/python/xen/xm/create.py", line 1219, in do_console (p, rv) = os.waitpid(cpid, os.WNOHANG) OSError: [Errno 10] No child processes [root@localhost ios]# cat domain_config # -*- mode: python; -*- #========================================================================== # Python configuration setup for ''xm create''. # This script sets the parameters used when a domain is created using ''xm create''. # You use a separate script for each domain you want to create, or # you can set the parameters for the domain on the xm command line. #========================================================================== #----------------------------------------------------------------------- ----- # Kernel image file. kernel = "i86linux-i-m" # Initial memory allocation (in megabytes) for the new domain. memory =512 # A name for your domain. All domains must have different names. name = "IOSonXEN" on_crash = ''destroy'' _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Have a look in /var/log/xen/xend.log and there¹ll probably be something useful printed there. -- Keir On 13/3/08 22:45, "Phil Winterfield (winterfi)" <winterfi@cisco.com> wrote:> The xm create¹ python script is taking an exception before ever launching the > domU guest. After looking at the archives, this seems to occur frequently > enough but for obscure and unexplained reasons. In the cases where a > resolution was found, it was usually by removing some option, e.g. > vncviewer=1, in the config script. My script is very simple and I don¹t see > much of anything to remove. > > Is there anyone who can shed some light on how to go about debugging these > sorts of errors > > Thanks, > Phil > > > [root@localhost ios]# xm create -c domain_config > Using config file "./domain_config". > Started domain IOSonXEN > Unexpected error: exceptions.OSError > > Please report to xen-devel@lists.xensource.com > Traceback (most recent call last): > File "/usr/sbin/xm", line 10, in ? > main.main(sys.argv) > File "//usr/lib/python/xen/xm/main.py", line 2595, in main > _, rc = _run_cmd(cmd, cmd_name, args) > File "//usr/lib/python/xen/xm/main.py", line 2619, in _run_cmd > return True, cmd(args) > File "<string>", line 1, in <lambda> > File "//usr/lib/python/xen/xm/main.py", line 1315, in xm_importcommand > cmd.main([command] + args) > File "//usr/lib/python/xen/xm/create.py", line 1197, in main > do_console(sxp.child_value(config, ''name'', -1)) > File "//usr/lib/python/xen/xm/create.py", line 1219, in do_console > (p, rv) = os.waitpid(cpid, os.WNOHANG) > OSError: [Errno 10] No child processes > [root@localhost ios]# cat domain_config > # -*- mode: python; -*- > #===========================================================================> # Python configuration setup for ''xm create''. > # This script sets the parameters used when a domain is created using ''xm > create''. > # You use a separate script for each domain you want to create, or > # you can set the parameters for the domain on the xm command line. > #===========================================================================> > #---------------------------------------------------------------------------- > # Kernel image file. > kernel = "i86linux-i-m" > > # Initial memory allocation (in megabytes) for the new domain. > memory =512 > > # A name for your domain. All domains must have different names. > name = "IOSonXEN" > > on_crash = ''destroy'' > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Samuel Thibault
2008-Mar-14 14:45 UTC
Re: [Xen-devel] Unexpected error: exceptions.OSError
Hello, Phil Winterfield (winterfi), le Thu 13 Mar 2008 15:45:03 -0700, a écrit :> (p, rv) = os.waitpid(cpid, os.WNOHANG) > > OSError: [Errno 10] No child processesMmm, I think that may happen e.g. if the creation doesn''t exit but gets a signal, because in the loop we only test WIFEXITED(). If think maybe we should rather if os.WIFEXITED(): if os.WEXITSTATUS(rv) != 0: sys.exit(os.WEXITSTATUS(rv)) elif os.WIFSIGNALED(status): print ("got signal %d" % os.WTERMSIG(rv)) sys.exit(1) elif os.WIFSTOPPED(status): print ("got stopped with signal %d" % os.WSTOPSIG(rv)) sys.exit(1) elif os.WIFCONTINUED(status): print ("continued") sys.exit(1) To make sure that we properly exit() and return appropriate error message. Samuel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Fermín Galán Márquez
2008-Mar-29 20:17 UTC
[Xen-devel] Unexpected error: exceptions.OSError
Hi, Following the indications in the bug error message itself :), I''m reporting to the list: bud:/usr/local/inteco# xm create vm2.cfg Using config file "vm2.cfg". VNC= 1 Unexpected error: exceptions.OSError Please report to xen-devel@lists.xensource.com Traceback (most recent call last): File "/usr/lib/xen-3.0.3-1/bin/xm", line 7, in ? main.main(sys.argv) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/main.py", line 1446, in main rc = cmd(args) File "<string>", line 1, in <lambda> File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/main.py", line 751, in xm_importcommand cmd.main([command] + args) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/create.py", line 1191, in main dom = make_domain(opts, config) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/create.py", line 982, in make_domain os.kill(vncpid, signal.SIGKILL) OSError: [Errno 3] No such process vm2.cfg ------- kernel = ''/usr/lib/xen-3.0.3-1/boot/hvmloader'' builder = ''hvm'' memory = ''256'' device_model =''/usr/lib/xen-3.0.3-1/bin/qemu-dm'' disk = [ ''file:/data/vms/vm2.img,ioemu:hda,w'', ''file:/data/iso/WinxpSP1.iso,ioemu:hdb:cdrom,r'' ] name = ''win01'' vif = [''type=ioemu, bridge=xenbr1''] boot = ''b'' vnc = 1 vncviewer = 1 sdl = 0 usbdevice = ''tablet'' Some hint regarding the cause of the problem and possible solution? Thanks! Best regards ------ Fermín _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Fermín Galán Márquez-2 wrote:> > Hi, > > Following the indications in the bug error message itself :), I''m > reporting to the list: > [...] > Some hint regarding the cause of the problem and possible solution? > Thanks! > > Best regards > > ------ > Fermín > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > >Hi, I have the same problem (xen-3.0.3-1 on Debian Etch) : root@MVDS2:~# xm create /etc/xen/VDS02.hvm Using config file "/etc/xen/VDS02.hvm". VNC= 1 Unexpected error: exceptions.OSError Please report to xen-devel@lists.xensource.com Traceback (most recent call last): File "/usr/lib/xen-3.0.3-1/bin/xm", line 7, in ? main.main(sys.argv) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/main.py", line 1446, in main rc = cmd(args) File "<string>", line 1, in <lambda> File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/main.py", line 751, in xm_importcommand cmd.main([command] + args) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/create.py", line 1191, in main dom = make_domain(opts, config) File "/usr/lib/xen-3.0.3-1/lib/python/xen/xm/create.py", line 982, in make_domain os.kill(vncpid, signal.SIGKILL) OSError: [Errno 3] No such process root@MVDS2:~# my config file /etc/xen/VDS02.hvm : #===========================================================================# Python configuration setup for ''xm create''. # This script sets the parameters used when a domain is created using ''xm create''. # You use a separate script for each domain you want to create, or # you can set the parameters for the domain on the xm command line. #=========================================================================== import os, re arch = os.uname()[4] if re.search(''64'', arch): arch_libdir = ''lib64'' else: arch_libdir = ''lib'' #---------------------------------------------------------------------------- # Kernel image file. kernel = ''/usr/lib/xen-3.0.3-1/boot/hvmloader'' # The domain build function. HVM domain uses ''hvm''. builder=''hvm'' # Initial memory allocation (in megabytes) for the new domain. # # WARNING: Creating a domain with insufficient memory may cause out of # memory errors. The domain needs enough memory to boot kernel # and modules. Allocating less than 32MBs is not recommended. memory = 512 # Shadow pagetable memory for the domain, in MB. # Should be at least 2KB per MB of domain memory, plus a few MB per vcpu. shadow_memory = 8 # A name for your domain. All domains must have different names. name = ''VDS02'' # 128-bit UUID for the domain. The default behavior is to generate a new UUID # on each call to ''xm create''. #uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9" #----------------------------------------------------------------------------- # the number of cpus guest platform has, default=1 vcpus=2 # enable/disable HVM guest PAE, default=0 (disabled) pae=1 # enable/disable HVM guest ACPI, default=0 (disabled) acpi=1 # enable/disable HVM guest APIC, default=0 (disabled) apic=1 # List of which CPUS this domain is allowed to use, default Xen picks #cpus = "" # leave to Xen to pick #cpus = "0" # all vcpus run on CPU0 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5 # # Networking # vif = [ ''ip=10.1.20.102'' ] # Optionally define mac and/or bridge for the network interfaces. # Random MACs are assigned if not given. vif = [ ''type=ioemu'' ] #vif = [ ''type=ioemu,mac=00:bb:cc:dd:ee:ff'' ] #---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. #disk = [ ''file:/export/home/mydisk.raw,hdc,w'', ''file:/export/home/install.iso,hda:cdrom,r'' ] #disk = [ ''phy:/dev/dsk/c1d0p0,hdc,w'', ''file:/export/home/install.iso,hda:cdrom,r'' ] #disk = [ ''phy:/dev/zvol/dsk/mypool/mydisk,hdc,w'', ''file:/export/home/install.iso,hda:cdrom,r'' ] #disk = [ ''file:/var/lib/xen/images/windisk.img,ioemu:hda,w'', ''file:/home/xen/iso/vista-pro.iso,hdc:cdrom,r'' ] #disk = [ ''file:/var/lib/xen/images/windisk.img,ioemu:hda,w'', ''phy:/dev/cdrom,hdc:cdrom,r'' ] disk = [ ''file:/home/xen/domains/VDS02/disk.img,ioemu:hda,w'', ''file:/home/xen/iso/CentOS-5.1-i386-LiveCD.iso,ioemu:hdb:cdrom,r'' ] #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three ''reasons'' # for a domain to stop: poweroff, reboot, and crash. For each of these you # may specify: # # "destroy", meaning that the domain is cleaned up as normal; # "restart", meaning that a new domain is started in place of the old # one; # "preserve", meaning that no clean-up is done until the domain is # manually destroyed (using xm destroy, for example); or # "rename-restart", meaning that the old domain is not cleaned up, but is # renamed and a new domain started in its place. # # The default is # # on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''restart'' # # For backwards compatibility we also support the deprecated option restart # # restart = ''onreboot'' means on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''destroy'' # # restart = ''always'' means on_poweroff = ''restart'' # on_reboot = ''restart'' # on_crash = ''restart'' # # restart = ''never'' means on_poweroff = ''destroy'' # on_reboot = ''destroy'' # on_crash = ''destroy'' on_poweroff = ''destroy'' on_reboot = ''restart'' on_crash = ''restart'' #=========================================================================== # New stuff #device_model = ''/usr/'' + arch_libdir + ''/xen/bin/qemu-dm'' device_model = ''/usr/lib/xen-3.0.3-1/bin/qemu-dm'' #----------------------------------------------------------------------------- # boot on floppy (a), hard disk (c) or CD-ROM (d) # default: hard disk, cd-rom, floppy #boot="cda" boot=''dc'' #----------------------------------------------------------------------------- # write to temporary files instead of disk image files #snapshot=1 #---------------------------------------------------------------------------- # enable SDL library for graphics, default = 0 sdl=0 #---------------------------------------------------------------------------- # enable VNC library for graphics, default = 1 vnc=1 vncviewer=1 #---------------------------------------------------------------------------- # address that should be listened on for the VNC server if vnc is set. # default is to use ''vnc-listen'' setting from /etc/xen/xend-config.sxp vnclisten="0.0.0.0" #---------------------------------------------------------------------------- # set VNC display number, default = domid vncdisplay=2 #---------------------------------------------------------------------------- # try to find an unused port for the VNC server, default = 1 vncunused=0 #---------------------------------------------------------------------------- # enable spawning vncviewer for domain''s console # (only valid when vnc=1), default = 0 #vncconsole=1 #vncpasswd='''' #---------------------------------------------------------------------------- # no graphics, use serial port nographic=0 #---------------------------------------------------------------------------- # enable stdvga, default = 0 (use cirrus logic device model) stdvga=0 #----------------------------------------------------------------------------- # serial port re-direct to pty deivce, /dev/pts/n # then xm console or minicom can connect #serial=''pty'' #serial=''stdio'' #serial=''file:/tmp/blah'' #serial=''/dev/pts/0'' serial=''null'' #----------------------------------------------------------------------------- # enable sound card support, [sb16|es1370|all|..,..], default none #soundhw=''sb16'' #----------------------------------------------------------------------------- # set the real time clock to local time [default=0 i.e. set to utc] #localtime=1 #----------------------------------------------------------------------------- # start in full screen #full-screen=1 #----------------------------------------------------------------------------- # Enable USB support (specific devices specified at runtime through the # monitor window) usb=1 # Enable USB mouse support (only enable one of the following, `mouse'' for # PS/2 protocol relative mouse, `tablet'' for # absolute mouse) #usbdevice=''mouse'' #usbdevice=''tablet'' If I set sdl=1 and vnc=0, I get another error... root@MVDS2:~# xm create /etc/xen/VDS02.hvm Using config file "/etc/xen/VDS02.hvm". Error: name ''VDS02'' is not defined root@MVDS2:~# Anyone have an idea ? What can I do to try and debug this ? ----- Yann Dìnendal -- View this message in context: http://www.nabble.com/Unexpected-error%3A-exceptions.OSError-tp16374042p17252007.html Sent from the Xen - Dev mailing list archive at Nabble.com. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel