[erlang-bugs] Dialyzer PLT update takes too much memory

Loïc Hoguin <>
Wed Jan 30 17:33:00 CET 2013

Going from R15B03 to R16A and trying to dialyze has Dialyzer complains 
about the outdated PLT. So far so good. Problem is Dialyzer never 
manages to update said PLT due to an excessive amount of memory use.

With 2GB of free memory the following command fails when the PLT is 

dialyzer --src src --plt .cowboy.plt --no_native -Werror_handling 
-Wrace_conditions -Wunmatched_returns

The following output is observed:

   Checking whether the PLT .cowboy.plt is up-to-date... no
     (the PLT .cowboy.plt was built with an old version of Dialyzer)
   Rebuilding the information in .cowboy.plt...
Crash dump was written to: erl_crash.dump
eheap_alloc: Cannot allocate 762886488 bytes of memory (of type "heap").
make: *** [dialyze] Aborted (core dumped)

The crash dump is a mighty 102MB.

Building the PLT from scratch works.

Loïc Hoguin
Erlang Cowboy
Nine Nines

More information about the erlang-bugs mailing list