From 59c59baafe792f0ca3b24e8260938c17f6f85b2a Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Wed, 30 Aug 2023 20:53:59 +0200 Subject: [PATCH 1/3] Include erts_mmap in snapshot to help debug VM issues --- src/recon_alloc.erl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/recon_alloc.erl b/src/recon_alloc.erl index 0b758dd..0cd16e8 100644 --- a/src/recon_alloc.erl +++ b/src/recon_alloc.erl @@ -369,11 +369,13 @@ sbcs_to_mbcs(Keyword) -> allocators() -> UtilAllocators = erlang:system_info(alloc_util_allocators), Allocators = [sys_alloc,mseg_alloc|UtilAllocators], - [{{A,N}, format_alloc(A, Props)} || - A <- Allocators, - Allocs <- [erlang:system_info({allocator,A})], - Allocs =/= false, - {_,N,Props} <- Allocs]. + try [{{erts_mmap,0},erlang:system_info({allocator,erts_mmap})}] + catch error:badarg -> [] end ++ + [{{A,N}, format_alloc(A, Props)} || + A <- Allocators, + Allocs <- [erlang:system_info({allocator,A})], + Allocs =/= false, + {_,N,Props} <- Allocs]. format_alloc(Alloc, Props) -> %% {versions,_,_} is implicitly deleted in order to allow the use of the @@ -638,6 +640,8 @@ conv_mem(Mem,Factor) -> conv_alloc([{{sys_alloc,_I},_Props} = Alloc|R], Factor) -> [Alloc|conv_alloc(R,Factor)]; +conv_alloc([{{erts_mmap,_I},_Props} = Alloc|R], Factor) -> + [Alloc|conv_alloc(R,Factor)]; conv_alloc([{{mseg_alloc,_I} = AI,Props}|R], Factor) -> MemKind = orddict:fetch(memkind,Props), Status = orddict:fetch(status,MemKind), From 43ad8efdbf0e537ee4ff680ad9a2042f8289fb9c Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Wed, 30 Aug 2023 21:20:45 +0200 Subject: [PATCH 2/3] Bump some versions for CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43ff202..96665f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: image: erlang:${{matrix.otp_vsn}} strategy: matrix: - otp_vsn: ['18.3', '19.3', '20.3', '21.3', '22.3', '23.3', '24.0', '25.0'] + otp_vsn: ['18.3', '19.3', '20.3', '21.3', '22.3', '23.3', '24.3', '25.3', '26.0.2'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 From 3403b1b0409f931282ea71e3839fd2d53c4f44e4 Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Wed, 30 Aug 2023 21:42:16 +0200 Subject: [PATCH 3/3] Fix dialyzer error in 26 --- src/recon.erl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/recon.erl b/src/recon.erl index ee93d94..a1c067c 100644 --- a/src/recon.erl +++ b/src/recon.erl @@ -514,6 +514,7 @@ source(Module) -> Path = code:which(Module), {ok,{_,[{abstract_code,{_,AC}}]}} = beam_lib:chunks(Path, [abstract_code]), erl_prettypr:format(erl_syntax:form_list(AC)). +-dialyzer({nowarn_function, source/1}). %%% Ports Info %%%