Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing dialyzer types file after update to 1.16.0 release #214

Closed
doughsay opened this issue Jun 21, 2023 · 11 comments
Closed

Missing dialyzer types file after update to 1.16.0 release #214

doughsay opened this issue Jun 21, 2023 · 11 comments

Comments

@doughsay
Copy link
Contributor

Our CI started failing after the new 1.16.0 release with this error when running dialyzer:

Starting Dialyzer
[
  check_plt: false,
  init_plt: '/home/runner/work/app/priv/plts/dialyzer.plt',
  files: [...],
  warnings: [:unknown]
]
:dialyzer.run error: File not found: /home/runner/work/_temp/.setup-beam/otp/lib/dialyzer-5.0.3/ebin/erl_bif_types.beam

Halting VM with exit status 1

Here are some details from the action:

Set up Job

Current runner version: '2.305.0'
Operating System
  Ubuntu
  22.04.2
  LTS
Runner Image
  Image: ubuntu-22.04
  Version: 20230611.1
  Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20230611.1/images/linux/Ubuntu2204-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20230611.1
Runner Image Provisioner
  2.0.238.1
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:c85c95e3d7251135ab7dc9ce3241c5835cc595a9)
Download action repository 'erlef/setup-beam@v1' (SHA:61e01a43a562a89bfc54c7f9a378ff67b03e4a21)
Download action repository 'actions/cache@v3' (SHA:88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8)
Complete job name: dialyzer
Run erlef/setup-beam@v1
  with:
    otp-version: 25.1.2
    elixir-version: 1.14.2
    github-token: ***
    install-hex: true
    install-rebar: true
    version-type: loose
    disable_problem_matchers: false
    hexpm-mirrors: https://builds.hex.pm/
  
  env:
    MIX_ENV: test
Installing Erlang/OTP OTP-25.1.2.1 - built on ubuntu-22.04
  /usr/bin/tar zx --strip-components=1 --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/535393dd-1764-4615-b1c6-5214c62fe946 -f /home/runner/work/_temp/6029d3a7-20aa-43d1-b180-ae82fdf10993
  /opt/hostedtoolcache/otp/ubuntu-22.04/OTP-25.1.2.1/x64/Install -minimal /opt/hostedtoolcache/otp/ubuntu-22.04/OTP-25.1.2.1/x64
  Installed Erlang/OTP version
  /opt/hostedtoolcache/otp/ubuntu-22.04/OTP-25.1.2.1/x64/bin/erl -version
  Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 13.1.2.1
Using Elixir v1.14.2 (built for Erlang/OTP 25)
Installing Elixir v1.14.2-otp-25
  /usr/bin/unzip -o -q /home/runner/work/_temp/16ea814d-2362-4ba4-8252-02591c1e1326
  Installed Elixir version
  /opt/hostedtoolcache/elixir/1.14.2-otp-25/x64/bin/elixir -v
  Erlang/OTP 25 [erts-13.1.2.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]
  
  Elixir 1.14.2 (compiled with Erlang/OTP 25)
Running mix local.rebar,--force
  /opt/hostedtoolcache/elixir/1.14.2-otp-25/x64/bin/mix local.rebar --force
  * creating /home/runner/.mix/elixir/1-14/rebar3
Running mix local.hex,--force
  /opt/hostedtoolcache/elixir/1.14.2-otp-25/x64/bin/mix local.hex --force
  * creating /home/runner/.mix/archives/hex-2.0.6
@axelson
Copy link
Contributor

axelson commented Jun 22, 2023

Yeah I'm seeing this as well. I'm currently working around it by using v1.15.4:

    - name: Setup elixir
      uses: erlef/setup-beam@v1.15.4

@paulo-ferraz-oliveira
Copy link
Collaborator

Not sure where this issue is coming from. Can you create an example repo. that replicates the issue? Our CI is passing, so it's either incomplete or it's some other edge case we'll need to handle.

@paulo-ferraz-oliveira
Copy link
Collaborator

In the meantime, if you want, you can add to our test cases a replica or your inputs, to see if the error surfaces, here.

@paulo-ferraz-oliveira
Copy link
Collaborator

Also, maybe related to jeremyjh/dialyxir#506.

@janciesla8818
Copy link

@doughsay please try to remove the cache from your github actions that your repo is using. It helped in our case.

In the repo go to Actions -> Management -> Caches and remove the caches that your PR/branch is using and run the job again.

@adamu
Copy link

adamu commented Jun 22, 2023

Confirmed that deleting the cache resolved the issue on 1.16 without needing to pin to 1.15.

@paulo-ferraz-oliveira
Copy link
Collaborator

It seems this is not an action issue (since we don't control local caches) - and you can use the action's lower level version as part of the cache restore key - so I'll close this for now. Feel free to re-open, or comment, to continue the discussion. On another note, I'll probably look into how to automate (or provide tools for...) in the context of the action itself.

@paulo-ferraz-oliveira
Copy link
Collaborator

@starbelly, @ericmj, do you think e.g. the action should output its own version so it could be used as part of the cache restore key? I know we've been around this subject in the past, but don't know if you have better ideas on how to "attack" this problem. Thanks.

@apoorv-2204
Copy link

Yeah I have the same issue

      - name: Setup Elixir and Erlang versions
        uses: erlef/setup-beam@v1
        with:
          elixir-version: ${{ env.ELIXIR_VERSION }}
          otp-version: ${{ env.OTP_VERSION }}

@paulo-ferraz-oliveira
Copy link
Collaborator

@apoorv-2204, did you try clearing the cache? This new action version introduced new elements in the filesystem that might cause issues with the currently cached elements.

@apoorv-2204
Copy link

Solution

image
This issue is Solved by cleaning the cache.
Thank you team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants