Skip to content
This repository has been archived by the owner on Feb 11, 2020. It is now read-only.

NMPRK_GetStatistics() often returns NMPRK_INVALID_RSP_LENGTH #37

Open
loeka opened this issue Nov 8, 2019 · 0 comments
Open

NMPRK_GetStatistics() often returns NMPRK_INVALID_RSP_LENGTH #37

loeka opened this issue Nov 8, 2019 · 0 comments

Comments

@loeka
Copy link

loeka commented Nov 8, 2019

Hello everyone,

I have some unexpected behavior from the Intel node manager on an Intel board. Maybe you can help me. When I call the NMPRK_GetStatistics()-function it returns relatively often an error. The error is NMPRK_INVALID_RSP_LENGTH.

In the attachment are some of the build-in debugging logs of the NMPRK.

nmprk_short.log: There are two times the same request. The first one is the one with the error and the second is without.
nmprk_long.log: The same as nmprk_short.log with the full communication.
reproducer.cpp: Compile with g++ reproducer.cpp -I[path]/NMPRK/NMPRK/nmprkC -L. -lnmprkc -pthread pkg-config --cflags openssl pkg-config --libs openssl -o reproducer

As you can see request puts out two responses. If the response with the data is sent first the error is thrown.

I looked into the code of NMPRK and followed the calls to the function SendBridgedCommand() in transportInterfaceSlim.cpp. There are two function for the socket communication p->RequestResponse(bReq) and p->GetAsyncResponse(5000). They both resolve in two variants of IpmiSession::sendRecv(). So I thought the packages don't received in the order in they where sent because the RMCP protocol is UDP based. Even if I put a sleep(5) between the two sendRecv(), to nearly guarantee the right order, the error occurs.

test system:

Intel(R) Xeon(R) Gold 5120
Base Board Information
Manufacturer: Intel Corporation
Product Name: S2600BPB
Version: H87926-500

BMC Firmware Build Time : Sat Sep 7 13:21:40 2019
BIOS ID : SE5C620.86B.02.01.0009.092820190230
BMC FW Rev : 2.22.59c3b83a
Backup BMC FW Rev : 1.93.870cf4f0
Build ID : 59C3B83A
SDR Package Version : 1.41
Mgmt Engine (ME) FW Rev : 04.01.04.323

Thank you for your help.

nmprk_full.log
nmprk_short.log
reproducer.cpp.zip

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant