@paulaust
Have you tried running the recon command in verbose mode? Try running in Terminal the following:
sudo jamf recon -verbose
You should run this on both a failing Mac and on a Mac that succeeds, and then compare the output to see what the differences may be.
Another possibility: If a Mac had any hardware repair recently, e.g. its motherboard replaced, the Mac's Apple serial number might be missing or may not have been transferred over to the new motherboard by the tech.
Yet another possibility: Check the Hardware UID reported by the endpoint and the UDID stored in Casper for that same endpoint. To obtain the endpoint's hardware data, you can type
system_profiler SPHardwareDataType
from the command line on the endpoint.
Lastly, has anything changed in your Casper configuration recently? Think specifically about any new or modified Casper extension attributes — if an extension attribute's script was recently added, it might be worth disabling it and re-running recon to see if you can isolate the culprit.
Good luck in troubleshooting this! Please report back what the problem was.
We had a range of machines hang while gathering inventory. The problem turned out to be a custom path that we were attempting to collect, but no longer needed to. After removing it from the JSS, the inventory issues went away.