compiler crash on very long module paths

Chris Newcombe <>
Sat Jun 20 15:14:52 CEST 2009


Please could the compiler be changed to not call list_to_atom/1 on module paths?

We have a centralized automated build system (used by very many teams,
so it's not going to change).
When compiling, it happens to place modules in a fairly deep directory
hierarchy (this is on linux).
I don't have any control over most of that depth.

Several times I've had builds fail with errors like this:

   # (no error logger present) error: "Error in process <0.0.0> with
exit value: {system_limit,[{erlang,list_to_atom,[\"very long path
... \n"

The particular compiler command was very simple

      erlc -W +debug_info -I ../include -o ../ebin *.erl

... it was just being run in a deep directory.

Currently I'm having to work around it by truncating project and
module names, which is just silly.
If our build system happens to increase the directory depth any more,
I might not be able to build at all.

It seems unlikely that it would be essential (or a compatibility
issue) to generate atoms containing full filesystem paths, so please
could this be changed?

many thanks,

Chris


More information about the erlang-questions mailing list