#1052650 overflows stack on ruff

Package:
cargo-debstatus
Source:
cargo-debstatus
Description:
print dependency tree of a Rust project using Cargo
Submitter:
Jelmer Vernooij
Date:
2023-11-25 03:51:03 UTC
Severity:
normal
#1052650#5
Date:
2023-09-25 16:23:29 UTC
From:
To:
Hello,

"cargo debstatus" runs out of stack space on ruff:

$ git clone https://github.com/astral-sh/ruff
$ cd ruff
$ cargo debstatus -p ruff_cli --no-indent
...
thread 'main' has overflowed its stack
fatal runtime error: stack overflow

ruff's dependency stack is pretty crazy FWIW, so that may be related.

#1052650#10
Date:
2023-11-01 18:37:39 UTC
From:
To:
On Mon, 25 Sep 2023 17:23:29 +0100 Jelmer =?utf-8?Q?Vernoo=C4=B3?=  <jelmer@debian.org> wrote:
 > Package: cargo-debstatus
 > Version: 0.5.0-3
 > Severity: normal
 >
 > Hello,
 >
 > "cargo debstatus" runs out of stack space on ruff:
 >
 > $ git clone https://github.com/astral-sh/ruff
 > $ cd ruff
 > $ cargo debstatus -p ruff_cli --no-indent
 > ...
 > thread 'main' has overflowed its stack
 > fatal runtime error: stack overflow
 >
 > ruff's dependency stack is pretty crazy FWIW, so that may be related.
 >
 > -- System Information:
 > Debian Release: trixie/sid
 > APT prefers buildd-unstable
 > APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500,
'testing'), (1, 'buildd-experimental'), (1, 'experimental')
 > Architecture: amd64 (x86_64)
 > Foreign Architectures: i386
 >
 > Kernel: Linux 6.5.0-1-amd64 (SMP w/32 CPU threads; PREEMPT)
 > Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE,
TAINT_UNSIGNED_MODULE
 > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en
 > Shell: /bin/sh linked to /usr/bin/dash
 > Init: systemd (via /run/systemd/system)
 > LSM: AppArmor: enabled
 >
 > Versions of packages cargo-debstatus depends on:
 > ii libc6 2.37-10
 > ii libgcc-s1 13.2.0-4
 >
 > cargo-debstatus recommends no packages.
 >
 > cargo-debstatus suggests no packages.
 >
 > -- no debconf information
 >
 >

Hi Jelmer,


yeah, cargo debstatus atm doesn't deal too well with huge dependency
trees. fwiw

cloning the repos of subdependencies and running it there helps
splitting the dependency tree and making the output more readable.


best,


werdahias