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

Unable to use library to pull Computer/Bios/CPU/etc. data from virtual Arm server #28

Open
samfishman1 opened this issue Jun 22, 2021 · 1 comment

Comments

@samfishman1
Copy link

Hello, I am trying to use the sysinfo to pull system data while running on an Arm server.
The following stack shows that there is a failure in a Go routine due to a SIGBUS error:

Experiment URL: https://optimizer.concertio.com/projects/8a6a2052-3a06-4779-9d81-cb30cf86b392/experiments#70b2cc3b-05f5-44d1-8682-fc36f860896a unexpected fault address 0x0 fatal error: fault [signal SIGBUS: bus error code=0x3 addr=0x0 pc=0x8a1b34] goroutine 1 [running]: runtime.throw(0xb41f1d, 0x5) /usr/lib/go-1.13/src/runtime/panic.go:774 +0x54 fp=0x40001208c0 sp=0x4000120890 pc=0x45c3bc runtime.sigpanic() /usr/lib/go-1.13/src/runtime/signal_unix.go:391 +0x434 fp=0x40001208f0 sp=0x40001208c0 pc=0x471b7c github.com/zcalusic/sysinfo.cloneBytes(0xffffa040e000, 0x10000, 0x10000, 0x10000, 0x1, 0x1) /root/go/pkg/mod/github.com/zcalusic/sysinfo@v0.0.0-20210609180555-aff387a52b3a/memory.go:46 +0x4c fp=0x4000120930 sp=0x4000120900 pc=0x8a1b34

This error started occurring after attempting to implement the sysinfo library into the codebase.
If you are interested I may be able to provide access to the Arm server that was used (no access to the code). Hoping that the access to this server would potentially allow you time to debug so that I could use this library. Please let me know your thoughts and if you need more info in order to debug, thank you!

@zcalusic
Copy link
Owner

Hello @samfishman1

I suspect ARM architecture would be quite problematic to support.

There's cloneBytes() call in the stacktrace you provided, I'd suggest to first try compiling without the very last commit in the repo. It was provided by @lucklove to actually try to fix some pecularities with ARM architecture, but I wasn't able to test it.

Another thing to try is dmidecode utility. Sysinfo is very dependent on data provided in SMBIOS/DMI tables, which are always present on the x86 architecture, but that might not be true for virtual ARM environment. Which, I'm afraid, would render the whole library not really useful in such environment (if dmidecode itself is not working, or returning empty set).

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