Skip to content

Out of memory with latest development version of dh-make-golang estimate #292

@ottok

Description

@ottok

When running gh-make-golang estimate on a large package, the process eats up a lot of memory and CPU, and eventually dies as OS kills it.

Steps to reproduce:

$± curl -LO https://salsa.debian.org/otto/dh-make-golang/-/jobs/8033558/artifacts/raw/debian/output/dh-make-golang_0.8+git20250820.a6fe7fa-1~otto+salsaci+20250820+39_amd64.deb
$ apt install ./dh-make-golang*.deb
$ dh-make-golang estimate github.com/ethereum/go-ethereum
2025/08/21 02:56:02 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob is packaged as github.com/Azure/azure-sdk-for-go in Debian (golang-github-azure-azure-sdk-for-go)
2025/08/21 02:56:02 github.com/aws/aws-sdk-go-v2/config is packaged as github.com/aws/aws-sdk-go-v2 in Debian (golang-github-aws-aws-sdk-go-v2)
2025/08/21 02:56:02 github.com/aws/aws-sdk-go-v2/credentials is packaged as github.com/aws/aws-sdk-go-v2 in Debian (golang-github-aws-aws-sdk-go-v2)
2025/08/21 02:56:02 github.com/aws/aws-sdk-go-v2/service/route53 is packaged as github.com/aws/aws-sdk-go-v2 in Debian (golang-github-aws-aws-sdk-go-v2)
2025/08/21 02:56:02 github.com/cespare/xxhash/v2 has no version string in Debian (golang-github-cespare-xxhash)
2025/08/21 02:56:02 github.com/deckarep/golang-set/v2 has no version string in Debian (golang-github-deckarep-golang-set)
2025/08/21 02:56:02 github.com/golang-jwt/jwt/v4 has no version string in Debian (golang-github-golang-jwt-jwt)
2025/08/21 02:56:02 github.com/go-chi/chi/v5 has no version string in Debian (golang-github-go-chi-chi)
2025/08/21 02:56:02 github.com/labstack/echo/v4 has no version string in Debian (golang-github-labstack-echo)
2025/08/21 02:56:02 github.com/pion/stun/v2 has no version string in Debian (golang-github-pion-stun)
Killed
(out of memory)

Using the latest released version does not have this issue:

dh-make-golang estimate github.com/ethereum/go-ethereum

go get: 0.02 KiBgo: downloading github.com/ethereum/go-ethereum v1.16.2
go get: 0.02 KiBgo: downloading golang.org/x/crypto v0.36.0
go: downloading github.com/karalabe/hid v1.0.1-0.20240306101548-573246063e52
go: downloading google.golang.org/protobuf v1.34.2
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/protolambda/zrnt v0.34.1
...
go: added google.golang.org/protobuf v1.34.2
go: added gopkg.in/natefinch/lumberjack.v2 v2.2.1
go: added gopkg.in/yaml.v2 v2.4.0
go: added gopkg.in/yaml.v3 v3.0.1
2025/08/21 03:03:13 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob is packaged as github.com/Azure/azure-sdk-for-go in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/config is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/credentials is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/service/route53 is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/Azure/azure-sdk-for-go/sdk/azcore is packaged as github.com/Azure/azure-sdk-for-go in Debian
2025/08/21 03:03:13 github.com/Azure/azure-sdk-for-go/sdk/internal is packaged as github.com/Azure/azure-sdk-for-go in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/feature/ec2/imds is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/internal/configsources is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/internal/ini is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/service/sso is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/service/ssooidc is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 github.com/aws/aws-sdk-go-v2/service/sts is packaged as github.com/aws/aws-sdk-go-v2 in Debian
2025/08/21 03:03:13 Bringing github.com/ethereum/go-ethereum to Debian requires packaging the following Go modules:
github.com/ethereum/go-ethereum
github.com/cespare/cp
github.com/cloudflare/cloudflare-go
github.com/cockroachdb/pebble
github.com/cespare/xxhash/v2 (github.com/cespare/xxhash in Debian)
github.com/cockroachdb/errors
github.com/cockroachdb/logtags
github.com/cockroachdb/redact
github.com/cockroachdb/fifo
github.com/cockroachdb/redact (2)
github.com/cockroachdb/tokenbucket
github.com/ghemawat/stream
golang.org/x/perf
github.com/aclements/go-moremath
github.com/cockroachdb/logtags (2)
...


I suspect this might be a regression from one of the recent changes in the `estimate` command in e.g. 9910944, 364c9eb, c49bae1 or 066571e. Could @n-peugnet take a look?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions