Corrupted RDM dictionary?

We are seeing some strange behavior just after RDM dictionary is loaded – some fields of dictionary entries contain incorrect values.

The facts:

- the dictionary is loaded within a static library;

- in unit tests for that library, all fields contain correct values;

- error only reproduced when the library linked against production executable.

Output from the unit tests( the correct one):

RDM dictionary successfully loaded: 14471 entries

fid=32650: acronym=QUERY, ddeAcronym=REQUEST QUERY, fid=32650, rippleToField=0, fieldType=5, length=5100, enumLength=0, rwfType=19, rwfLength=5100

fid=4271: acronym=GUID, ddeAcronym=GLOBAL UNIQUE ID, fid=4271, rippleToField=0, fieldType=5, length=255, enumLength=0, rwfType=19, rwfLength=255

fid=12794: acronym=MET_TF_U, ddeAcronym=METRIC TM FRAME UT, fid=12794, rippleToField=0, fieldType=6, length=3, enumLength=8, rwfType=14, rwfLength=1

Output from the provider exec ( the incorrect one):

RDM dictionary successfully loaded: 14471 entries

fid=32650: acronym=QUERY, ddeAcronym=REQUEST QUERY, fid=32650, rippleToField=0, fieldType=5, length=4864, enumLength=236, rwfType=19, rwfLength=0

fid=4271: acronym=GUID, ddeAcronym=GLOBAL UNIQUE ID, fid=4271, rippleToField=0, fieldType=5, length=4864, enumLength=255, rwfType=0, rwfLength=0

fid=12794: acronym=MET_TF_U, ddeAcronym=METRIC TM FRAME UT, fid=12794, rippleToField=0, fieldType=6, length=3592, enumLength=1, rwfType=0, rwfLength=0

Does anyone have any idea what might be the problem?

Best Answer

  • DevTrev
    Answer ✓

    If you could, please confirm the following:

    - Which operating system

    - Which version of UPA you are using

    - Ensure that the libraries and headers are both from that version of UPA, and that both test and the executable are using those same libraries/headers.

    It does sound like you have a version mismatch somewhere.

Answers

  • - Linux CentOS 6.5 2.6.32-504.8.1.el6.x86_64 #1 SMP Tue Jan 27 12:21:41 PST 2015 x86_64 x86_64 x86_64 GNU/Linux

    - 7.6.1.L1.linux.rrg

    That was exactly the problem, productions execs were linked against older version of UPA (7.5.0)

    Thanks for your helpful reply