[erlang-questions] internal error in v3_life

Tuncer Ayaz tuncer.ayaz@REDACTED
Wed Jul 10 17:10:48 CEST 2013

On Wed, Jul 10, 2013 at 4:05 PM, Hakan Mattsson wrote:
> There is no explicit calls to any function in the 'v3_life' module.
> Its functions are only called via apply. This means that reltool may
> have problems to determine that the module is used or not.
> But as the default setting of module inclusion ('mod_cond' set to
> 'all') in reltool also includes all modules listed in the app file
> there should be no problem.
> I suspect that you have set 'mod_cond' to 'derived'. If that is the
> case, reltool would not include the module.

Yes, that's why we've removed {mod_cond, derived} in the rebar
template[1] to enable default behavior. After all, a broken a release
is worse than one with potentially unused files. For anyone that needs
a really lean release there's reltool's slim[2] release feature, but
it's not yet integrated[3] into rebar.

Hakan, if you take a look at the previously linked thread[4], you will
see that with {incl_cond, derived} and without a custom mod_cond
setting reltool pulls in 14 additional apps. Shouldn't the same apps
already be included due to {incl_cond, derived} regardless of

[1] https://github.com/rebar/rebar/blob/master/priv/templates/simplenode.reltool.config
[2] https://github.com/rebar/rebar/issues/7
[3] https://github.com/rebar/rebar/pull/52
[4] http://erlang.org/pipermail/erlang-questions/2013-July/074717.html

> On Wed, Jul 10, 2013 at 3:02 PM, Tuncer Ayaz <tuncer.ayaz@REDACTED> wrote:
>> On Wed, Jul 10, 2013 at 1:02 PM, Yash Ganthe wrote:
>>> Hi,
>>> I am getting the following error in my Erlang OTP application
>>> running with
>>> Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0]
>>> [kernel-poll:false]
>>> It is reporting an issue with a case_clause, but is not pointing out
>>> the precise case clause.
>>> Any pointers will be greatly appreciated.
>>> Thanks,
>>> Yash
>>> ------
>>> (myapp@REDACTED)2> :none: internal error in v3_life;^M
>>> crash reason: {{case_clause,^M
>>>                 {'EXIT',^M
>>>                  {undef,^M
>>>                   [{v3_life,module,^M
>> Have you checked that the v3_life module is available?
>> There was a similar problem in a reltool generated release. The issue
>> was that the nodetool escript had a compile directive and the release
>> was missing modules in lib/compile/ebin. So, the compiler was
>> incomplete and unable to function. BTW, another common case where the
>> Erlang compiler is needed in a release are Yaws applications.
>> Relevant discussion(s):
>> https://github.com/rebar/rebar/issues/64
>> http://erlang.org/pipermail/erlang-questions/2013-April/073185.html
>> http://erlang.org/pipermail/erlang-questions/2013-April/073323.html

More information about the erlang-questions mailing list