Mechanical keyboard firmware in Elixir
A 68-key development keyboard for the nerves-keyboard project.
issue commenterlef/setup-beam
@paulo-ferraz-oliveira I added it and, unfortunately, it returns the same error.
Also realized I omitted a step in the config I mentioned. I don't know if will matter, but - uses: actions/checkout@v2 is also in there.
env:
MIX_ENV: test
OTP_VERSION_SPEC: "24.0.2"
ELIXIR_VERSION_SPEC: "1.12.1"
jobs:
compile:
name: Compile
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
version-type: "strict"
comment created time in 20 days
issue commenterlef/setup-beam
You shouldn't need the strict, in your case, though. And if you do use it, you need a v in the Elixir version.
I wondered if it would be required, but tested just in case. Thanks for the clarification!
If it helps you, I got the exact same error both with and without strict version type.
comment created time in 20 days
issue commenterlef/setup-beam
I have a similar error that started happening this morning. It's slightly different, but feels like it may be related.
Actions output:

Config:
env:
MIX_ENV: test
OTP_VERSION_SPEC: "24.0.2"
ELIXIR_VERSION_SPEC: "1.12.1"
jobs:
compile:
name: Compile
steps:
- uses: erlef/setup-beam@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
version-type: "strict"
comment created time in 20 days
issue commentelixir-lang/elixir
Exponential app start time as number of in-umbrella deps increases
This is a bit of an extreme case that was put together to specifically exaggerate the problem and we wouldn't actually structure a real umbrella in this way. Our umbrella has a large variety of dependencies spread out across all the various apps, and the in-umbrella dep tree is more varied.
It seems like the way Erlang is starting applications has become a lot more involved and circuitous. The fact that a single call to start one app gets made nearly 10,000 times seems a little odd to me, and like there may be a way to make it more efficient, but I had trouble following the trail through the OTP code.
For what it's worth, reverting this commit in a local version of Elixir 1.12.1 fixed the start time problem. Also, copying that code into the Mix task and using it to manually start apps fixed it, too.
comment created time in a month
push eventvanvoljg/beach_umbrella
commit sha 6ad28658c1361d96e5541004d647b4a5756a80bd
readme typo
push time in a month
push eventvanvoljg/beach_umbrella
commit sha 002df8a5c34f65da43f673729f1945566c772840
initial commit
commit sha 1a336045397a70f825c2a4a8eb839ebfeaf04115
add test script
commit sha 8423ff9bc7bac4bedb60d8dc9b5baf873a768cb6
add mix task and rexbug
commit sha fb053464e3ad51c27f59bcc246224214c3007dab
add trace to test script
push time in a month
issue openedelixir-lang/elixir
Exponential app start time when there are many in-umbrella deps
Precheck
- Do not use the issue tracker for questions or support (try Elixir Forum, Stack Overflow, Slack, etc.) (:heavy_check_mark: searched, not found)
- For proposing a new feature, please start a discussion on the Elixir Core mailing list: https://groups.google.com/group/elixir-lang-core (:heavy_minus_sign: not a new feature)
- For bugs, do a quick search and make sure the bug has not yet been reported (:heavy_check_mark: searched, not found)
- Please disclose security vulnerabilities privately at [email protected] (:heavy_minus_sign: not a security vulnerability, AFAICT)
- Finally, be nice and have fun! (:heavy_check_mark::exclamation:)
Issue
Since Elixir 1.12.0 came out, the start time of umbrella applications appears to have increased, especially so for those with complex dependencies between in-umbrella apps.
Environment
- Elixir & Erlang/OTP versions (elixir --version): Elixir 1.12.1, OTP 24.0.2
- Operating system: Linux (Manjaro) (Kernel 5.12.9)
My other team members have all experienced the problem on various other flavors of Linux, such as Pop!OS and vanilla Arch.
Current behavior
Our team's main application's start time went from ~4-5 seconds up to ~45 seconds. This includes running tests from both the root of the umbrella or from an individual app's root directory.
I (and my team) believe that the start time is way longer than it should be. Maybe there's something strange happening in the way applications start? It's hampered our development to the point that we now use Elixir 1.11.4 in local development so that we can run tests and iterate in a quick manner.
Expected behavior
The application should not start this slowly. I would expect it to start in about the same time. I could understand a slight increase due to needing to check for optional applications at each level, but it seems to be taking a really, really long time to do that.
I created a demonstration app that shows this behaviour. https://github.com/vanvoljg/beach_umbrella
There's a test.sh script in there which allows you to run a few demonstrations. The readme has a bit more detail.
Each of these functions takes a decent amount of time to run--especially the flame graphs, which take about 10 minutes to finish on my (fairly recent) machine.
trace <app_name>- Traces the calls to:application.ensure_all_loaded/_. Outputs a file,msgs_<app_name>.txt, which displays the count of individual/unique calls made while starting the provided app, as well as the arguments provided to each call.time- Displays the start time of each application in the umbrella.graph- Creates a flame graph of all the calls for the startup of each app in the repo. Requires several utilities, detailed in the repo readme, and an Intel processor to use LBR call graphs in theperftool.
created time in a month
push eventvanvoljg/beach_umbrella
commit sha 05720b3c71cdf41b16c4f637c5db4f7c75b1b2f7
add mix task and rexbug
commit sha 056d040d97d493c3d25b814506b0273d9a9c3602
add trace to test script
push time in a month
push eventvanvoljg/beach_umbrella
commit sha 8da1a8f527899011aaa83f199ebd6c260852fe21
add test script
commit sha 5e245785e1658c1201fd2a4744e3b0f024318cbe
remove all non-umbrella deps
commit sha 1740b3fcc194b3e7ff1f2d559c52ab9c0da1ddf7
add many more apps to demonstrate geometric time increase
commit sha d93278c4307c80b9a5362bae98d836dfe2edcb2b
Revert "remove all non-umbrella deps" This reverts commit 5e245785e1658c1201fd2a4744e3b0f024318cbe.
commit sha 742d44643779d7b2cefb819e1f1c23254b68aeb2
add up to 26 apps and add deps to them all
push time in a month
push eventvanvoljg/beach_umbrella
commit sha 8da1a8f527899011aaa83f199ebd6c260852fe21
add test script
commit sha 5e245785e1658c1201fd2a4744e3b0f024318cbe
remove all non-umbrella deps
commit sha 1740b3fcc194b3e7ff1f2d559c52ab9c0da1ddf7
add many more apps to demonstrate geometric time increase
push time in a month
push eventvanvoljg/beach_umbrella
commit sha 8da1a8f527899011aaa83f199ebd6c260852fe21
add test script
push time in a month
issue closedbeerlyfunctional/BeerlyGF
need to check cache invalidation timeouts
closed time in a month
vanvoljgissue closedbeerlyfunctional/BeerlyGF
Stretch: check beers from brewery for gluten-free
Check ingredients on pulling beers for the brewery, pre-set the gluten-free flag for that beer if it's gluten free.
closed time in a month
vanvoljgissue closed201d45-bluejay/project-j
create shape rendering function for non-tree items
closed time in a month
vanvoljgissue closed201d45-bluejay/project-j
Create CSS styling and handling rules to display and hide popup messages
closed time in a month
vanvoljgissue closed201d45-bluejay/project-j
Low priority/stretch goal Display random order of people on about page
closed time in a month
vanvoljgpush eventgadabout/pdc_spec
commit sha a2dd3d3db5968be904dd827ff82aed0764b766f1
former pdc moved to /experiences
push time in 2 months
PR closed jcbwang/lab-09-back-end
Jesse forked on Sunday for refactor.
pr closed time in 2 months
startedtc39/proposal-pattern-matching
started time in 3 months
startedelbow-jason/echo_rust_nif
started time in 3 months
startedrrrene/credo
started time in 3 months