Certain data fields which are supposed to be unsigned have negative values.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.3k
- Forks
- 763
- PR merge metrics
- No merged PRs in 30d
Description
Describe the bug
Consider these:
- PCI device with a vendor id of -32634
- CpuIdInfo with a level of -2147483640
There are probably many others. They usually are unsigned integers, but pyvmomi returns them with a sign.
Reproduction steps
- Get PCI devices or get CPU features for ESX machines
Expected behavior
Values are unsigned integers. In the specific cases above:
vendorId = 32902 (0x8086 hex, Intel)
level = 2147483656 (0x80000008 hex).
Additional context
This might also be an issue with the API itself, but posting here for now.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue through PCI device data and CpuIdInfo for an ESX machine, then trace how pyvmomi converts vendorId and level values. Done means these fields are returned as unsigned integers, including vendorId 32902 and level 2147483656, with regression coverage if the relevant tests are found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100