Skip to content

Conversation

@ziopio
Copy link
Member

@ziopio ziopio commented Nov 14, 2025

How

The state given to the release handler was the one prior to compilation. This skipped semver formatting on checkouts deps. The bug would appear if there are deps in checkouts that use semver as vsn, resulting in a failed release.

Bug details

DEBUG=1 rebar3 grisp deploy

===> release: grisp_demo-1.2.0
     erts: 16.1.1
     goals: 
          sasl
          epmd
          grisp_demo
          runtime_tools
     applications: 
          {kernel,"10.4.1"}
...
          {jarl,"1.1.0"}
          {grisp_keychain,semver}.                                      <---- _checkouts
          {grisp_connect,"2.1.0+build.115.ref8cb06fd"}.    <----- not in _checkouts
          {grisp_demo,"1.2.0"}
          {runtime_tools,"2.3"}

rebar3.crashdump

Error: function_clause
[{filename,join1,
           [semver,[],
            "-niahcyek_psirg/bil/omed_psirg/ler/psirg/dliub_/omed_psirg/psirg/potkseD/iccusacul/sresU/",
            unix],
           [{file,"filename.erl"},{line,664}]},
 {filename,join,1,[{file,"filename.erl"},{line,621}]},
 {rlx_assemble,copy_app,4,
               [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/rlx_assemble.erl"},
                {line,92}]},
 {rlx_assemble,'-copy_app_directories_to_output/3-lc$^0/1-1-',4,
               [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/rlx_assemble.erl"},
                {line,77}]},
 {rlx_assemble,copy_app_directories_to_output,3,
               [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/rlx_assemble.erl"},
                {line,77}]},
 {rlx_assemble,do,2,
               [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/rlx_assemble.erl"},
                {line,16}]},
 {relx,build_release_,3,
       [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/relx.erl"},
        {line,171}]},
 {relx,build_release,3,
       [{file,"/private/var/folders/_z/j32x_t_s13j70f97g_jj9c780000gn/T/rebar3-3.25.1/vendor/relx/src/relx.erl"},
        {line,77}]}]


The state given to the release was the one prior to compilation. This skipped semver formatting on checkouts deps. This happens for deps in checkouts that use semver as vsn, resulting in a failed release.
Copy link
Contributor

@sylane sylane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch !

@ziopio ziopio merged commit 4066575 into master Nov 14, 2025
12 checks passed
@ziopio ziopio deleted the ziopio/semver_bug branch November 14, 2025 14:54
@peerst
Copy link
Member

peerst commented Nov 14, 2025

Yeah good one

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

Successfully merging this pull request may close these issues.

6 participants