python-libsmbbios bios version check on lucid [backport request]
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libsmbios (Ubuntu) |
Fix Released
|
Medium
|
Brian Murray | ||
Lucid |
Fix Released
|
Medium
|
Brian Murray |
Bug Description
Hello,
I encountered a bug while updating some Dell server BIOS, with a 3.0.0 BIOS on Ubuntu 10.04 LTS (lucid). The current version of python-libsmbios on lucid suffers of a parsing bug on the bios version string, due to null bytes (.0.0) in the version string.
With the following files:
Works: http://
Fails: http://
== SRU Justification ==
* Impact: users needing to upgrade DELL server's firmware to version 3.0.0 on Ubuntu 10.04 LTS are not be able to do so due to parsing issue.
TEST CASE:
How to reproduce:
1. wget http://
2. smbios-
Expected results:
No error messages, and a proper parse output from the bios.
Actual results:
Python traceback.
Output from step 2 failing follows:
# smbios-
BIOS HDR file information dump.
Filename: /dev/shm/bios.hdr
File magic header: $RBU
Header length: 84
Header major version: 2
Header minor version: 0
Number of supported systems: 10
Quick check field: Copyright 2011 Dell Inc.
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
On newer Ubuntu versions, libsmbios has a fix about that ; could it be backported to lucid ?
--- /usr/lib/
+++ /usr/lib/
@@ -107,7 +107,7 @@
#char quickCheck[40];
#char biosVersion[3];
- ("biosVersion", ctypes.c_char * 3),
+ ("biosVersion", ctypes.c_uint8 * 3),
#u8 miscFlags;
#u8 biosInternalUse;
Thanks.
Description: Ubuntu 10.04.2 LTS
Release: 10.04
libsmbios2:
Installed: 2.2.13-0ubuntu4.1
Candidate: 2.2.13-0ubuntu4.1
Version table:
*** 2.2.13-0ubuntu4.1 0
500 http://
100 /var/lib/
2.
500 http://
500 http://
Related branches
Changed in libsmbios (Ubuntu): | |
status: | Incomplete → In Progress |
assignee: | nobody → Brian Murray (brian-murray) |
importance: | Undecided → Medium |
Changed in libsmbios (Ubuntu Lucid): | |
status: | New → In Progress |
importance: | Undecided → Medium |
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.