Phoenix: Erlang 19 Causing Compile Error

Created on 22 Jun 2016  Â·  16Comments  Â·  Source: phoenixframework/phoenix

Environment

  • Elixir version (elixir -v):
Erlang/OTP 19 [erts-8.0] [source-6dc93c1] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Elixir 1.2.6
  • Phoenix version (mix deps):
* connection 1.0.2 (Hex package) (mix)
  locked at 1.0.2 (connection) f4a06dd3
  ok
* fs 0.9.1 (Hex package) (rebar)
  locked at 0.9.2 (fs) ed17036c
  ok
* bunt 0.1.6 (Hex package) (mix)
  locked at 0.1.6 (bunt) 5d95a688
  ok
* gettext 0.11.0 (Hex package) (mix)
  locked at 0.11.0 (gettext) 80c1dd42
  ok
* ranch 1.2.1 (Hex package) (rebar)
  locked at 1.2.1 (ranch) a6fb992c
  ok
* poolboy 1.5.1 (Hex package) (rebar)
  locked at 1.5.1 (poolboy) 6b461639
  ok
* decimal 1.1.2 (Hex package) (mix)
  locked at 1.1.2 (decimal) 79a769d4
  ok
* poison 2.1.0 (Hex package) (mix)
  locked at 2.1.0 (poison) f583218c
  ok
* db_connection 0.2.5 (Hex package) (mix)
  locked at 0.2.5 (db_connection) 3e5e2801
  ok
* credo 0.4.1 (Hex package) (mix)
  locked at 0.4.1 (credo) e67c65b8
  ok
* cowlib 1.0.2 (Hex package) (rebar)
  locked at 1.0.2 (cowlib) 9d769a1d
  ok
* cowboy 1.0.4 (Hex package) (rebar)
  locked at 1.0.4 (cowboy) a324a8df
  ok
* plug 1.1.5 (Hex package) (mix)
  locked at 1.1.5 (plug) de5645c1
  ok
* phoenix_html 2.5.1 (Hex package) (mix)
  locked at 2.5.1 (phoenix_html) 631053f9
  ok
* phoenix 1.1.6 (Hex package) (mix)
  locked at 1.1.6 (phoenix) 7bf19002
  ok
* phoenix_live_reload 1.0.5 (Hex package) (mix)
  locked at 1.0.5 (phoenix_live_reload) 829218c4
  ok
* postgrex 0.11.1 (Hex package) (mix)
  locked at 0.11.1 (postgrex) f48af70c
  ok
* ecto 1.1.8 (Hex package) (mix)
  locked at 1.1.8 (ecto) 0f0348e6
  ok
* phoenix_ecto 2.0.2 (Hex package) (mix)
  locked at 2.0.2 (phoenix_ecto) 1aff51d1
  ok
  • NodeJS version (node -v):
v0.10.25
  • NPM version (npm -v):
1.3.10
  • Operating system:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"

Expected behavior

I would have expected it to compile. it seems there is an issue with the release of Erlang V19. This is currently the recommended install for elixir, and seems to break when trying to compile a phoenix server.

Actual behavior

== Compilation error on file web/views/page_view.ex ==
** (CompileError) web/views/page_view.ex: internal error in lint_module;
crash reason: badarg

  in function  erl_anno:anno_info/1
     called as erl_anno:anno_info(-1)
  in call from erl_lint:loc/2 (erl_lint.erl, line 640)
  in call from erl_lint:icrt_export/4 (erl_lint.erl, line 3094)
  in call from erl_lint:icrt_clauses/4 (erl_lint.erl, line 3076)
  in call from erl_lint:expr/3 (erl_lint.erl, line 2168)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2101)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2101)
  in call from erl_lint:clause/2 (erl_lint.erl, line 1423)
  in call from erl_lint:'-clauses/2-fun-0-'/2 (erl_lint.erl, line 1412)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:forms/2 (erl_lint.erl, line 658)
  in call from erl_lint:module/3 (erl_lint.erl, line 506)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
    (elixir) lib/kernel/parallel_compiler.ex:100: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/8
open for guidance

Most helpful comment

