Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

gc-effects: checked-in tables don't describe auto-optimize archives (js_bun_gc stub throws, table says throws=no)

Open
#12,646 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
12/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
rust
Domain
compilers

Research direction

Start with bun_compat/mod.rs lines 27-28 and 61-62 to see how the stub is selected when bun-cli-utils is off, then read bun_compat/cli_utils_stub.rs where js_bun_gc calls feature_disabled and js_throw. Next, check eh.rs around lines 254-258 for how perry_eh_personality handles call sites without a landing pad, and find the checked-in gc_effects tables. The issue asks for the table to reflect the archives actually linked, so the work is design-heavy and should be confirmed with maintainers before any edit.

Written by the indexing model from the issue text.

Description

Without the bun-cli-utils feature (e.g. an auto-optimize runtime build), js_bun_gc links the stub in bun_compat/cli_utils_stub.rs (selected at bun_compat/mod.rs:27-28,61-62), which calls feature_disabled → js_throw. All three checked-in gc_effects tables classify it Reenters / throws=no (derived from the full --release build, whose implementation only collects).

Effect: codegen emits a plain call (no invoke) for it inside a try. perry_eh_personality unwinds past call sites without a landing pad (eh.rs:254-258), so the enclosing catch and finally are skipped and the error reaches an outer try or becomes uncaught. Severity is low: it needs Bun.gc() reachable in a build without bun-cli-utils.

The same measurement found 6 indirect call sites in auto-optimize archives that the release table classifies Leaf. The general fix is to compute the table from the archives actually linked (GC_EFFECTS_AT_BUILD design, slices 1 and 5). Evidence: slice-0 report, 2026-10-15.

Dominant language
Rust
Stars
4.9k
Forks
166
Avg merge
3h 23m
Merged PRs (30d)
911

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PerryTS/perry

All issues in PerryTS/perry

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.