Bug 1544053

Summary: "dialyzer --build_plt --apps erts kernel stdlib" crashes
Product: [Fedora] Fedora Reporter: dxtr
Component: erlangAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 27CC: dxtr, erlang, extras-qa, jeckersb, jroman.espinar, lemenkov, leon.one, rhbugs, rjones, s
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1456567 Environment:
Last Closed: 2018-11-20 14:54:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
erl_crash.dump none

Description dxtr 2018-02-10 00:16:45 UTC
+++ This bug was initially created as a clone of Bug #1456567 +++

Description of problem:
Dialyzer PLT build crashes everytime.

Version-Release number of selected component (if applicable):

dnf info erlang
Last metadata expiration check: 0:08:11 ago on Mon May 29 17:16:10 2017.
Installed Packages
Name        : erlang
Arch        : x86_64
Epoch       : 0
Version     : 19.3.4
Release     : 1.fc25

dnf info erlang-dialyzer
Last metadata expiration check: 0:08:22 ago on Mon May 29 17:16:10 2017.
Installed Packages
Name        : erlang-dialyzer
Arch        : x86_64
Epoch       : 0
Version     : 19.3.4
Release     : 1.fc25


How reproducible:

always

Steps to Reproduce:
1. dialyzer  --build_plt --apps erts kernel stdlib


Actual results:
Compiling some key modules to native code...{"init terminating in do_boot",{{badmatch,ok},[{dialyzer_cl,hc_cache,1,[{file,"dialyzer_cl.erl"},{line,572}]},{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},{dialyzer_cl,hipe_compile,2,[{file,"dialyzer_cl.erl"},{line,516}]},{dialyzer_cl,do_analysis,4,[{file,"dialyzer_cl.erl"},{line,382}]},{dialyzer,'-cl/1-fun-0-',1,[{file,"dialyzer.erl"},{line,153}]},{dialyzer,doit,1,[{file,"dialyzer.erl"},{line,243}]},{dialyzer,plain_cl,0,[{file,"dialyzer.erl"},{line,84}]},{init,start_em,1,[]}]}}
init terminating in do_boot ()

Crash dump is being written to: erl_crash.dump...done



Expected results:
done (passed successfully)


Additional info:
crash dump attached.

--- Additional comment from Javi Roman on 2017-10-02 03:34:42 EDT ---

The same problem with:

Installed Packages
Name        : erlang
Arch        : x86_64
Epoch       : 0
Version     : 19.3.6.1
Release     : 1.fc25

dnf info erlang-dialyzer
Name        : erlang-dialyzer
Arch        : x86_64
Epoch       : 0
Version     : 19.3.6.1
Release     : 1.fc25

--- Additional comment from  on 2018-02-09 19:10:41 EST ---

I'm having the same issue on Fedora 27:

$ dnf info erlang                                                                        
Last metadata expiration check: 3 days, 3:04:44 ago on 2018-02-06T22:01:36 CET.                                                            
Installed Packages                                                                                                                         
Name         : erlang                                                                                                                      
Version      : 19.3.6.5                                                                                                                    
Release      : 1.fc27
Arch         : x86_64                                                                                                                      
Size         : 25 k                                                                                                                        
Source       : erlang-19.3.6.5-1.fc27.src.rpm                                                                                              
Repo         : @System                                                                                                                     
From repo    : updates                                                                                                                     
Summary      : General-purpose programming language and runtime environment                                                                
URL          : https://www.erlang.org
License      : ASL 2.0                                                                                                                     
Description  : Erlang is a general-purpose programming language and runtime                                                                
             : environment. Erlang has built-in support for concurrency, distribution
             : and fault tolerance. Erlang is used in several large telecommunication
             : systems from Ericsson.

$ dnf info erlang-dialyzer                                                               
Last metadata expiration check: 3 days, 3:05:02 ago on 2018-02-06T22:01:36 CET.                                                            
Installed Packages                                                                                                                         
Name         : erlang-dialyzer                                                                                                             
Version      : 19.3.6.5                                                                                                                    
Release      : 1.fc27
Arch         : x86_64
Size         : 898 k
Source       : erlang-19.3.6.5-1.fc27.src.rpm
Repo         : @System
From repo    : updates                                                                                                                     
Summary      : A DIscrepancy AnaLYZer for ERlang programs                                                                                  
URL          : https://www.erlang.org                                                                                                      
License      : ASL 2.0                                                                                                                     
Description  : A DIscrepancy AnaLYZer for ERlang programs.               

$ dialyzer --raw --build_plt --apps erts kernel stdlib                                   
  Compiling some key modules to native code...{"init terminating in do_boot",{{badmatch,ok},[{dialyzer_cl,hc_cache,1,[{file,"dialyzer_cl.erl
"},{line,572}]},{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},{dialyzer_cl,hipe_compile,2,[{file,"dialyzer_cl.erl"},{line,516}]},{dialy
zer_cl,do_analysis,4,[{file,"dialyzer_cl.erl"},{line,382}]},{dialyzer,'-cl/1-fun-0-',1,[{file,"dialyzer.erl"},{line,153}]},{dialyzer,doit,1,[{file,"dialyzer.erl"},{line,243}]},{dialyzer,plain_cl,0,[{file,"dialyzer.erl"},{line,84}]},{init,start_em,1,[]}]}}                        
init terminating in do_boot ()                                                                                                             
                                                                                                                                           
Crash dump is being written to: erl_crash.dump...done

--- Additional comment from  on 2018-02-09 19:12 EST ---

Comment 1 dxtr 2018-02-10 00:20:13 UTC
Disregard the --raw flag I passed to Dialyzer. It was just something I tried after reading old erlang mailing lists.

Proper example:

$ dialyzer --build_plt --apps erts kernel stdlib                                         
  Compiling some key modules to native code...{"init terminating in do_boot",{{badmatch,ok},[{dialyzer_cl,hc_cache,1,[{file,"dialyzer_cl.erl"},{line,572}]},{lists,foreach,2,[{file,"lists.erl"},{line,1338}]},{dialyzer_cl,hipe_compile,2,[{file,"dialyzer_cl.erl"},{line,516}]},{dialyzer_cl,do_analysis,4,[{file,"dialyzer_cl.erl"},{line,382}]},{dialyzer,'-cl/1-fun-0-',1,[{file,"dialyzer.erl"},{line,153}]},{dialyzer,doit,1,[{file,"dialyzer.erl"},{line,243}]},{dialyzer,plain_cl,0,[{file,"dialyzer.erl"},{line,84}]},{init,start_em,1,[]}]}}                        
init terminating in do_boot ()                                                                                                             
                                                                                                                                           
Crash dump is being written to: erl_crash.dump...done

Comment 2 dxtr 2018-02-10 00:20:52 UTC
Created attachment 1394064 [details]
erl_crash.dump

The crash dump Dialyzer spits out

Comment 3 Peter Lemenkov 2018-11-20 14:54:42 UTC

*** This bug has been marked as a duplicate of bug 1456567 ***