[erlang-bugs] beam_lib stripper damages -extends() modules

Konstantin Nikiforov <>
Fri Jun 29 13:12:30 CEST 2012


As said in doc[1], beam_lib stripper removes list of attributes of every
module.

For example, i have:

mod1.erl
---------------------
-module(mod1).

some_function() ->
   ok.
---------------------

mod2.erl
---------------------
-module(mod2).

-extends(mod1).
---------------------

So, mod2:some_function() expected to work ok, right?

Next, I will strip the module (as it done by reltool on
{debug_info,strip} in .rel file):

beam_lib:strip_files(["ebin/mod2.beam"]).

mod2:some_function().
* exception: undef.

mod2:module_info(attributes).
[].

As you can see, module mod2 after *safe* stripping is not working as
expected anymore.

It will be good to strip attributes list more accurately.


[1] http://www.erlang.org/doc/man/beam_lib.html#strip-1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20120629/fb467cf3/attachment.bin>


More information about the erlang-bugs mailing list