[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Help with Guest creation problem
This problem is a bit out of the mainstream as it relates to guests that terminate quickly, which the typical OS guest does not do, but my Java guest applications sometimes do. The problem manifests itself as the behavior below. I believe that the cause is some race between the guest terminating, console output and the xm code. I'm no Python expert but it doesn't look as if the error handling in do_console is working correctly. Note that if the guest is made to sleep for a second before terminating, this behavior never happens. I've experienced this occasionally on Solaris xVM and very frequently on various flavors of Xen/Linux. Any insight appreciated. Mick# xm create -c xmconfigs/domain_config_generic extra= -XX:SemiSpaceGC:Virtual -cp /guestvm/image/GuestVM/bin test.java.lang.Null name=GuestVM-test.java.lang.Null-mjj Unexpected error: <type 'exceptions.OSError'> Please report to xen-devel@xxxxxxxxxxxxxxxxxxx Traceback (most recent call last): File "/usr/sbin/xm", line 10, in <module> main.main(sys.argv)File "/usr/lib64/python2.5/site-packages/xen/xm/main.py", line 2500, in main _, rc = _run_cmd(cmd, cmd_name, args)File "/usr/lib64/python2.5/site-packages/xen/xm/main.py", line 2524, in _run_cmd return True, cmd(args) File "<string>", line 1, in <lambda>File "/usr/lib64/python2.5/site-packages/xen/xm/main.py", line 1302, in xm_importcommand cmd.main([command] + args)File "/usr/lib64/python2.5/site-packages/xen/xm/create.py", line 1293, in main do_console(sxp.child_value(config, 'name', -1))File "/usr/lib64/python2.5/site-packages/xen/xm/create.py", line 1318, in do_console (p, rv) = os.waitpid(cpid, os.WNOHANG) OSError: [Errno 10] No child processes [root@diy-3-15 GuestVMNative]# create.py: def do_console(domain_name): cpid = os.fork() if cpid != 0: for i in range(10): # Catch failure of the create process time.sleep(1) (p, rv) = os.waitpid(cpid, os.WNOHANG) if os.WIFEXITED(rv): if os.WEXITSTATUS(rv) != 0: sys.exit(os.WEXITSTATUS(rv)) try: # Acquire the console of the created dom if serverType == SERVER_XEN_API: domid = server.xenapi.VM.get_domid( get_single_vm(domain_name)) else: dom = server.xend.domain(domain_name) domid = int(sxp.child_value(dom, 'domid', '-1')) console.execConsole(domid) except: pass print("Could not start console\n"); sys.exit(0) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |