Erlang good first issues

30 open Erlang issues currently match the default 10+ star filter. Scored difficulty: 5,943 at 1/5, 8,784 at 2/5, 12,682 at 3/5, 12,097 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Erlang.

All languages · Browse projects · How to find good first issues · Hacktoberfest 2026

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~30 matching filters (Erlang · 10+ stars)

List
erlang/otp

Lock order violation occurred when locking 'export_tab:[][mutex]'(none)!

AI summary

A rare, intermittent test failure occurs during Elixir builds on Loongarch64, manifesting as a lock order violation in the Erlang VM. The error indicates a deadlock scenario where the scheduler thread attempts to acquire locks in an inconsistent order, specifically involving the 'export_tab' and 'fun_tab' mutexes.

team:VMhelp wantedbug
12.3K
Difficulty
4/5
erlang/otp

runtime_tools: scheduler weighted utilization ignores cgroup CPU quota

AI summary

The Erlang scheduler's weighted utilization calculation incorrectly uses the total number of logical processors available instead of accounting for the CPU quota set on a container. This leads to an underestimation of scheduler utilization when a container's CPU quota is less than its visible CPU set, as demonstrated in a Docker reproduction.

team:VMhelp wanted
12.3K
Difficulty
3/5
erlang/otp

Expose distribution queue sizes

AI summary

This feature request aims to expose the size of distribution queues for sending data on connections. Currently, there's no public API to monitor queue growth, making it difficult to detect congestion before senders are suspended. The proposed solution is a public API to read these queue sizes, potentially offering more granular insights than existing system monitors.

team:VMenhancementhelp wanted
12.3K
Difficulty
3/5
emqx/emqx

Exhook efficiency is too low

AI summary

The user reports a significant performance degradation (halving of message throughput) when enabling Exhook in EMQX, even when Exhook is configured to do nothing but log. This suggests an unexpected overhead or bottleneck introduced by the Exhook mechanism itself.

Enhancementhelp wanted
16.7K
Difficulty
3/5

Improve Symtab Caching Assumptions

AI summary

The etylizer tool currently assumes that source files do not change during a typechecking run, leading to undefined behavior if they do. This issue proposes improving etylizer to handle file modifications more gracefully, potentially by making the process more atomic on the etylizer side, eliminating the need for users to implement their own workarounds.

good first issueCompilation ManagerErlang: user typesCachinginvariant
64
Difficulty
3/5
erlang/otp

logger: logger_std_h runs file_check every 20 writes, regardless of file_check config

AI summary

The logger's standard handler (`logger_std_h`) incorrectly performs a file check on every 21st write, irrespective of the configured `file_check` interval. This behavior is caused by the synchronous logging path always calling `file_check`, even when the interval hasn't passed. The expected behavior is for `file_check` to be called only when the configured interval elapses.

team:VMhelp wantedbug
12.3K
Difficulty
3/5
emqx/emqx

Will message with Will Delay Interval > 0 is lost on abnormal WebSocket disconnect when Session Expiry Interval is 0 (or absent)

AI summary

An MQTT 5 client using WebSockets with a Session Expiry Interval of 0 and a Will Delay Interval greater than 0 loses its will message upon abnormal disconnection. This behavior differs from plain TCP connections and is contrary to MQTT 5.0 specifications, which mandate the will message be published after connection closure.

BUGhelp wanted
16.7K
Difficulty
4/5
erlang/otp

odbcserver in OTP 29 is not installed when given --with-odbc switch

AI summary

The `odbcserver` component is not being compiled and installed when the `--with-odbc` flag is used during the configuration of OTP 29. This issue requires an environment variable `ODBC_CAN_BUILD_DRIVER=true` to be set for `odbcserver` to be included in the build and subsequent releases.

team:PShelp wantedbug
12.3K
Difficulty
2/5
erlang/otp

logger: remove_handler writes back a stale handler list and can drop a concurrently added handler

AI summary

The `logger:remove_handler/1` function in Erlang's logger can race with concurrent `add_handler` calls. This race condition can lead to handlers being incorrectly removed from the primary handler list, even though their configuration still exists. This means events sent to these removed handlers will be silently dropped.

team:VMhelp wanted
12.3K
Difficulty
3/5
erlang/otp

edoc reference resolver

AI summary

The EDoc link resolver generates incorrect URIs for online documentation. Specifically, it includes an extra '/doc/' segment and uses an incompatible format for fragment identifiers (e.g., '-1' instead of '/1'). This prevents users from correctly navigating to the intended documentation pages.

team:VMhelp wantedbug
12.3K
Difficulty
3/5
emqx/emqx

Exhook: add additional fields to the HookProvider

AI summary

