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
dom0cut-0.1.0-x86-64.patch
Description: Binary data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|