-
Notifications
You must be signed in to change notification settings - Fork 331
Open
Description
Problem
On Linux systems with UIDs or GIDs exceeding 2,147,483,647 (common with LDAP/SSSD/AD integration), every steampipe command fails — including steampipe plugin list:
Error: failed to get status: strconv.ParseInt: parsing "2721275558": value out of range
From the logs:
error finding process 7163: failed to get status: strconv.ParseInt: parsing "2721275558": value out of range
Root Cause
The verifyRunning() function in pkg/pluginmanager/state.go calls utils.FindProcess() on every startup to check if the plugin manager is alive. This calls gopsutil's process.Status(), which reads /proc/<pid>/status and parses UIDs with strconv.ParseInt(value, 10, 32) — overflowing for UIDs > int32 max.
The underlying fix is in pipe-fittings: turbot/pipe-fittings#781
Additional cleanup
Steampipe also has a local copy of FindProcess in pkg/utils/pid_exists.go with the same bug. There's already a TODO to consolidate to the pipe-fittings version:
// TODO We should look to use pipe-fittings/v2/utils.PidExists instead of this function.
// https://github.com/turbot/steampipe/issues/4487Once pipe-fittings is fixed, steampipe should:
- Update the pipe-fittings dependency
- Remove the local
pkg/utils/pid_exists.goand use the pipe-fittings version (per the existing TODO)
Environment
- Steampipe v2.4.0
- Ubuntu 24
- System UID/GID > 2,147,483,647 (enterprise identity management)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels