Elixir v1.20.0-rc.6 released

I’m having issues compiling the sbom app on rc.6, compiles fine on rc.5

elixir@1.20.0-rc.5-otp-28 :

==> sbom
Compiling 552 files (.ex)
warning: the following conditional expression:

     load_from_app_spec?

 will always evaluate to:

     dynamic(true)

 where "load_from_app_spec?" was given the type:

     # type: dynamic(true)
     # from: lib/sbom/fetcher/mix_runtime.ex:139:27
     load_from_app_spec? =
       if not (
            {arg1} = {app}
     
            arg1 === :eex or arg1 === :elixir or arg1 === :ex_unit or arg1 === :iex or arg1 === :logger or
              arg1 === :mix or
              (arg1 === :stdlib or arg1 === :sasl or arg1 === :kernel or arg1 === :compiler or
                 arg1 === :tools or arg1 === :common_test or arg1 === :runtime_tools or arg1 === :inets or
                 arg1 === :parsetools or arg1 === :xmerl or arg1 === :edoc or arg1 === :snmp or
                 arg1 === :erl_interface or arg1 === :asn1 or arg1 === :jinterface or arg1 === :wx or
                 arg1 === :debugger or arg1 === :reltool or arg1 === :mnesia or arg1 === :crypto or
                 arg1 === :os_mon or arg1 === :syntax_tools or arg1 === :public_key or arg1 === :ssl or
                 arg1 === :observer or arg1 === :odbc or arg1 === :diameter or arg1 === :et or
                 arg1 === :megaco or arg1 === :eunit or arg1 === :ssh or arg1 === :eldap or
                 arg1 === :dialyzer or arg1 === :ftp or arg1 === :tftp or arg1 === :erts) or
              arg1 == :hex
          ) do
         true
       else
         not in_burrito?()
       end

 type warning found at:
 β”‚

143 β”‚ if load_from_app_spec? do
β”‚ ~~~~~~~~~~~~~~~~~~~~~~~~~
β”‚
└─ lib/sbom/fetcher/mix_runtime.ex:143: SBoM.Fetcher.MixRuntime.resolve_dep/3

 warning: the right-hand side of || will never be executed:

     classification_to_string(type) || ...

 because the left-hand side always evaluates to:

     binary()

 where "type" was given the type:

     # type: dynamic(not :CLASSIFICATION_NULL)
     # from: lib/sbom/cyclonedx/common/enum_helpers.ex:155:36
     type

 type warning found at:
 β”‚

155 β”‚ def classification_to_string_xml(type), do: classification_to_string(type) || β€œβ€
β”‚ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
β”‚
└─ lib/sbom/cyclonedx/common/enum_helpers.ex:155: SBoM.CycloneDX.Common.EnumHelpers.classification_to_string_xml/1

Generated sbom app
==> rc_six
Compiling 1 file (.ex)
[profile] 3ms compiling + 0ms waiting while compiling lib/rc_six.ex
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 1 modules in 5ms
[profile] Finished writing modules to disk in 0ms
[profile] Finished after compile callback in 119ms
[profile] Finished group pass check of 1 modules in 0ms
Generated rc_six app

elixir@1.20.0-rc.5-otp-28 :

==> sbom
Compiling 552 files (.ex)
warning: the following conditional expression:

     load_from_app_spec?

 will always evaluate to:

     dynamic(true)

 where "load_from_app_spec?" was given the type:

     # type: dynamic(true)
     # from: lib/sbom/fetcher/mix_runtime.ex:139:27
     load_from_app_spec? =
       not (
         {arg1} = {app}
     
         arg1 === :eex or arg1 === :elixir or arg1 === :ex_unit or arg1 === :iex or arg1 === :logger or
           arg1 === :mix or
           (arg1 === :stdlib or arg1 === :sasl or arg1 === :kernel or arg1 === :compiler or
              arg1 === :tools or arg1 === :common_test or arg1 === :runtime_tools or arg1 === :inets or
              arg1 === :parsetools or arg1 === :xmerl or arg1 === :edoc or arg1 === :snmp or
              arg1 === :erl_interface or arg1 === :asn1 or arg1 === :jinterface or arg1 === :wx or
              arg1 === :debugger or arg1 === :reltool or arg1 === :mnesia or arg1 === :crypto or
              arg1 === :os_mon or arg1 === :syntax_tools or arg1 === :public_key or arg1 === :ssl or
              arg1 === :observer or arg1 === :odbc or arg1 === :diameter or arg1 === :et or
              arg1 === :megaco or arg1 === :eunit or arg1 === :ssh or arg1 === :eldap or
              arg1 === :dialyzer or arg1 === :ftp or arg1 === :tftp or arg1 === :erts) or arg1 == :hex
       ) or not in_burrito?()

 type warning found at:
 β”‚

