[erlang-bugs] Dialyzer Bugs

Kostis Sagonas kostis@REDACTED
Tue Jul 22 07:24:49 CEST 2014


On 07/22/2014 01:55 AM, Michael Truog wrote:
> There are two dialyzer bugs that I ran into recently:
> 1) In 17.1 passing a symbolic link to the --plt option doesn't work as
> it once did (it is still ok to have ~/.dialyzer_plt as a symbolic link)

An example, or even better a git bisect, that shows the regression 
compared to some previous version would help here.

> 2) -Wrace_conditions causes the dialyzer execution time to vary with the
> possibility that dialyzer execution will not finish.  The memory of
> dialyzer can also grow to much larger sizes >1GB while this occurs. I
> had this occur awhile ago with R16B03-1 while leaving dialyzer to run
> and it refused to finish after roughly 40 minutes when a normal run
> takes 1 minute (roughly).  I recently talked to a person on IRC
> (freenode in the #erlang room) which had the same problem where the
> person's dev machine was affected but the CI server never had any
> problem completing the dialyzer runs.  It seems like this appears only
> when a sufficiently large amount of Erlang source code is used for the
> dialyzer run.  The person suspected that a corrupt file might have
> caused the problem to appear, but I doubted that -Wrace_conditions would
> be modifying any state on disk (it wouldn't be changing a PLT file,
> right?).

This is a known issue. The analysis that finds data races performs 
intra-procedural data flow analysis and can sometimes explode in time. 
Hence it is not enabled by default. Enable it at your own risk.

Kostis



More information about the erlang-bugs mailing list