Expected results:
No error messages, and a proper parse output from the bios.
Actual results:
Python traceback.
--
Traceback (most recent call last):
File "/usr/sbin/smbios-rbu-bios-update", line 185, in <module>
sys.exit( main() )
File "/usr/sbin/smbios-rbu-bios-update", line 138, in main
dumpHdrFileInfo(h)
File "<libsmbios_c._peak_util_decorators.rewrap wrapping libsmbios_c.rbu_hdr.dumpHdrFileInfo at 0x0184C6E0>", line 3, in dumpHdrFileInfo
File "/usr/lib/python2.6/dist-packages/libsmbios_c/trace_decorator.py", line 98, in trace
result = func(*args, **kw)
File "/usr/lib/python2.6/dist-packages/libsmbios_c/rbu_hdr.py", line 43, in dumpHdrFileInfo
print _("BIOS Version: %s") % hdr.biosVersion()
File "<libsmbios_c._peak_util_decorators.rewrap wrapping libsmbios_c.rbu_hdr.biosVersion at 0x018A25F0>", line 3, in biosVersion
File "/usr/lib/python2.6/dist-packages/libsmbios_c/trace_decorator.py", line 98, in trace
result = func(*args, **kw)
File "/usr/lib/python2.6/dist-packages/libsmbios_c/rbu_hdr.py", line 87, in biosVersion
ver = "%d.%d.%d" % struct.unpack("BBB", self.hdr.biosVersion)
struct.error: unpack requires a string argument of length 3
--
== SRU Justification ==
* Impact: users needing to upgrade DELL server's firmware to version 3.0.0 on Ubuntu 10.04 LTS would not be able to do so due to parsing issue.
* Fix:
The fix is a trivial parsing fix of one liner:
--
- ("biosVersion", ctypes.c_char * 3),
+ ("biosVersion", ctypes.c_uint8 * 3),
--
* Test case: linux.dell. com/repo/ firmware/ bios-hdrs/ system_ bios_ven_ 0x1028_ dev_0x0236_ version_ 3.0.0/bios. hdr rbu-bios- update --hdr-info=bios.hdr
How to reproduce:
1. wget http://
2. smbios-
Expected results: smbios- rbu-bios- update" , line 185, in <module> smbios- rbu-bios- update" , line 138, in main Info(h) c._peak_ util_decorators .rewrap wrapping libsmbios_ c.rbu_hdr. dumpHdrFileInfo at 0x0184C6E0>", line 3, in dumpHdrFileInfo python2. 6/dist- packages/ libsmbios_ c/trace_ decorator. py", line 98, in trace python2. 6/dist- packages/ libsmbios_ c/rbu_hdr. py", line 43, in dumpHdrFileInfo c._peak_ util_decorators .rewrap wrapping libsmbios_ c.rbu_hdr. biosVersion at 0x018A25F0>", line 3, in biosVersion python2. 6/dist- packages/ libsmbios_ c/trace_ decorator. py", line 98, in trace python2. 6/dist- packages/ libsmbios_ c/rbu_hdr. py", line 87, in biosVersion unpack( "BBB", self.hdr. biosVersion)
No error messages, and a proper parse output from the bios.
Actual results:
Python traceback.
--
Traceback (most recent call last):
File "/usr/sbin/
sys.exit( main() )
File "/usr/sbin/
dumpHdrFile
File "<libsmbios_
File "/usr/lib/
result = func(*args, **kw)
File "/usr/lib/
print _("BIOS Version: %s") % hdr.biosVersion()
File "<libsmbios_
File "/usr/lib/
result = func(*args, **kw)
File "/usr/lib/
ver = "%d.%d.%d" % struct.
struct.error: unpack requires a string argument of length 3
--
* Regression potential: none.