python-dmidecode-3.10.13-11.el7.x86_64

I cut and pasted your python code into a file and ran python file....  no workie....

I did find the attached dmidump.py on github.  It segfaults after printing bios on line 64.

Also attached is a dump from the AMIDEDOS utility.

Happy to do whatever is required to fix this issue..  I have a couple of months of nights and weekends invested so far...  what's a couple more.  :)






On Thu, Oct 13, 2016 at 5:01 PM, Dan Kenigsberg <danken@redhat.com> wrote:
On Thu, Oct 13, 2016 at 11:52:17AM +1100, David Pinkerton wrote:
> Nir,
>
> Looks like its crashing on the dmidecode system call.
>
> I've attached the output from gbd as well as a dmidecode text dump,
> dmidecode binary dump and each keywords run individually.
>
> >From the keywords it look like my dmi info is corrupted.  I have download a
> AMI dmi editor but this only allows access to limited fields.  Do you know
> another tools to rewrite the dmi info?

I don't. But whatever is inside your dmi, dmidecode must not crash.
Which version of python-dmidecode do you have installed?
Would you open a bug against it?

I believe that its maintainers would appriace a simple reproducer, that
does not involve ovirt or Vdsm. See if you can simplify the code in

def __leafDict(d):
    ret = {}
    for k, v in d.iteritems():
        if isinstance(v, dict):
            ret.update(__leafDict(v))
        else:
            ret[k] = v
    return ret


def getAllDmidecodeInfo():
    import dmidecode

    myLeafDict = {}
    for k in ('system', 'bios', 'cache', 'processor', 'chassis', 'memory'):
        myLeafDict[k] = __leafDict(getattr(dmidecode, k)())
    return myLeafDict



--
David Pinkerton
Consultant
Red Hat Asia Pacific Pty. Ltd.
Level 11, Canberra House
40 Marcus Clarke Street
Canberra 2600 ACT

Mobile: +61-488-904-232
Email: david.pinkerton@redhat.com
Web: http://apac.redhat.com/