This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Guidance needed

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Guidance needed
From: Richard Bowser <bowser.richard@xxxxxxxxx>
Date: Mon, 10 Aug 2009 09:48:35 -0600
Delivery-date: Mon, 10 Aug 2009 08:49:07 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=D67NBTfjqopYS91j8On+ODXUm5iPbMIlWsU2WLiHA40=; b=vYr5GUa4q+EqUbrIR89rq3elPqkhm30Yp9xnHh/vxrowSBBdIQ/vgrupB9KxoRPtM5 D0Y5OVMIHxEoa2D9WKdosqQyJHNCWJ2Vre4UJ6m7fSGpY8I/ctM8uIdSqTS0kAREhRCd x7DLf6OW7mGzGBpnCVIrZg3FzIhxexuAXJtT4=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=coIUeFZ9VDhbF1skdJWELpTQZyyVHDuxflPdWkKl/fwXCeTOOd0qxCYFIOGGgWct6d i2+gvJGHFgdES1jG1+Qo0ie4eNdkTLncCZsA42ouWrd06mnRU+SLdnFaCNBK1gzr+LBN eXr+3IFZ1HWQqgbZjlwf7cEZ0xqXdwdCf++4g=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I am something of a newcomer to xen, and interested in creating a how-to on building xen from sources.  On July 1st I started trying to build the (old) "Xen 3.4.0 plus kernel combined source distribution tarball".  I have two Linux environments available to me:  My personal development system runs Ubuntu 9.04.  I also have a Fedora Core 10 system available at school.  I have fresh, new (combined) xen-3.4.0 directories on both systems.  All build attempts still abend on both systems, for various reasons.  It is now mid August.

This is NOT a request for technical help in using xen.  (I have repeatedly written the xen-users list asking for help, and have received no helpful suggestions.  But that is only WHY I want to develop a how-to.  It doesn't matter here.)  I have just uncovered something appropriate here:  I have a Ubuntu 9.04 problem - an oddity which could be in the xen source, in Ubuntu's Python 2.6.2 script handling, or in Ubuntu 9.04 linux.  Please help me decide where to report this problem.  I must remark that since xen 3.4.1 is already out, in one sense my problem is moot.  Only in Ubuntu 9.04 there still is a 100% reproducible failure in trying to build the combined 3.4.0 tarball (no longer offered on the xen.org download page), but if left uncorrected, the identical bug is likely to appear in the next stable release of a combined tarball.

Here's the issue:  In the function untar() within ketchup, builds under Ubuntu 9.04 uniformly fail - all the while results flagged as errors actually SUCCEED before the script abends.  Ketchup dies.  Under FC10, builds blithely sail past this point with no problem, though subsequently failing for reasons still under investigation and irrelevant here.

An abnormal termination of ketchup displays these lines of text on std error:
mv: cannot move `linux-2.6.18/..' to `../..': Device or resource busy
rmdir: failed to remove `linux-2.6.18': Directory not empty
ketchup: Unpacking failed:

The ketchup untar function holds this code:
    err = os.system("mv linux*/* linux*/.[^.]* ..; rmdir linux*")
    if err:
        error("ketchup: Unpacking failed: ", err)

I believe the printed 256 above is the hex value passed as "err".

This is my point of failure.  I edited my local ketchup script forcing an exit just prior to executing the offending code.  A test of "make world" revealed ketchup had been running in the directory xen-3.4.0/linux-2.6.18/ketchup-tmp, where there was yet another linux-2.2.6, holding untared binaries just derived from linux-2.6.18.tar.bz2.  The forced exit left the suspect code unexecuted.  Manual execution of "mv linux*/* linux*/.[^.]* .." did successfully transfer all file contents from ketchup-tmp/linux-2.6.18 to ../.. (which is also named linux-2.6.18).  Subsequent manual execution of "rmdir linux*" did indeed successfully remove it from ketchup-tmp.

In confusion, I retested by sending my existing test xen-3.4.0 directory to the trash and untaring a fresh copy in its place (with ketchup unedited.)
I experienced an identical failure.  Close observation of my new but failing build directory (xen-3.4.0/linux-2.6.18) showed that:

1) it had all the contents that had been unpacked by ketchup in os.system("bzcat %s | tar -xf -" % tarfile)    - i.e., the move HAD WORKED
2) xen-3.4.0/linux-2.6.18 sill had a subdir ketchup-tmp, which was EMPTY    - i.e., the rmdir also HAD WORKED

Folks, when a system fails on an error - but actually works, something is WONKY, big time.

As a result of going this far, I now know some important details to include in my how-to.  Yet I feel this logical foible does need fixing, even if I don't quite know just who its "proud owner" might be.  If anyone knowledgeable in building xen from sources cares to do so, please email me directly.  I have several how-to issues I'd like to discuss.  If this list is an appropriate venue for discussing a how-to in progress, please tell me so.

I hope to contribute material of value here, and disrupt nobody.  Thanks for reading through all this!

-Rich B.
Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>