This issue proposes adding new fields to existing Exhook request structures to improve device status tracking and topic authorization. Specifically, it requests the addition of `connected_at` and `disconnected_at` timestamps to client connection/disconnection requests, and a `QoS` field to client authorization requests to enable more granular control over topic subscriptions.

Featurehelp wanted
16.7K
Difficulty
2/5
erlang/otp

gen_git_version.mk not setup in GNU 4.4

AI summary

When building Erlang/OTP from a Git checkout with GNU Make 4.4 or later, the emulator version banner incorrectly reports '[source]' instead of '[source-<sha>]'. This is because GNU Make 4.4 no longer remakes `.PHONY` makefiles, preventing the `gen_git_version.mk` script from running and thus failing to capture the Git SHA for build provenance.

team:VMhelp wantedbug
12.3K
Difficulty
3/5
erlang/otp

prim_tty raw mode has no way to disable ISIG/IEXTEN/IXON, so control bytes (ctrl+o/ctrl+c/ctrl+s/q) cannot be read as data — regression from the OTP 28 shell improvements (PR #8962)

AI summary

A regression introduced in OTP 28 prevents applications from reading control bytes like Ctrl+O, Ctrl+C, Ctrl+S, and Ctrl+Q as raw data when using prim_tty's raw mode. This is because the options to disable ISIG, IEXTEN, and IXON were removed, impacting third-party terminal UIs that relied on this functionality. A potential fix is proposed through the public shell:start_interactive/1 API.

team:VMhelp wanted
12.3K
Difficulty
3/5
erlang/otp

allow tag 19 in dn strings?

AI summary

This issue requests that the OTP library's public_key module be updated to tolerate `PrintableString` (ASN.1 tag 19) for the `DomainComponent` attribute in certificates, as some devices incorrectly encode it this way instead of the expected `IA5String` (tag 22). The reporter also suggests considering tolerance for `SerialNumber` encoded as `utf8-string` (tag 12) instead of `restricted-string` (tag 19), similar to existing workarounds for other attributes.

team:PShelp wantednot a bugbug
12.3K
Difficulty
3/5

Support for source ranges in error messages

AI summary

This issue proposes enhancing error reporting in the compiler to provide more precise source code locations. Currently, errors only point to a single character, but the goal is to support source ranges, allowing errors to highlight the entire relevant expression or construct for better debugging.

enhancementgood first issuehelp wanted
64
Difficulty
3/5

Compilation Manager Support for Umbrella Project Structures

AI summary

The Compilation Manager (cm) in the project is failing to detect type errors in applications within an umbrella project structure. Specifically, when using `rebar3 new umbrella` and specifying a sub-application with `-S`, `cm` does not identify any source files, preventing it from performing checks.

enhancementgood first issueCompilation Manager
64
Difficulty
3/5

Diverging expressions, rigorous dead-code detection

AI summary

This issue proposes an enhancement to the type checker to improve dead-code detection. The goal is to make the handling of diverging expressions (like those in sequences or case scrutinees) consistent, ensuring that unreachable code is correctly identified and ignored by the type checker. This involves modifying the solver to handle disjunctions for unreachable code detection, allowing it to re-evaluate constraints when a path is found to be impossible.

enhancementgood first issueconstraint systemdead code detection
64
Difficulty
4/5

New Rule: `max_native_record_fields`

AI summary

This issue proposes a new Elvis linting rule, `max_native_record_fields`, which is analogous to the existing `max_record_fields` but specifically targets native records. The goal is to enforce a maximum number of fields in native record definitions to improve code readability and maintainability, similar to the rationale for tuple records.

help wantedrulehacktoberfest
77
Difficulty
2/5

Benchmark for type narrow

AI summary

This issue proposes creating a benchmark for type narrowing, inspired by a recent Elixir release. The goal is to measure the performance of type narrowing, likely within a specific programming context or tool.

good first issuetest
64
Difficulty
2/5
erlang/otp

Unable to build on AIX 7.3 (ppc64le)

AI summary

The build process for Erlang/OTP versions 29.0 and 28.5 fails on AIX 7.3 (ppc64le) due to an error in the `make/doc.mk` file within the `lib/parsetools/doc` directory. This error occurs because the target pattern in the makefile is invalid, likely due to how documentation targets are defined or processed on this specific platform.

team:VMhelp wantedbug
12.3K
Difficulty
3/5
erlang/otp

sasl: processes are suspended sequentially

AI summary

The current release handler suspends processes sequentially, leading to longer upgrade times and extended suspension periods. The proposed solution is to suspend processes concurrently to improve efficiency. The contributor is willing to help but seeks guidance on the design due to potential complexities.

team:VMenhancementhelp wanted
12.3K
Difficulty
3/5

Also browsing: Python , TypeScript , JavaScript