Skip to content

Fix SIGQUIT (Ctrl+\) producing a core dump in rebar3 shell#3029

Open
saleyn wants to merge 1 commit into
erlang:mainfrom
saleyn:sigquit
Open

Fix SIGQUIT (Ctrl+\) producing a core dump in rebar3 shell#3029
saleyn wants to merge 1 commit into
erlang:mainfrom
saleyn:sigquit

Conversation

@saleyn

@saleyn saleyn commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

As an escript, rebar3 never initializes the break handler that erl sets up, leaving SIGQUIT at the OS default action of dumping core. Calling os:set_signal(sigquit, handle) aligns rebar3 shell's behavior with a regular erl shell.

Fixes #3012

Fix failing test suite compilation on Windows

      ┌─ apps/rebar/test/rebar_ct_SUITE.erl:
      │
 1312 │      false = lists:member(Opt, TestOpts).
      │                           ╰── variable 'Opt' exported from list (line 1306, column 19).

Fix rebar_xref_SUITE:xref_ignore_test on OTP 29

Since OTP 29, xref natively filters -ignore_xref attributes during xref:analyze, instead of leaving that entirely to rebar3's filter_xref_results/3. As a result, othermod's
-ignore_xref([{SomeMod,notavailable,1}, ...]) now also removes {SomeMod,notavailable,1} from undefined_functions (previously only the call-site was filtered, leaving the bare undefined function in the results). Make the assertion OTP-version-conditional.

As an escript, rebar3 never initializes the break handler that erl
sets up, leaving SIGQUIT at the OS default action of dumping core.
Calling os:set_signal(sigquit, handle) aligns rebar3 shell's
behavior with a regular erl shell.

Fixes erlang#3012

Fix failing test suite compilation on Windows

```
      ┌─ apps/rebar/test/rebar_ct_SUITE.erl:
      │
 1312 │      false = lists:member(Opt, TestOpts).
      │                           ╰── variable 'Opt' exported from list (line 1306, column 19).
```

Fix rebar_xref_SUITE:xref_ignore_test on OTP 29

Since OTP 29, xref natively filters -ignore_xref attributes during
xref:analyze, instead of leaving that entirely to rebar3's
filter_xref_results/3. As a result, othermod's
-ignore_xref([{SomeMod,notavailable,1}, ...]) now also removes
{SomeMod,notavailable,1} from undefined_functions (previously only
the call-site was filtered, leaving the bare undefined function in
the results). Make the assertion OTP-version-conditional.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SIGQUIT in rebar3 shell produces crash dump

1 participant