[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] dom0cut script patch for x86-64.



Hi,

In my environment (x86-64), the following problem occurred by executing dom0cut script.

# dom0cut_x86.py -oDump2006122801 -dvmcore.2006122801 --target=0 -x/ root/xen-3.0.4-testing.hg/xen/xen-syms -ax86_64 -f

Traceback (most recent call last):
  File "/usr/bin/dom0cut_x86.py", line 174, in ?
    main()
  File "/usr/bin/dom0cut_x86.py", line 165, in main
    domextract(outdump, dump, options.xensyms, domid)
  File "/usr/bin/dom0cut_x86.py", line 43, in domextract
    dom_context = xenimg.get_domain_context(domp)
File "/usr/lib/python2.3/site-packages/xendump/XenImage.py", line 184, in get_domain_context
    guest_reg.fromXen(regtxt)
File "/usr/lib/python2.3/site-packages/xendump/Register.py", line 41, in fromXen
    return self.fromString(self.xenfmt, self.xenregs, regstring)
File "/usr/lib/python2.3/site-packages/xendump/Register.py", line 28, in fromString
    regs = struct.unpack(fmt, regstring)
struct.error: unpack str size does not match format

I checked the size of fmt and regstring. (fmt is 'QQQQQQQQQQQQQQQLLQHHBBBBQQQQQQQ' in this case.)
struct.calcsize(fmt) was 208. len(regstring) was 200.

The cause of this difference is in the behavior of the struct module in 64bit environment. struct.calcsize('L') is expected to become 4. But,struct.calcsize ('L') was 8 in my environment. This difference can be corrected by adding the first character of the format string.

An attached patch fix this problem.

Hiromichi Ito

Attachment: dom0cut-0.1.0-x86-64.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.