jjcarstens

jjcarstens

Nerves Core Team

Adding support for Elixir 1.17 / OTP 27 in Nerves

I started investigating using the new versions with Nerves. I have found a few pieces that need a little more vetting and investigation. Follow along here and test yourself if able :wink:

There are various PR’s open that would be needed to support this:

Elixir 1.17

  • nerves_ssh#154

    • Required to start the IEx shell when SSH-ing to device
  • The vm.args.eex needs to adjust to use -run elixir start_cli

    • nerves_bootstrap#316 fixes the mix nerves.new
    • I’m unsure :elixir.start_cli is the right entry point. May need more investigation

OTP 27


Current problems

  • OTP 27 does not boot. The only logs I have right now (via UART) are ¬
size_object: matchstate term not allowed
[nbtty: terminating]
[    8.035300] watchdog: watchdog0: watchdog did not stop!
[    9.107671] reboot: Restarting system

Marked As Solved

fhunleth

fhunleth

Co-author of Nerves

I just wanted to update this thread that the issue posted here was fixed. The size_object: matchstate term not allowed error can happen when you run Elixir 1.17 compiled with OTP 27 on OTP 26. The assumption is that this somehow happened here.

Support for Elixir 1.17 and OTP 27 is getting really close to being released with Nerves. It seems to be working well and we hope to release soon.

14
Post #2

Also Liked

karlosmid

karlosmid

Hi! Here is scenario how we triggered this error:

  1. asdf .tool-versions was on otp-27 and elixir-1.17
  2. we have github actions ci that was run, cache was created
  3. in .tool-versions we downgraded to elixir 1.16 and otp-26
  4. mix test triggered locally this error
  5. we deleted deps and _build localy
  6. github actions job failed, because of cache
  7. we bumped cache folder name to something different, _v1, github actions passed.

Where Next?

Popular in Questions Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&query=perfume&page=2, I would like to get: ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
JulienCorb
I am trying to implement my new.html.eex file to create new posts on my website. new.html.eex: <h1>Create Post</h1> <%= ...
New
JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement