I get all errors 1.5, 1.6, 1.7 from there:
http://wiki.seas.harvard.edu/geos-chem/index.php/Other_less-common_errors#Memory_error:_.22munmap_chunk:_invalid_pointer.22
This happens when the pointer passed to (C-library language routine free(), which is called from Fortran routine NULLIFY()) is not valid or has been modified somehow.
I will look into more (and may then edit this post, but send it now, since I have to run, it’s a bit incomplete.
I could confirm your new stactrace/error, but I could also start Julia (got the banner, then hang), with just !julia`, but I would debug third MWE stacktrace:
!julia -e ''
munmap_chunk(): invalid pointer
signal (6): Aborted
in expression starting at none:0
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f28bd0ea26d)
unknown function (ip: 0x7f28bd0f22fb)
unknown function (ip: 0x7f28bd0f254b)
close_unit_1 at /workspace/srcdir/gcc-12.1.0/libgfortran/io/unit.c:742
close_units at /workspace/srcdir/gcc-12.1.0/libgfortran/io/unit.c:800
unknown function (ip: 0x7f28bd49ff6a)
unknown function (ip: 0x7f28bd0a38a6)
exit at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
main at julia (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401098)
Allocations: 2909 (Pool: 2895; Big: 14); GC: 0
It should at least rule out some Download/curl problem I suspected from your second stacktrace.
GCC 12.1 was released in May 6, 2022, so has Julia for sure been tested with it before, or did Colab just recently update to it (it might be unusual for other software they actually need to rely on libgfortran?)?
I was just looking at these lines, that may be the reason/indicated 12.1, or just a false alarm:
close_unit_1 at /workspace/srcdir/gcc-12.1.0/libgfortran/io/unit.c:742
close_units at /workspace/srcdir/gcc-12.1.0/libgfortran/io/unit.c:800
It’s non-deterministic, sometimes I get free(): invalid size
and sometimes (otherwise the stactrace very similar, didn’t read to closely, at least addresses with “unknown function” differ):
free(): invalid pointer
signal (6): Aborted
in expression starting at none:1
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f4e4141d26d)
unknown function (ip: 0x7f4e414252fb)
unknown function (ip: 0x7f4e41426b2b)
curl_slist_free_all at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
[..]
or:
free(): invalid size
signal (6): Aborted
in expression starting at none:1
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7fa50c95826d)
unknown function (ip: 0x7fa50c9602fb)
unknown function (ip: 0x7fa50c961b3b)
curl_slist_free_all at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
Curl_cookie_loadfiles at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
Curl_pretransfer at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
multi_runsingle at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
multi_socket at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
curl_multi_socket_action at /usr/local/bin/../lib/julia/libcurl.so (unknown line)
curl_multi_socket_action at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/Curl.jl:48 [inlined]
curl_multi_socket_action at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/Curl.jl:56 [inlined]
macro expansion at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/utils.jl:28 [inlined]
do_multi at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/Multi.jl:114
#32 at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/Multi.jl:131 [inlined]
lock at ./lock.jl:185
#31 at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Downloads/src/Curl/Multi.jl:128 [inlined]
macro expansion at ./asyncevent.jl:281 [inlined]
#666 at ./task.jl:134
jfptr_YY.666_32825.clone_1 at /usr/local/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/src/gf.c:2377 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/src/gf.c:2559
jl_apply at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/src/julia.h:1843 [inlined]
start_task at /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/src/task.c:931
Allocations: 2908 (Pool: 2895; Big: 13); GC: 0
Installing known registries into ~/.julia
double free or corruption (out)
I at least doubt it’s incompatible libc.so.
curl_multi_socket_action
https://curl.se/libcurl/c/curl_multi_socket_action.html
When the application has detected action on a socket handled by libcurl, it should call curl_multi_socket_action with the sockfd argument set to the socket with the action. […] The curl_multi_socket_action function informs the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to curl_multi_setopt. They update the status with changes since the previous time the callback was called.
Get the timeout time by setting the CURLMOPT_TIMERFUNCTION option with curl_multi_setopt.
signal (6): Aborted
in expression starting at none:1
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f3c1db7826d)
unknown function (ip: 0x7f3c1db802fb)
unknown function (ip: 0x7f3c1db81f9f)
curl_slist_free_all at /usr/local/bin/../lib/julia/libcurl.so (unknown line)