Post
Topic
Board Mining software (miners)
Re: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.10.0
by
CustomDesigned
on 27/01/2017, 17:18:00 UTC
ARM crash with a trivial API client

The source for 4.10.0 helpfully provides api-example.php which shows raw summary data, and then php data structure parsed from the raw summary data.  All good, and works.

So, not being a php person I attempted to boil down what api-example.php does, and akaict it does this:

$ echo -n summary | nc 127.0.0.1 4028

Silly me, not only does that not work, but it crashes cgminer, and my 256M arm system running cgminer.  (Some sort of resource exhaustion - system is still pingable, but unable to accept new logins.)  Apparently, the slow readline loop to read result bytes one at a time is critical to avoid crashing cgminer.  Is this a known problem?

All I want to do is monitor the total hash rate with nagios.  I guess I can run php at each check...

I tried this on a x86_64 desktop (Fedora 25) running cgminer-4.10.0, and it works. On the arm controller, both versions crash with "echo -n summary | nc 127.0.0.1 4028".  So I guess it might be a timing thing, and that slow read loop is critical on tiny computers.  Maybe I can simulate it with python.

I tried with and without the embedded jansson-2.9 lib on X86_64 - it works on both.   The arm box system jansson is 2.6, so I used the embedded version.
----
Update: twice now, reading status via API from miner.php has crashed the arm controller.  So it is a timing thing, and it just happens much less often with the php client.  The next step will be to put some resource limits on cgminer via its systemd service.  If I can keep a login running when cgminer crashes, then we can do some debugging.