143 β”‚ if load_from_app_spec? do
β”‚ ~~~~~~~~~~~~~~~~~~~~~~~~~
β”‚
└─ lib/sbom/fetcher/mix_runtime.ex:143: SBoM.Fetcher.MixRuntime.resolve_dep/3

 warning: the right-hand side of || will never be executed:

     classification_to_string(type) || ...

 because the left-hand side always evaluates to:

     binary()

 where "type" was given the type:

     # type: dynamic(not :CLASSIFICATION_NULL)
     # from: lib/sbom/cyclonedx/common/enum_helpers.ex:155:36
     type

 type warning found at:
 β”‚

155 β”‚ def classification_to_string_xml(type), do: classification_to_string(type) || β€œβ€
β”‚ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
β”‚
└─ lib/sbom/cyclonedx/common/enum_helpers.ex:155: SBoM.CycloneDX.Common.EnumHelpers.classification_to_string_xml/1

Verifying SBoM.SCM.System (it’s taking more than 10s)

β€” Never completes β€”

Correct! This has been fixed in the main and v1.20 branches!

2 Likes

Elixir 1.19.5, Erlang/OTP 28

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 514 modules in 10700ms
[profile] Finished writing modules to disk in 76ms
[profile] Finished after compile callback in 1510ms
[profile] Finished group pass check of 514 modules in 377ms
________________________________________________________
Executed in   13.60 secs    fish           external
   usr time   47.03 secs  197.00 micros   47.03 secs
   sys time    9.90 secs  786.00 micros    9.90 secs

Elixir 1.20.0-rc.6, Erlang/OTP 28

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 514 modules in 10807ms
[profile] Finished writing modules to disk in 43ms
[profile] Finished after compile callback in 442ms
[profile] Finished group pass check of 514 modules in 310ms
________________________________________________________
Executed in   12.33 secs    fish           external
   usr time   41.19 secs  149.00 micros   41.19 secs
   sys time    8.00 secs  618.00 micros    7.99 secs

Elixir 1.20.0-rc.6, infer_signatures: [:elixir], Erlang/OTP 28

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 514 modules in 15029ms
[profile] Finished writing modules to disk in 105ms
[profile] Finished after compile callback in 1300ms
[profile] Finished group pass check of 514 modules in 827ms
________________________________________________________
Executed in   18.10 secs    fish           external
   usr time   46.09 secs  157.00 micros   46.09 secs
   sys time    8.20 secs  616.00 micros    8.20 secs

Elixir 1.20.0-rc.6, module_definition: :interpreted, Erlang/OTP 28

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 514 modules in 14431ms
[profile] Finished writing modules to disk in 135ms
[profile] Finished after compile callback in 2014ms
[profile] Finished group pass check of 514 modules in 472ms
________________________________________________________
Executed in   18.09 secs    fish           external
   usr time   44.40 secs  172.00 micros   44.40 secs
   sys time    7.87 secs  614.00 micros    7.87 secs
1 Like

1.19.5

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 10652ms
[profile] Finished writing modules to disk in 62ms
[profile] Finished after compile callback in 1344ms
[profile] Finished group pass check of 966 modules in 532ms

1.20.0-rc.6

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 11558ms
[profile] Finished writing modules to disk in 49ms
[profile] Finished after compile callback in 1940ms
[profile] Finished group pass check of 966 modules in 428ms

elixirc_options: [infer_signatures: [:elixir]]

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 11825ms
[profile] Finished writing modules to disk in 55ms
[profile] Finished after compile callback in 491ms
[profile] Finished group pass check of 966 modules in 431ms

elixirc_options: [module_definition: :interpreted]

[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 966 modules in 12048ms
[profile] Finished writing modules to disk in 58ms
[profile] Finished after compile callback in 674ms
[profile] Finished group pass check of 966 modules in 387ms