UPDATE Now that Phoenix v1.2 is out, in order to run Phoenix on Erlang 19, you need:

  1. elixir 1.2.6 or >= 1.3.0
  2. phoenix 1.1.6 or >= 1.2.0
  3. phoenix_html >= 2.6.0

Original Comment Ah. I bet this is phoenix_html. Please $ mix deps.update phoenix_html which will grab 2.6.1 and contains the erl 19 compat. Thanks! @josevalim should we backport 19 support for phoenix_html or add the update step to the upgrade guides?

All 16 comments

UPDATE Now that Phoenix v1.2 is out, in order to run Phoenix on Erlang 19, you need:

  1. elixir 1.2.6 or >= 1.3.0
  2. phoenix 1.1.6 or >= 1.2.0
  3. phoenix_html >= 2.6.0

Original Comment Ah. I bet this is phoenix_html. Please $ mix deps.update phoenix_html which will grab 2.6.1 and contains the erl 19 compat. Thanks! @josevalim should we backport 19 support for phoenix_html or add the update step to the upgrade guides?

Yah, I just updated and it worked, thanks! Hope this issue helps other people upgrading to Erlang 19 today.

Here is my working mix.lock for reference:

diff --git a/mix.lock b/mix.lock
index 21b354f..fe1b3c9 100644
--- a/mix.lock
+++ b/mix.lock
@@ -1,19 +1,19 @@
 %{"bunt": {:hex, :bunt, "0.1.6", "5d95a6882f73f3b9969fdfd1953798046664e6f77ec4e486e6fafc7caad97c6f", [:mix], []},
-  "connection": {:hex, :connection, "1.0.2", "f4a06dd3ecae4141aa66f94ce92ea4c4b8753069472814932f1cadbc3078ab80", [:mix], []},
+  "connection": {:hex, :connection, "1.0.3", "3145f7416be3df248a4935f24e3221dc467c1e3a158d62015b35bd54da365786", [:mix], []},
   "cowboy": {:hex, :cowboy, "1.0.4", "a324a8df9f2316c833a470d918aaf73ae894278b8aa6226ce7a9bf699388f878", [:rebar, :make], [{:cowli
   "cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [:make], []},
-  "credo": {:hex, :credo, "0.4.1", "e67c65b89662675e7278b45c9dc4633e18797cf4481ebc5b47340ccbcfe721c9", [:mix], [{:bunt, "~> 0.1.6"
-  "db_connection": {:hex, :db_connection, "0.2.5", "3e5e28019e0ec744345568d22a2f5206109bff0e2571f4d7819e0d14cf955f3e", [:mix], [{:
+  "credo": {:hex, :credo, "0.4.5", "5c5daaf50a2a96068c0f21b6fbd382d206702efa8836a946eeab0b8ac25f5f22", [:mix], [{:bunt, "~> 0.1.6"
+  "db_connection": {:hex, :db_connection, "1.0.0-rc.2", "c5b2329651ef046d85e47ec2c947cb0e3d10a69eb49fdb71e365e72d6758e4c5", [:mix]
   "decimal": {:hex, :decimal, "1.1.2", "79a769d4657b2d537b51ef3c02d29ab7141d2b486b516c109642d453ee08e00c", [:mix], []},
   "ecto": {:hex, :ecto, "1.1.8", "0f0348e678fa5a450c266d69816808f97fbd82ade32cf88d4b09bbe8f8c27545", [:mix], [{:sbroker, "~> 0.7",
   "fs": {:hex, :fs, "0.9.2", "ed17036c26c3f70ac49781ed9220a50c36775c6ca2cf8182d123b6566e49ec59", [:rebar], []},
   "gettext": {:hex, :gettext, "0.11.0", "80c1dd42d270482418fa158ec5ba073d2980e3718bacad86f3d4ad71d5667679", [:mix], []},
   "phoenix": {:hex, :phoenix, "1.1.6", "7bf19002669c8f692f5a9c8d30dab7b49f3dc56228d5bde92a12fb426b4783c2", [:mix], [{:poison, "~> 
   "phoenix_ecto": {:hex, :phoenix_ecto, "2.0.2", "1aff51d1cd21cc39d7891cae2284399cbf4b8e32fb7864e68f5d272d2934e48a", [:mix], [{:po
-  "phoenix_html": {:hex, :phoenix_html, "2.5.1", "631053f9e345fecb5c87d9e0ccd807f7266d27e2ee4269817067af425fd81ba8", [:mix], [{:pl
+  "phoenix_html": {:hex, :phoenix_html, "2.6.0", "b9f7e091eb3d908586d9634596478fb9e577ee033d76f4ff327a745569bdd2d8", [:mix], [{:pl
   "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.0.5", "829218c4152ba1e9848e2bf8e161fcde6b4ec679a516259442561d21fde68d0b",
-  "plug": {:hex, :plug, "1.1.5", "de5645c18170415a72b18cc3d215c05321ddecac27a15acb923742156e98278b", [:mix], [{:cowboy, "~> 1.0", 
-  "poison": {:hex, :poison, "2.1.0", "f583218ced822675e484648fa26c933d621373f01c6c76bd00005d7bd4b82e27", [:mix], []},
+  "plug": {:hex, :plug, "1.1.6", "8927e4028433fcb859e000b9389ee9c37c80eb28378eeeea31b0273350bf668b", [:mix], [{:cowboy, "~> 1.0", 
+  "poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], []},
   "poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [:rebar], []},
-  "postgrex": {:hex, :postgrex, "0.11.1", "f48af70c0a58b9bfd1aaa456ec4273624554cfb837726b6a7f0701da4a94b2dd", [:mix], [{:decimal, 
+  "postgrex": {:hex, :postgrex, "0.11.2", "139755c1359d3c5c6d6e8b1ea72556d39e2746f61c6ddfb442813c91f53487e8", [:mix], [{:connectio
   "ranch": {:hex, :ranch, "1.2.1", "a6fb992c10f2187b46ffd17ce398ddf8a54f691b81768f9ef5f461ea7e28c762", [:make], []}}

the update got me phoenix_html 2.6.0 like in sqorings mix.lock, but didn't work for me. Still the same error.

== Compilation error on file web/views/addresstype_view.ex ==
** (CompileError) web/views/addresstype_view.ex: internal error in lint_module;
crash reason: badarg

  in function  erl_anno:anno_info/1
     called as erl_anno:anno_info(-1)
  in call from erl_lint:loc/2 (erl_lint.erl, line 640)
  in call from erl_lint:icrt_export/4 (erl_lint.erl, line 3094)
  in call from erl_lint:icrt_clauses/4 (erl_lint.erl, line 3076)
  in call from erl_lint:expr/3 (erl_lint.erl, line 2168)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2101)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
  in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
  in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
    (elixir) lib/kernel/parallel_compiler.ex:100: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/8

@tuvya, try nuking _build.

Chris, no need to backport because everyone can use 2.6.0

On Wednesday, June 22, 2016, tuvya [email protected] wrote:

the update got me phoenix_html 2.6.0 like in sqorings mix.lock, but didn't
work for me. Still the same error.

== Compilation error on file web/views/addresstype_view.ex ==
** (CompileError) web/views/addresstype_view.ex: internal error in lint_module;
crash reason: badarg

in function erl_anno:anno_info/1
called as erl_anno:anno_info(-1)
in call from erl_lint:loc/2 (erl_lint.erl, line 640)
in call from erl_lint:icrt_export/4 (erl_lint.erl, line 3094)
in call from erl_lint:icrt_clauses/4 (erl_lint.erl, line 3076)
in call from erl_lint:expr/3 (erl_lint.erl, line 2168)
in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
in call from lists:foldl/3 (lists.erl, line 1263)
in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
in call from erl_lint:exprs/3 (erl_lint.erl, line 2101)
in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
in call from lists:foldl/3 (lists.erl, line 1263)
in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
in call from lists:foldl/3 (lists.erl, line 1263)
in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
in call from erl_lint:exprs/3 (erl_lint.erl, line 2100)
in call from erl_lint:'-expr_list/3-fun-0-'/3 (erl_lint.erl, line 2330)
in call from lists:foldl/3 (lists.erl, line 1263)
in call from erl_lint:expr/3 (erl_lint.erl, line 2306)
(stdlib) lists.erl:1338: :lists.foreach/2
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
(elixir) lib/kernel/parallel_compiler.ex:100: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/8

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/phoenixframework/phoenix/issues/1768#issuecomment-227869877,
or mute the thread
https://github.com/notifications/unsubscribe/AAAlbjPED195yVYguS0-1mzxVW3B-9EQks5qOZ3lgaJpZM4I8LGe
.

_José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D_

I updated to phoenix_html 2.6.0 and still get the following error, even after removing _build (using Phoenix 1.2.0-rc):

== Compilation error on file web/router.ex ==
** (CompileError) web/router.ex: internal error in v3_core;
crash reason: {case_clause,
    {'EXIT',
        {badarg,
            [{erl_anno,anno_info,[-1],[{file,"erl_anno.erl"},{line,360}]},
             {v3_core,record_anno,2,[{file,"v3_core.erl"},{line,2410}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,539}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,652}]},
             {v3_core,exprs,2,[{file,"v3_core.erl"},{line,512}]}]}}}

  in function  compile:'-select_passes/2-anonymous-2-'/2 (compile.erl, line 530)
  in call from compile:'-internal_comp/4-anonymous-1-'/2 (compile.erl, line 315)
  in call from compile:fold_comp/3 (compile.erl, line 341)
  in call from compile:internal_comp/4 (compile.erl, line 325)
  in call from compile:'-do_compile/2-anonymous-0-'/2 (compile.erl, line 175)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (phoenix) expanding macro: Phoenix.Router.__before_compile__/1
    web/router.ex:1: MyApp.Router (module)
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

I get error like denisw.

mix deps
* idna 1.2.0 (Hex package) (rebar3)
  locked at 1.2.0 (idna) ac62ee99
  ok
* mimerl 1.0.2 (Hex package) (rebar3)
  locked at 1.0.2 (mimerl) 993f9b0e
  ok
* connection 1.0.3 (Hex package) (mix)
  locked at 1.0.3 (connection) 3145f741
  ok
* fs 0.9.1 (Hex package) (rebar)
  locked at 0.9.2 (fs) ed17036c
  ok
* metrics 1.0.1 (Hex package) (rebar3)
  locked at 1.0.1 (metrics) 25f094de
  ok
* gettext 0.11.0 (Hex package) (mix)
  locked at 0.11.0 (gettext) 80c1dd42
  ok
* ranch 1.2.1 (Hex package) (rebar)
  locked at 1.2.1 (ranch) a6fb992c
  ok
* poolboy 1.5.1 (Hex package) (rebar)
  locked at 1.5.1 (poolboy) 6b461639
  ok
* decimal 1.1.2 (Hex package) (mix)
  locked at 1.1.2 (decimal) 79a769d4
  ok
* poison 2.2.0 (Hex package) (mix)
  locked at 2.2.0 (poison) 4763b69a
  ok
* ssl_verify_fun 1.1.0 (Hex package) (rebar3)
  locked at 1.1.0 (ssl_verify_fun) edee2084
  ok
* combine 0.8.0 (Hex package) (mix)
  locked at 0.8.0 (combine) 390fe5f6
  ok
* certifi 0.4.0 (Hex package) (rebar3)
  locked at 0.4.0 (certifi) a7966efb
  ok
* hackney 1.6.0 (Hex package) (rebar3)
  locked at 1.6.0 (hackney) 8d1e9440
  ok
* tzdata 0.5.8 (Hex package) (mix)
  locked at 0.5.8 (tzdata) a4ffe564
  ok
* timex 2.1.6 (Hex package) (mix)
  locked at 2.1.6 (timex) 2c59cd03
  ok
* db_connection 1.0.0-rc.2 (Hex package) (mix)
  locked at 1.0.0-rc.2 (db_connection) c5b23296
  ok
* phoenix_pubsub 1.0.0-rc.0 (Hex package) (mix)
  locked at 1.0.0-rc.0 (phoenix_pubsub) 5c9453f9
  ok
* cowlib 1.0.2 (Hex package) (rebar)
  locked at 1.0.2 (cowlib) 9d769a1d
  ok
* cowboy 1.0.4 (Hex package) (rebar)
  locked at 1.0.4 (cowboy) a324a8df
  ok
* mime 1.0.0 (Hex package) (mix)
  locked at 1.0.0 (mime) b6302773
  ok
* plug 1.1.6 (Hex package) (mix)
  locked at 1.1.6 (plug) 8927e402
  ok
* phoenix_html 2.6.0 (Hex package) (mix)
  locked at 2.6.0 (phoenix_html) b9f7e091
  ok
* phoenix 1.2.0-rc.1 (Hex package) (mix)
  locked at 1.2.0-rc.1 (phoenix) 08fdf0f2
  ok
* phoenix_live_reload 1.0.5 (Hex package) (mix)
  locked at 1.0.5 (phoenix_live_reload) 829218c4
  ok
* postgrex 0.11.2 (Hex package) (mix)
  locked at 0.11.2 (postgrex) 139755c1
  ok
* ecto 2.0.1 (Hex package) (mix)
  locked at 2.0.1 (ecto) cf97a4d3
  ok
* timex_ecto 1.1.3 (Hex package) (mix)
  locked at 1.1.3 (timex_ecto) 7a53a078
  ok
* phoenix_ecto 3.0.0 (Hex package) (mix)
  locked at 3.0.0 (phoenix_ecto) b947aaf0
  ok

iex -S mix phoenix.server

== Compilation error on file web/router.ex ==
** (CompileError) web/router.ex: internal error in v3_core;
crash reason: {case_clause,
    {'EXIT',
        {badarg,
            [{erl_anno,anno_info,[-1],[{file,"erl_anno.erl"},{line,360}]},
             {v3_core,record_anno,2,[{file,"v3_core.erl"},{line,2410}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,539}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,652}]},
             {v3_core,exprs,2,[{file,"v3_core.erl"},{line,512}]}]}}}

  in function  compile:'-select_passes/2-anonymous-2-'/2 (compile.erl, line 530) 
  in call from compile:'-internal_comp/4-anonymous-1-'/2 (compile.erl, line 315) 
  in call from compile:fold_comp/3 (compile.erl, line 341)
  in call from compile:internal_comp/4 (compile.erl, line 325)
  in call from compile:'-do_compile/2-anonymous-0-'/2 (compile.erl, line 175)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (phoenix) expanding macro: Phoenix.Router.__before_compile__/1
    web/router.ex:1: Community.Router (module)
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

elixir 1.3.0
erlang 19.0

I fixed the errors by:

  • removing the _build directory
  • installing the deps again (mix deps.clean --all && mix deps.get)
  • adding the phoenix master branch to the deps in my mix.exs file, like this:
    {:phoenix, git: "https://github.com/phoenixframework/phoenix.git", override: true}

And now it works.

I'm using Elixir 1.4-dev and Erlang 19

Edit: I've just updated to phoenix 1.2, and it works fine.

Mac
Erlang/OTP 19 [erts-8.0] [source-6dc93c1] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
Elixir 1.3.0

== Compilation error on file lib/combine/parsers/text.ex ==
** (CompileError) Elixir.Combine.Parsers.Text: function float_impl/1+43:
  Internal consistency check failed - please report this bug.
  Instruction: {call,4,{f,129}}
  Error:       {multiple_match_contexts,[{x,0},1]}:

    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6

Unable to proceed further. Compilation stops here. Any help would be appreciated.

Removing _build directory worked for me.

@luizdamim Din't help. I have reverted back to erlang 18.3 and elixir 1.2.3. Now having different issue.

** (FunctionClauseError) no function clause matching in Enum.do_all?/2
    (elixir) lib/enum.ex:2399: Enum.do_all?(nil, &:erlang.is_atom/1)
    (mix) lib/mix/tasks/compile.app.ex:172: anonymous fn/1 in Mix.Tasks.Compile.App.validate_properties/1
    (elixir) lib/enum.ex:604: Enum."-each/2-lists^foreach/1-0-"/2
    (elixir) lib/enum.ex:604: Enum.each/2
    (mix) lib/mix/tasks/compile.app.ex:149: Mix.Tasks.Compile.App.validate_properties/1
    (mix) lib/mix/tasks/compile.app.ex:99: Mix.Tasks.Compile.App.run/1

    (elixir) lib/enum.ex:1088: Enum."-map/2-lists^map/1-0-"/2
    (elixir) lib/enum.ex:1088: Enum."-map/2-lists^map/1-0-"/2
    (mix) lib/mix/tasks/compile.all.ex:19: anonymous fn/1 in Mix.Tasks.Compile.All.run/1
    (mix) lib/mix/tasks/compile.all.ex:37: Mix.Tasks.Compile.All.with_logger_app/1
    (mix) lib/mix/tasks/compile.ex:87: Mix.Tasks.Compile.run/1
    (mix) lib/mix/tasks/app.start.ex:38: Mix.Tasks.App.Start.run/1
    (mix) lib/mix/tasks/run.ex:63: Mix.Tasks.Run.run/1
    (mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
    (elixir) lib/code.ex:363: Code.require_file/2

No clue why it is failing.

Using phoenix 1.1.4

@bvjebin

No clue why it is failing.

Using phoenix 1.1.4

You need to jump to Phoenix 1.1.6, which is the only 1.1.x release with erlang 19 support.

@chrismccord Thanks. I will check that.

Trying to update to latest of erlang, elixir and phoenix again.

Compilation stops at snappy

==> snappy (compile)
ERROR: OTP release 19 does not match required regex R13B04|R14|R15|R16|17|18
ERROR: compile failed while processing /server/deps/snappy: rebar_abort
==> server
** (Mix) Could not compile dependency :snappy, "/Users/xxx/.mix/rebar compile skip_deps=true deps_dir="/server/_build/dev/lib"" command failed. You can recompile this dependency with "mix deps.compile snappy", u
pdate it with "mix deps.update snappy" or clean it with "mix deps.clean snappy"

I have erlang 19, elixir 1.3.0, phoenix 1.2, Mac 10.11.3

Cleared the deps directory, _build directory and mix.lock file and did deps.get and deps.compile.

Followed the above steps after running mix local.rebar. Still same issue.

Seems like snappy has erlang version check and erlang 19 is not in the list.

Find below my projects and deps definition from mix.exs file:

def project do
    [app: :server,
     version: "1.4.0",
     elixir: "~> 1.3",
     elixirc_paths: elixirc_paths(Mix.env),
     compilers: [:phoenix, :gettext] ++ Mix.compilers,
     build_embedded: Mix.env != :dev,
     start_permanent: Mix.env != :dev,
     aliases: aliases,
     deps: deps]
  end
defp deps do
    [{:phoenix, "== 1.2.0"},
     {:phoenix_ecto, "~> 2.0"},
     {:mariaex, ">= 0.0.0"},
     {:phoenix_html, "~> 2.3"},
     {:phoenix_live_reload, "~> 1.0", only: :dev},
     {:gettext, "~> 0.9"},
     {:cowboy, "~> 1.0"},
     {:timex, "~> 1.0"},
     {:logger_file_backend, "0.0.7"},
     {:cqex, github: "matehat/cqex", ref: "HEAD"},
     {:gcm, "~> 1.0.0"},
     {:apns, "== 0.0.11"},
     {:plugsnag, "~> 1.0.1"},
     {:comeonin, "~> 2.1"},
     {:cors_plug, "~> 1.1"},
     {:httpoison, "~> 0.8.0"},
     {:remodel, "~> 0.0.1"},
     {:tirexs, "~> 0.8"}
   ]
  end

How to resolve this? Any help would be appreciated.

@bvjebin It looks like https://github.com/fdmanana/snappy-erlang-nif is the cause of your issues. It is a dependency of cqerl (which ia a dependency of cqex)

Try forking and updating https://github.com/fdmanana/snappy-erlang-nif/blob/master/rebar.config

Then adding:

 {:snappy, github: "bvjebin/snappy-erlang", override: true},

See if that does the trick.

@Gazler Adding version 19 to the rebar.config file did the job. I din't fork but changed the file locally and compiled it. Things started working. I will fork the repo and use it. Thank you.

Closing this as it was open for guidance and I think things have stablized.

Was this page helpful?
0 / 5 - 0 ratings