Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Occasional hang when calling IPMI functions #169

Open
solemnwarning opened this issue Apr 28, 2024 · 1 comment
Open

Occasional hang when calling IPMI functions #169

solemnwarning opened this issue Apr 28, 2024 · 1 comment

Comments

@solemnwarning
Copy link

Hello,

I'm not sure if this is a library bug or something I'm doing wrong, but in one of my projects the IPMI library sometimes hangs within calls to ipmi.get_chassis_status() and ipmi.session.establish() in the ipmiwake() function here.

The BMC in question is on a SuperMicro server and the machine is shut down and booted on demand, which may or may not be a contributing factor to the hang (I've not been able to figure out how to trigger it - it just happens sometimes on a machine which is running this code periodically).

Any ideas, or things I can do to try narrowing the scope of the bug down?

Thanks

@canteuni
Copy link
Contributor

Hello,

I'm not the maintainer of this library, just an occasional contributor, but maybe I can help you.

There is a small possibility that the BMC is "overwhelmed" and can't process your get_chassis_status() command if it is currently processing a "power on" command. You can try to reproduce the issue by issuing get_chassis_status() while spamming "power on" or "power off" commands but I'm not sure (and perhaps the server won't be happy to be turned on and off multiples times like this).

Other ideas that come to my mind to narrow the scope of the bug :

  • try using interface ipmitool instead of native rmcp in your function (you will need to install ipmitool on your machine). If the bug disappear, maybe it's an issue with this library. If the bug is still there, maybe it's an issue with your own BMC
  • try using a BMC simulator (something like this) and call your function against this simulator. If the bug disappear, maybe it's an issue with your BMC. If the bug is still there, maybe it's an issue with this library

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

No branches or pull requests

2 participants