You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using prune with modules sourced from a .avm library, modules
referenced only in literals (e.g., supervisor callback modules in
child specs) were incorrectly pruned.
The root cause was that parse_beam (the AVM parsing path) did not
extract the literals chunk, so get_atoms/1 could not find atoms that
only appear in the literals table — such as a worker module name
inside a supervisor child spec map.
The fix extends the existing beam_lib:chunks/2 call in parse_beam to
also fetch the raw "LitT" and "LitU" chunks (compressed and
uncompressed literals, respectively), and extracts
uncompressed_literals inline. This keeps it to a single beam_lib call
and handles both OTP < 28 (compressed LitT) and OTP >= 28
(uncompressed LitT, or LitU from repackaged AVMs).
Signed-off-by: Peter M <petermm@gmail.com>
0 commit comments