Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfaults on 3.12 when using PySR and running Julia's GC #113591

Open
MilesCranmer opened this issue Dec 31, 2023 · 7 comments
Open

Segfaults on 3.12 when using PySR and running Julia's GC #113591

MilesCranmer opened this issue Dec 31, 2023 · 7 comments
Labels
type-crash A hard crash of the interpreter, possibly with a core dump

Comments

@MilesCranmer
Copy link

MilesCranmer commented Dec 31, 2023

Crash report

What happened?

This is a segfault I am seeing on Python 3.12, when trying to use the Python and Julia runtimes simultaneously via the PyJulia package.

It seems like when there is an object that is referenced by both the Julia and Python runtimes, there can be memory access errors. It seems as though Python is trying to free memory which has already been freed in Julia or vice versa.

I am raising the issue here since the issue has only started occurring on Python 3.12, but does not occur on 3.11. The Julia version does not seem to affect this behavior. So I am trying to understand what changes were made to the Python GC that might have triggered this, and if perhaps the GC is more aggressive in some way?

Here is my current MWE based on a package I maintain (PySR) that uses Julia as backend for a Python frontend:

from pysr import PySRRegressor

model = PySRRegressor()

# This runs fine:
model.fit([[1]], [1])

# This second run results in a segmentation fault:
model.fit([[1]], [1])

This is the smallest MWE I have been able to create thus far.

I also see the issue in my continuous integration tests on Python 3.12, but never before 3.12: MilesCranmer/PySR#450

For example, in one of those segfaults, I see the following backtrace:

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffb0691a026 -- PyObject_Free at C:\hostedtoolcache\windows\Python\3.12.1\x64\python312.dll (unknown line)
in expression starting at none:0
PyObject_Free at C:\hostedtoolcache\windows\Python\3.12.1\x64\python312.dll (unknown line)
pydecref_ at C:\Users\runneradmin\.julia\packages\PyCall\1gn3u\src\PyCall.jl:118
pydecref at C:\Users\runneradmin\.julia\packages\PyCall\1gn3u\src\PyCall.jl:123
jfptr_pydecref_1039 at C:\Users\runneradmin\.julia\compiled\v1.9\PyCall\GkzkC_As42O.dll (unknown line)
run_finalizer at C:/workdir/src\gc.c:417
jl_gc_run_finalizers_in_list at C:/workdir/src\gc.c:507
run_finalizers at C:/workdir/src\gc.c:553
run_finalizers at C:/workdir/src\gc.c:534 [inlined]
ijl_gc_collect at C:/workdir/src\gc.c:3732
maybe_collect at C:/workdir/src\gc.c:1083 [inlined]
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1450 [inlined]
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1511
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:460 [inlined]
_new_array_ at C:/workdir/src\array.c:144
_new_array at C:/workdir/src\array.c:198 [inlined]
ijl_alloc_array_1d at C:/workdir/src\array.c:436
Array at .\boot.jl:477 [inlined]
Array at .\boot.jl:486 [inlined]
similar at .\array.jl:374 [inlined]
similar at .\abstractarray.jl:839 [inlined]
deg2_l0_r0_eval at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:257
jfptr_deg2_l0_r0_eval_1577 at C:\Users\runneradmin\.julia\compiled\v1.9\DynamicExpressions\BQC8W_As42O.dll (unknown line)
_eval_tree_array at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:117
_eval_tree_array at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:131
_eval_tree_array at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:125
#eval_tree_array#1 at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:65 [inlined]
eval_tree_array at C:\Users\runneradmin\.julia\packages\DynamicExpressions\KRT17\src\EvaluateEquation.jl:59 [inlined]
#eval_tree_array#1 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\InterfaceDynamicExpressions.jl:57 [inlined]
eval_tree_array at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\InterfaceDynamicExpressions.jl:56 [inlined]
_eval_loss at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\LossFunctions.jl:48
#eval_loss#3 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\LossFunctions.jl:101
eval_loss at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\LossFunctions.jl:93 [inlined]
#score_func#5 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\LossFunctions.jl:160 [inlined]
score_func at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\LossFunctions.jl:157 [inlined]
#next_generation#1 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\Mutate.jl:235
next_generation at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\Mutate.jl:60 [inlined]
reg_evol_cycle at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\RegularizedEvolution.jl:37
#s_r_cycle#1 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\SingleIteration.jl:42
s_r_cycle at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\SingleIteration.jl:17 [inlined]
#_dispatch_s_r_cycle#81 at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\SymbolicRegression.jl:1053
_dispatch_s_r_cycle at C:\Users\runneradmin\.julia\packages\SymbolicRegression\OYvt5\src\SymbolicRegression.jl:1036

I found this quite odd as it seems as though both the Julia and Python garbage collection are interfering with eachother. Here, it seems as though PyObject_Free is trying to free memory that was already freed? Perhaps one of the GCs is trying to free the memory access by the other runtime. Looking at the backtrace, I suppose this could also be an issue with PyCall.jl (which calls Python functions from Julia), although it hasn't occurred in any previous Python version, so I'm not sure where the issue is coming from.

Any help is appreciated. I am happy to provide you with as much debugging information as I can, as this issue is quite urgent to fix in the ecosystem of Python <-> Julia packages.

CPython versions tested on:

3.12

Operating systems tested on:

Linux, macOS, Windows

Output from running 'python -VV' on the command line:

Linux test performed on: Python 3.12.1 (main, Dec 30 2023, 22:23:57) [GCC 8.5.0 20210514 (Red Hat 8.5.0-20)]

@MilesCranmer MilesCranmer added the type-crash A hard crash of the interpreter, possibly with a core dump label Dec 31, 2023
@MilesCranmer
Copy link
Author

MilesCranmer commented Dec 31, 2023

Not sure if #97920 is related at all to this?

The Garbage Collector now runs only on the eval breaker mechanism of the
Python bytecode evaluation loop instead on object allocations. The GC can
also run when :c:func:PyErr_CheckSignals is called so C extensions that
need to run for a long time without executing any Python code also have a
chance to execute the GC periodically.

Since here model.fit() runs a C extension for a while, I wonder if the "periodic GC" is causing deallocation of some memory referenced by both Julia and Python, so that when PyCall.jl frees the PyObject (here), it so happens that it was already freed by Python.

@pablogsal sorry for the tag but I'm wondering if you might have any intuition for how I could investigate this further?

@pablogsal
Copy link
Member

pablogsal commented Dec 31, 2023

Not sure if #97920 is related at all to this?

I think is very unlikely that this is related. That commit will make GC runs less common, but it will make them at times that are safer for the runtime (meaning there will be fewer chances of the runtime encountering illegal conditions). The fact that this happens at GC time unfortunately doesn't necessarily point at the GC as this is normally the time when error conditions that already happened in the past (corruption, illegal references or cycles) are discovered as object links are heavily exercised here.

It is very difficult to make any informed suggestion just by the traceback, but here is what i can observe:

  • The segfault happens when freeing an object. This can be a double free or that you are freeing some NULL object or garbage memory.
  • The freeing of the memory happens when the GC runs finalizers so this is being triggered by some __del__ method somewhere.
  • Looks like some Julia object is being destroyed illegally (jfptr_pydecref_1039 just calls PyObject_Free ) directly.

The bug looks in the extension layer, not in CPython (although it may be possible) so unfortunately without any reproducer that only involves CPython we won't be able to help more

@pablogsal
Copy link
Member

pablogsal commented Dec 31, 2023

Answering some additional things:

I wonder if the "periodic GC" is causing deallocation of some memory reference

As mentioned before, the periodic GC in 3.12 is running less often, not more. It's only executed when Python executes bytecode or when PyErr_CheckSignals is called. Both points are totally legal and the runtime should be consistent. Before it was executed potentially on every memory allocation.

referenced by both Julia and Python, so that when PyCall.jl frees the PyObject (here), it so happens that it was already freed by Python.

If a Julia object is visible by Python after being deallocated then that's an error condition on the extension. If an obejct is destroyed the GC should NOT be able to see it.

@pablogsal
Copy link
Member

pablogsal commented Dec 31, 2023

Looking at the traceback more closely I don't see CPython's GC anywhere. ALl the gc functions are referring to Julia's GC. In particulat the run_finalizers function is from here:

https://github.com/JuliaLang/julia/blob/1b183b93f4b78f567241b1e7511138798cea6a0d/src/gc.c#L406

So this looks like a extension/julia problem as I don't see any CPython GC calls here.

@pablogsal pablogsal changed the title Segfaults on 3.12 from garbage collection Segfaults on 3.12 when using PySR and running Julia's GC Dec 31, 2023
@MilesCranmer
Copy link
Author

Thanks very much for the advice. Indeed it sounds like an issue on the Julia side so feel free to close. The traceback is from Julia but I was wondering if it might be some change in the Python GC that might have freed memory which PyCall was expecting to free itself; but as you suggest it appears to be from something else.

The thing I am puzzled about is that this issue occurs only when incrementing Python 3.11 -> 3.12, but the Julia version (or PyCall version) does not seem to affect it, and it manifests as these segfaults from the garbage collection code. I guess I will need to figure out if there are any changes in 3.12 which break assumptions in PyCall. (I don't think it's PySR-specific as it's basically a lightweight wrapper around a few PyJulia calls – it's just the only way I've been able to consistently reproduce this so far.)

@pablogsal
Copy link
Member

Maybe you can run your reproducer under valgrind and that will point to where the memory was allocated or maybe freed twice? You probably need to look closely and filter a lot of false positives but the answer may be there.

Another possibility is to use memory sanitizer, as that normally tells you where the object was allocated.

@MilesCranmer
Copy link
Author

MilesCranmer commented Dec 31, 2023

Thanks. I did a run of valgrind both on the pure Julia side and also the Python version that segfaults. It looks like most of the errors are just related to codegen and package loading (might just be false positives). I don't immediately notice anything stemming from the Python<->Julia interface.

Here was the output of valgrind on the Python version with the following settings:
valgrind --smc-check=all-non-file --leak-check=full \
    --show-leak-kinds=definite --track-origins=yes \
    --verbose --log-file=valgrind-pysr-with-segfault2.txt \
    --trace-children=yes --suppressions=/home/mc2473/juliavalgrind/julia/contrib/valgrind-julia.supp \
    python -c 'from julia import Julia; jl = Julia(runtime="/home/mc2473/juliavalgrind/julia/usr/bin/julia", threads="auto"); from pysr import PySRRegressor as SR; model=SR(); model.fit([[1]], [1]); model.fit([[1]], [1])'

(click to expand)

==664136== Memcheck, a memory error detector
==664136== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==664136== Using Valgrind-3.21.0-d97fed7c3e-20230428 and LibVEX; rerun with -h for copyright info
==664136== Command: /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/bin/julia --startup-file=no /home/mc2473/.pyenv/versions/3.12.1/envs/pysr/lib/python3.12/site-packages/julia/juliainfo.jl
==664136== Parent PID: 664132
==664136== 
--664136-- 
--664136-- Valgrind options:
--664136--    --smc-check=all-non-file
--664136--    --leak-check=full
--664136--    --show-leak-kinds=definite
--664136--    --track-origins=yes
--664136--    --verbose
--664136--    --log-file=valgrind-pysr-with-segfault2.txt
--664136--    --trace-children=yes
--664136--    --suppressions=/home/mc2473/juliavalgrind/julia/contrib/valgrind-julia.supp
--664136-- Contents of /proc/version:
--664136--   Linux version 4.18.0-477.36.1.el8_8.x86_64 (sjr20@cpu-q-120) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-18) (GCC)) #1 SMP Thu Nov 30 19:08:53 GMT 2023
--664136-- 
--664136-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand-rdseed
--664136-- Page sizes: currently 4096, max supported 4096
--664136-- Valgrind library directory: /usr/libexec/valgrind
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/bin/julia
--664136-- Reading syms from /usr/lib64/ld-2.28.so
--664136-- Warning: cross-CU LIMITATION: some inlined fn names
--664136-- might be shown as UnknownInlinedFun
--664136-- Reading syms from /usr/libexec/valgrind/memcheck-amd64-linux
==664136== Downloading debug info for /usr/libexec/valgrind/memcheck-amd64-linux...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/23c7103b45550e69e5f2c43318fb819bf3e8f917/debuginfo ..
--664136--   .. CRC is valid
==664136== Successfully downloaded debug file for /usr/libexec/valgrind/memcheck-amd64-linux
==664136== Downloading debug info for /home/mc2473/.cache/debuginfod_client/23c7103b45550e69e5f2c43318fb819bf3e8f917/debuginfo...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/64b63b4279aacc5afe207ae58fd25605aaefafe8/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /home/mc2473/.cache/debuginfod_client/23c7103b45550e69e5f2c43318fb819bf3e8f917/debuginfo
--664136--    object doesn't have a dynamic symbol table
--664136-- Scheduler: using generic scheduler lock implementation.
--664136-- Reading suppressions file: /home/mc2473/juliavalgrind/julia/contrib/valgrind-julia.supp
--664136-- Reading suppressions file: /usr/libexec/valgrind/default.supp
==664136== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-664136-by-mc2473-on-cpu-q-9
==664136== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-664136-by-mc2473-on-cpu-q-9
==664136== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-664136-by-mc2473-on-cpu-q-9
==664136== 
==664136== TO CONTROL THIS PROCESS USING vgdb (which you probably
==664136== don't want to do, unless you know exactly what you're doing,
==664136== or are doing some strange experiment):
==664136==   /usr/libexec/valgrind/../../bin/vgdb --pid=664136 ...command...
==664136== 
==664136== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==664136==   /path/to/gdb /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/bin/julia
==664136== and then give GDB the following command
==664136==   target remote | /usr/libexec/valgrind/../../bin/vgdb --pid=664136
==664136== --pid is optional if only one valgrind process is running
==664136== 
--664136-- REDIR: 0x4005850 (ld-linux-x86-64.so.2:strlen) redirected to 0x580d3692 (vgPlain_amd64_linux_REDIR_FOR_strlen)
--664136-- REDIR: 0x4005620 (ld-linux-x86-64.so.2:index) redirected to 0x580d36ac (vgPlain_amd64_linux_REDIR_FOR_index)
--664136-- Reading syms from /usr/libexec/valgrind/vgpreload_core-amd64-linux.so
--664136-- Reading syms from /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so
==664136== WARNING: new redirection conflicts with existing -- ignoring it
--664136--     old: 0x04005850 (strlen              ) R-> (0000.0) 0x580d3692 vgPlain_amd64_linux_REDIR_FOR_strlen
--664136--     new: 0x04005850 (strlen              ) R-> (2007.0) 0x04c3e770 strlen
--664136-- REDIR: 0x4002030 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c3f930 (str==664132== 
==664132== HEAP SUMMARY:
==664132==     in use at exit: 0 bytes in 0 blocks
==664132==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==664132== 
==664132== All heap blocks were freed -- no leaks are possible
==664132== 
==664132== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
94eb/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /usr/lib64/libdl-2.28.so
==664136== Downloading debug info for /home/mc2473/.cache/debuginfod_client/97e243b15f860192631b3b68e64a1db6321e94eb/debuginfo...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/53a111fd8b7c3069363b4992fc632d47c8a792b2/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /home/mc2473/.cache/debuginfod_client/97e243b15f860192631b3b68e64a1db6321e94eb/debuginfo
--664136-- Reading syms from /usr/lib64/libpthread-2.28.so
==664136== Downloading debug info for /usr/lib64/libpthread-2.28.so...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/e08f397aa6b7de799209cd5bc35aabe0496678f1/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /usr/lib64/libpthread-2.28.so
==664136== Downloading debug info for /home/mc2473/.cache/debuginfod_client/e08f397aa6b7de799209cd5bc35aabe0496678f1/debuginfo...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/53a111fd8b7c3069363b4992fc632d47c8a792b2/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /home/mc2473/.cache/debuginfod_client/e08f397aa6b7de799209cd5bc35aabe0496678f1/debuginfo
--664136-- Reading syms from /usr/lib64/libc-2.28.so
==664136== Downloading debug info for /usr/lib64/libc-2.28.so...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/c52dbe785ce4223dafe0b6ec0f6e25ea0c8e14f4/debuginfo ..
--664136--   .. CRC mismatch (computed 79bf1828 wanted 0b170e8b)
==664136== Server Error
==664136== WARNING: new redirection conflicts with existing -- ignoring it
--664136--     old: 0x053094f0 (memalign            ) R-> (1011.0) 0x04c3d57e memalign
--664136--     new: 0x053094f0 (memalign            ) R-> (1017.0) 0x04c3da83 aligned_alloc
==664136== WARNING: new redirection conflicts with existing -- ignoring it
--664136--     old: 0x053094f0 (memalign            ) R-> (1011.0) 0x04c3d57e memalign
--664136--     new: 0x053094f0 (memalign            ) R-> (1017.0) 0x04c3da0d aligned_alloc
==664136== WARNING: new redirection conflicts with existing -- ignoring it
--664136--     old: 0x053094f0 (memalign            ) R-> (1011.0) 0x04c3d57e memalign
--664136--     new: 0x053094f0 (memalign            ) R-> (1017.0) 0x04c3da83 aligned_alloc
==664136== WARNING: new redirection conflicts with existing -- ignoring it
--664136--     old: 0x053094f0 (memalign            ) R-> (1011.0) 0x04c3d57e memalign
--664136--     new: 0x053094f0 (memalign            ) R-> (1017.0) 0x04c3da0d aligned_alloc
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/libjulia.so.1.10.0
--664136-- REDIR: 0x530d770 (libc.so.6:memmove) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
==664136== Preferring higher priority redirection:
--664136--     old: 0x0533be20 (__memcpy_avx_unalign) R-> (2018.0) 0x04c40b70 __memcpy_avx_unaligned_erms
--664136--     new: 0x0533be20 (__memcpy_avx_unalign) R-> (2018.1) 0x04c424a0 memmove
--664136-- REDIR: 0x530ca80 (libc.so.6:strncpy) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530daa0 (libc.so.6:strcasecmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c390 (libc.so.6:strcat) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530cae0 (libc.so.6:rindex) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530f0d0 (libc.so.6:rawmemchr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5344d70 (libc.so.6:wmemchr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5344790 (libc.so.6:wcscmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d8d0 (libc.so.6:mempcpy) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d700 (libc.so.6:bcmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530ca10 (libc.so.6:strncmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c440 (libc.so.6:strcmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d840 (libc.so.6:memset) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5344750 (libc.so.6:wcschr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c970 (libc.so.6:strnlen) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c520 (libc.so.6:strcspn) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530daf0 (libc.so.6:strncasecmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c4c0 (libc.so.6:strcpy) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530dc40 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5346070 (libc.so.6:wcsnlen) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530cb20 (libc.so.6:strpbrk) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c3f0 (libc.so.6:index) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530c930 (libc.so.6:strlen) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5313bb0 (libc.so.6:memrchr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530db40 (libc.so.6:strcasecmp_l) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d6c0 (libc.so.6:memchr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x53448a0 (libc.so.6:wcslen) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530cde0 (libc.so.6:strspn) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530da40 (libc.so.6:stpncpy) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d9e0 (libc.so.6:stpcpy) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530f110 (libc.so.6:strchrnul) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530db90 (libc.so.6:strncasecmp_l) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5338c40 (libc.so.6:__strrchr_avx2) redirected to 0x4c3e100 (rindex)
--664136-- REDIR: 0x5338e10 (libc.so.6:__strlen_avx2) redirected to 0x4c3e650 (strlen)
--664136-- REDIR: 0x5308780 (libc.so.6:malloc) redirected to 0x4c3810f (malloc)
--664136-- REDIR: 0x533be20 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c424a0 (memmove)
--664136-- REDIR: 0x5338820 (libc.so.6:__strchr_avx2) redirected to 0x4c3e2e0 (index)
--664136-- REDIR: 0x5308e10 (libc.so.6:free) redirected to 0x4c3abb9 (free)
--664136-- REDIR: 0x530c9b0 (libc.so.6:strncat) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x5339940 (libc.so.6:__strncat_avx2) redirected to 0x4c3e4d0 (strncat)
--664136-- REDIR: 0x53095b0 (libc.so.6:calloc) redirected to 0x4c3d139 (calloc)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libgcc_s.so.1
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libopenlibm.so.4.0
--664136-- REDIR: 0x5334740 (libc.so.6:__strncmp_avx2) redirected to 0x4c3ee00 (strncmp)
==664144== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-664144-by-mc2473-on-cpu-q-9
==664144== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-664144-by-mc2473-on-cpu-q-9
==664144== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-664144-by-mc2473-on-cpu-q-9
==664144== 
==664144== TO CONTROL THIS PROCESS USING vgdb (which you probably
==664144== don't want to do, unless you know exactly what you're doing,
==664144== or are doing some strange experiment):
==664144==   /usr/libexec/valgrind/../../bin/vgdb --pid=664144 ...command...
==664144== 
==664144== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==664144==   /path/to/gdb /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/bin/julia
==664144== and then give GDB the following command
==664144==   target remote | /usr/libexec/valgrind/../../bin/vgdb --pid=664144
==664144== --pid is optional if only one valgrind process is running
==664144== 
--664144-- Reading syms from /usr/lib64/libstdc++.so.6.0.25
==664144== Downloading debug info for /usr/lib64/libstdc++.so.6.0.25...
--664144--   Considering /home/mc2473/.cache/debuginfod_client/7e2762e395320d20062d39c4ce79f79ae55014a0/debuginfo ..
--664144--   .. CRC mismatch (computed 3141ed50 wanted 25e7f4c7)
==664144== Server Error
--664144--    object doesn't have a symbol table
--664144-- Reading syms from /usr/lib64/libm-2.28.so
==664144== Downloading debug info for /usr/lib64/libm-2.28.so...
--664144--   Considering /home/mc2473/.cache/debuginfod_client/437b45874ecf965aad19e8f64853ae6b273257eb/debuginfo ..
--664144--   .. CRC mismatch (computed c8f9a981 wanted d148e594)
==664144== Server Error
--664144--    object doesn't have a symbol table
--664144-- REDIR: 0x5344db0 (libc.so.6:wmemcmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664144-- REDIR: 0x533b040 (libc.so.6:__stpcpy_avx2) redirected to 0x4c41cb0 (stpcpy)
--664144-- REDIR: 0x533be00 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c430a0 (mempcpy)
--664144-- REDIR: 0x5338a50 (libc.so.6:__strchrnul_avx2) redirected to 0x4c42f90 (strchrnul)
--664144-- REDIR: 0x5309090 (libc.so.6:realloc) redirected to 0x4c3d353 (realloc)
==664144== 
==664144== HEAP SUMMARY:
==664144==     in use at exit: 84,631 bytes in 21 blocks
==664144==   total heap usage: 35 allocs, 14 frees, 88,195 bytes allocated
==664144== 
==664144== Searching for pointers to 21 not-freed blocks
==664144== Checked 189,512 bytes
==664144== 
==664144== LEAK SUMMARY:
==664144==    definitely lost: 0 bytes in 0 blocks
==664144==    indirectly lost: 0 bytes in 0 blocks
==664144==      possibly lost: 0 bytes in 0 blocks
==664144==    still reachable: 84,631 bytes in 21 blocks
==664144==         suppressed: 0 bytes in 0 blocks
==664144== Reachable blocks (those to which a pointer was found) are not shown.
==664144== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==664144== 
==664144== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libstdc++.so.6.0.30
--664136-- REDIR: 0x4003480 (ld-linux-x86-64.so.2:strncmp) redirected to 0x4c3f030 (strncmp)
--664136-- REDIR: 0x4005c10 (ld-linux-x86-64.so.2:stpcpy) redirected to 0x4c420c0 (stpcpy)
--664136-- Reading syms from /usr/lib64/libm-2.28.so
==664136== Downloading debug info for /usr/lib64/libm-2.28.so...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/437b45874ecf965aad19e8f64853ae6b273257eb/debuginfo ..
--664136--   .. CRC mismatch (computed c8f9a981 wanted d148e594)
==664136== Server Error
--664136--    object doesn't have a symbol table
--664136-- REDIR: 0x5344db0 (libc.so.6:wmemcmp) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- REDIR: 0x530d5e0 (libc.so.6:strstr) redirected to 0x4a3177b (_vgnU_ifunc_wrapper)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libjulia-internal.so.1.10.0
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libunwind.so.8.0.1
--664136-- Reading syms from /usr/lib64/librt-2.28.so
==664136== Downloading debug info for /usr/lib64/librt-2.28.so...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/b1cd773c80b027cbb48e93a4099182fe5f13f472/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /usr/lib64/librt-2.28.so
==664136== Downloading debug info for /home/mc2473/.cache/debuginfod_client/b1cd773c80b027cbb48e93a4099182fe5f13f472/debuginfo...
--664136--   Considering /home/mc2473/.cache/debuginfod_client/53a111fd8b7c3069363b4992fc632d47c8a792b2/debuginfo ..
--664136--   .. build-id is valid
==664136== Successfully downloaded debug file for /home/mc2473/.cache/debuginfod_client/b1cd773c80b027cbb48e93a4099182fe5f13f472/debuginfo
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libz.so.1.2.13
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libatomic.so.1.2.0
--664136-- REDIR: 0x5335400 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c41b70 (bcmp)
--664136-- REDIR: 0x5334300 (libc.so.6:__strcmp_avx2) redirected to 0x4c3f7f0 (strcmp)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libjulia-codegen.so.1.10.0
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libLLVM-15jl.so
--664136-- REDIR: 0x5d11900 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c388a1 (operator new(unsigned long))
--664136-- REDIR: 0x5d0fc60 (libstdc++.so.6:operator delete(void*, unsigned long)) redirected to 0x4c3b3e3 (operator delete(void*, unsigned long))
--664136-- REDIR: 0x52a3e00 (libc.so.6:memcpy@GLIBC_2.2.5) redirected to 0x4c3fa90 (memcpy@GLIBC_2.2.5)
--664136-- REDIR: 0x5d0fc50 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c3b147 (operator delete(void*))
--664136-- REDIR: 0x533c2a0 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c42390 (memset)
--664136-- REDIR: 0x5309090 (libc.so.6:realloc) redirected to 0x4c3d353 (realloc)
--664136-- REDIR: 0x5334c70 (libc.so.6:__memchr_avx2) redirected to 0x4c3f9d0 (memchr)
--664136-- REDIR: 0x5338a50 (libc.so.6:__strchrnul_avx2) redirected to 0x4c42f90 (strchrnul)
--664136-- REDIR: 0x533be00 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c430a0 (mempcpy)
--664136-- REDIR: 0x533b040 (libc.so.6:__stpcpy_avx2) redirected to 0x4c41cb0 (stpcpy)
--664136-- REDIR: 0x52a3720 (libc.so.6:__strstr_sse2_unaligned) redirected to 0x4c435d0 (strstr)
--664136-- REDIR: 0x5334f40 (libc.so.6:__rawmemchr_avx2) redirected to 0x4c42fc0 (rawmemchr)
--664136-- REDIR: 0x5343350 (libc.so.6:__strcspn_sse42) redirected to 0x4c43790 (strcspn)
--664136-- REDIR: 0x5338fb0 (libc.so.6:__strnlen_avx2) redirected to 0x4c3e5d0 (strnlen)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/sys.so
--664136-- REDIR: 0x5d11960 (libstdc++.so.6:operator new[](unsigned long)) redirected to 0x4c39bf1 (operator new[](unsigned long))
--664136-- REDIR: 0x5d0fc80 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c3c243 (operator delete[](void*))
--664136-- REDIR: 0x5d0fc70 (libstdc++.so.6:operator delete(void*, std::nothrow_t const&)) redirected to 0x4c3bbe7 (operator delete(void*, std::nothrow_t const&))
--664136-- REDIR: 0x5d0fc90 (libstdc++.so.6:operator delete[](void*, unsigned long)) redirected to 0x4c3c4df (operator delete[](void*, unsigned long))
--664136-- REDIR: 0x5d11940 (libstdc++.so.6:operator new(unsigned long, std::nothrow_t const&)) redirected to 0x4c39197 (operator new(unsigned long, std::nothrow_t const&))
--664136-- REDIR: 0x530a270 (libc.so.6:posix_memalign) redirected to 0x4c3d91b (posix_memalign)
--664136-- REDIR: 0x533a350 (libc.so.6:__strcpy_avx2) redirected to 0x4c3e7a0 (strcpy)
--664136-- REDIR: 0x53434d0 (libc.so.6:__strpbrk_sse42) redirected to 0x4c43720 (strpbrk)
--664136-- REDIR: 0x53357e0 (libc.so.6:__strcasecmp_avx) redirected to 0x4c3f0a0 (strcasecmp)
--664136-- REDIR: 0x5336e74 (libc.so.6:__strncasecmp_l_avx) redirected to 0x4c3f490 (strncasecmp_l)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libpcre2-8.so.0.11.2
--664136-- WARNING: unhandled amd64-linux syscall: 1008
==664136==    at 0x52A69BD: syscall (in /usr/lib64/libc-2.28.so)
==664136==    by 0x62EF7C1: jl_running_under_rr (partr.c:203)
==664136==    by 0x62EF361: _jl_mutex_unlock_nogc (threading.c:912)
==664136==    by 0x62EF3B4: _jl_mutex_unlock (threading.c:925)
==664136==    by 0x6344ABE: jl_mutex_unlock (julia_locks.h:80)
==664136==    by 0x6344ABE: jl_get_library_ (runtime_ccall.cpp:50)
==664136==    by 0x6344ABE: jl_get_library_ (runtime_ccall.cpp:30)
==664136==    by 0x6344C9F: ijl_load_and_lookup (runtime_ccall.cpp:59)
==664136==    by 0x20183302: jlplt_pcre2_compile_8_71278.1 (in /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/sys.so)
==664136==    by 0x1E836EEA: julia_compile_71273.1 (pcre.jl:161)
==664136==    by 0x2034ADB3: julia_compile_71355.1 (regex.jl:80)
==664136==    by 0x1F52A8B3: #occursin#517; (regex.jl:289)
==664136==    by 0x1F52A8B3: occursin; (regex.jl:288)
==664136==    by 0x1F52A8B3: isdirpath; (path.jl:117)
==664136==    by 0x1F52A8B3: julia_normpath_76291.1 (path.jl:373)
==664136==    by 0x1FEC1282: abspath; (path.jl:440)
==664136==    by 0x1FEC1282: japi1_abspath_76339.1 (path.jl:449)
==664136==    by 0x1F9A176D: julia___init_build_51419.1 (sysinfo.jl:128)
--664136-- You may be able to write your own handler.
--664136-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--664136-- Nevertheless we consider this a bug.  Please report
--664136-- it at http://valgrind.org/support/bug_reports.html.
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libgmp.so.10.4.1
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libmpfr.so.6.2.0
--664136-- REDIR: 0x52bdf00 (libc.so.6:unsetenv) redirected to 0x4c43dc0 (unsetenv)
--664136-- REDIR: 0x52bdea0 (libc.so.6:setenv) redirected to 0x4c43e70 (setenv)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libgfortran.so.5.0.0
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libquadmath.so.0.0.0
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libopenblas64_.0.3.23.so
--664136-- REDIR: 0x533a6e0 (libc.so.6:__strncpy_avx2) redirected to 0x4c3e940 (strncpy)
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libblastrampoline.so.5
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libmbedcrypto.so.2.28.2
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libmbedtls.so.2.28.2
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libmbedx509.so.2.28.2
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libssh2.so.1.0.1
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libgit2.so.1.6.4
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libnghttp2.so.14.24.1
--664136-- Reading syms from /home/mc2473/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/lib/julia/libcurl.so.4.8.0
--664136-- memcheck GC: 1000 nodes, 192 survivors (19.2%)
--664136-- memcheck GC: 1014 new table size (driftup)
--664136-- memcheck GC: 1014 nodes, 184 survivors (18.1%)
--664136-- memcheck GC: 1029 new table size (driftup)
--664136-- REDIR: 0x530d2f0 (libc.so.6:__GI_strstr) redirected to 0x4c43640 (__strstr_sse2)
--664136-- REDIR: 0x53357f4 (libc.so.6:__strcasecmp_l_avx) redirected to 0x4c3f340 (strcasecmp_l)
--664136-- memcheck GC: 1029 nodes, 461 survivors (44.8%)
--664136-- memcheck GC: 1044 new table size (driftup)
--664136-- memcheck GC: 1044 nodes, 659 survivors (63.1%)
--664136-- memcheck GC: 1476 new table size (stepup)
--664136-- memcheck GC: 1476 nodes, 1000 survivors (67.8%)
--664136-- memcheck GC: 2087 new table size (stepup)
--664136-- memcheck GC: 2087 nodes, 954 survivors (45.7%)
--664136-- memcheck GC: 2118 new table size (driftup)
--664136-- memcheck GC: 2118 nodes, 1141 survivors (53.9%)
--664136-- memcheck GC: 2995 new table size (stepup)
--664136-- memcheck GC: 2995 nodes, 821 survivors (27.4%)
--664136-- memcheck GC: 3039 new table size (driftup)
--664136-- memcheck GC: 3039 nodes, 752 survivors (24.7%)
--664136-- memcheck GC: 3084 new table size (driftup)
==664136== Warning: client switching stacks?  SP change: 0x1ffeff5f98 --> 0x2fddfff8
==664136==          to suppress, use: --max-stackframe=136619057056 or greater
==664136== Warning: client switching stacks?  SP change: 0x2fddf2a8 --> 0x1ffeff5fa0
==664136==          to suppress, use: --max-stackframe=136619060472 or greater
--664136-- memcheck GC: 3084 nodes, 1032 survivors (33.5%)
--664136-- memcheck GC: 3130 new table size (driftup)
--664136-- memcheck GC: 3130 nodes, 943 survivors (30.1%)
--664136-- memcheck GC: 3176 new table size (driftup)
--664136-- memcheck GC: 3176 nodes, 1212 survivors (38.2%)
--664136-- memcheck GC: 3223 new table size (driftup)
--664136-- memcheck GC: 3223 nodes, 1163 survivors (36.1%)
--664136-- memcheck GC: 3271 new table size (driftup)
--664136-- memcheck GC: 3271 nodes, 1475 survivors (45.1%)
--664136-- memcheck GC: 3320 new table size (driftup)
--664136-- memcheck GC: 3320 nodes, 1324 survivors (39.9%)
--664136-- memcheck GC: 3369 new table size (driftup)
==664136== 
==664136== HEAP SUMMARY:
==664136==     in use at exit: 18,843,237 bytes in 10,764 blocks
==664136==   total heap usage: 159,347 allocs, 148,583 frees, 76,076,689 bytes allocated
==664136== 
==664136== Searching for pointers to 10,764 not-freed blocks
==664136== Checked 250,643,016 bytes
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 777 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6EBA0E1: __static_initialization_and_destruction_0 (codegen.cpp:1181)
==664136==    by 0x6EBA0E1: _GLOBAL__sub_I_codegen.cpp (codegen.cpp:9383)
==664136==    by 0x4008F49: call_init.part.0 (dl-init.c:72)
==664136==    by 0x4009049: call_init (dl-init.c:118)
==664136==    by 0x4009049: _dl_init (dl-init.c:119)
==664136==    by 0x53D5E2B: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x401079D: dl_open_worker (dl-open.c:794)
==664136==    by 0x401079D: dl_open_worker (dl-open.c:757)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4010980: _dl_open (dl-open.c:876)
==664136==    by 0x4E49F89: dlopen_doit (dlopen.c:66)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x53D5E92: _dl_catch_error (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4E4A52D: _dlerror_run (dlerror.c:142)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 778 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED84A2: init_jit_functions (codegen.cpp:9049)
==664136==    by 0x6ED84A2: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 779 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED84FB: init_jit_functions (codegen.cpp:9050)
==664136==    by 0x6ED84FB: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 780 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED8554: init_jit_functions (codegen.cpp:9051)
==664136==    by 0x6ED8554: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 781 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED85AD: init_jit_functions (codegen.cpp:9052)
==664136==    by 0x6ED85AD: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 782 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED8606: init_jit_functions (codegen.cpp:9053)
==664136==    by 0x6ED8606: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 783 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED865F: init_jit_functions (codegen.cpp:9054)
==664136==    by 0x6ED865F: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 784 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED86B8: init_jit_functions (codegen.cpp:9055)
==664136==    by 0x6ED86B8: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 785 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6D3C: builtin_func_map() [clone .part.0] (codegen.cpp:1268)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 786 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6D7C: builtin_func_map() [clone .part.0] (codegen.cpp:1269)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 787 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6DBC: builtin_func_map() [clone .part.0] (codegen.cpp:1270)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 788 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6DFC: builtin_func_map() [clone .part.0] (codegen.cpp:1271)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 789 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6E3C: builtin_func_map() [clone .part.0] (codegen.cpp:1272)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 790 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6E7C: builtin_func_map() [clone .part.0] (codegen.cpp:1273)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 791 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6EBC: builtin_func_map() [clone .part.0] (codegen.cpp:1274)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 792 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6EFC: builtin_func_map() [clone .part.0] (codegen.cpp:1275)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 793 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6F3C: builtin_func_map() [clone .part.0] (codegen.cpp:1276)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 794 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6F7C: builtin_func_map() [clone .part.0] (codegen.cpp:1277)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 795 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6FBC: builtin_func_map() [clone .part.0] (codegen.cpp:1278)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 796 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED6FFC: builtin_func_map() [clone .part.0] (codegen.cpp:1279)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 797 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED703C: builtin_func_map() [clone .part.0] (codegen.cpp:1280)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 798 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED709B: builtin_func_map() [clone .part.0] (codegen.cpp:1282)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 799 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED70DB: builtin_func_map() [clone .part.0] (codegen.cpp:1283)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 800 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED711B: builtin_func_map() [clone .part.0] (codegen.cpp:1284)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 801 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED715B: builtin_func_map() [clone .part.0] (codegen.cpp:1285)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 802 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED719B: builtin_func_map() [clone .part.0] (codegen.cpp:1286)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 803 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED71DB: builtin_func_map() [clone .part.0] (codegen.cpp:1287)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 804 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED721B: builtin_func_map() [clone .part.0] (codegen.cpp:1288)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 805 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED725B: builtin_func_map() [clone .part.0] (codegen.cpp:1289)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 806 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED729B: builtin_func_map() [clone .part.0] (codegen.cpp:1290)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 807 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED72DB: builtin_func_map() [clone .part.0] (codegen.cpp:1291)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 808 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED731B: builtin_func_map() [clone .part.0] (codegen.cpp:1292)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 809 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED735B: builtin_func_map() [clone .part.0] (codegen.cpp:1293)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 810 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED739B: builtin_func_map() [clone .part.0] (codegen.cpp:1294)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 811 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED73DB: builtin_func_map() [clone .part.0] (codegen.cpp:1295)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 812 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED741B: builtin_func_map() [clone .part.0] (codegen.cpp:1296)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 813 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED745B: builtin_func_map() [clone .part.0] (codegen.cpp:1297)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 814 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED7495: builtin_func_map() [clone .part.0] (codegen.cpp:1298)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 815 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED74CF: builtin_func_map() [clone .part.0] (codegen.cpp:1299)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 816 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED751D: builtin_func_map() [clone .part.0] (codegen.cpp:1300)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 817 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED7557: builtin_func_map() [clone .part.0] (codegen.cpp:1301)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 32 bytes in 1 blocks are definitely lost in loss record 818 of 3,662
==664136==    at 0x4C38913: operator new(unsigned long) (vg_replace_malloc.c:472)
==664136==    by 0x6ED7591: builtin_func_map() [clone .part.0] (codegen.cpp:1302)
==664136==    by 0x6ED91E0: builtin_func_map (codegen.cpp:1303)
==664136==    by 0x6ED91E0: init_jit_functions (codegen.cpp:9078)
==664136==    by 0x6ED91E0: jl_init_codegen_impl (codegen.cpp:9277)
==664136==    by 0x62C103C: _finish_julia_init.isra.0 (init.c:856)
==664136==    by 0x62C1691: julia_init (init.c:844)
==664136==    by 0x6309AD2: jl_repl_entrypoint (jlapi.c:725)
==664136==    by 0x401088: main (loader_exe.c:58)
==664136== 
==664136== 64 bytes in 1 blocks are definitely lost in loss record 2,633 of 3,662
==664136==    at 0x4C38185: malloc (vg_replace_malloc.c:431)
==664136==    by 0x40115B7: UnknownInlinedFun (rtld-malloc.h:56)
==664136==    by 0x40115B7: resize_scopes (dl-open.c:293)
==664136==    by 0x40115B7: dl_open_worker_begin (dl-open.c:693)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4010736: dl_open_worker (dl-open.c:768)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4010980: _dl_open (dl-open.c:876)
==664136==    by 0x4E49F89: dlopen_doit (dlopen.c:66)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x53D5E92: _dl_catch_error (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4E4A52D: _dlerror_run (dlerror.c:142)
==664136==    by 0x4E4A029: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==664136==    by 0x40642CA: load_library.part.0 (loader_lib.c:78)
==664136== 
==664136== 112 bytes in 2 blocks are definitely lost in loss record 2,957 of 3,662
==664136==    at 0x4C38185: malloc (vg_replace_malloc.c:431)
==664136==    by 0x4007556: UnknownInlinedFun (rtld-malloc.h:56)
==664136==    by 0x4007556: _dl_map_object_deps (dl-deps.c:438)
==664136==    by 0x4010E40: dl_open_worker_begin (dl-open.c:590)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4010736: dl_open_worker (dl-open.c:768)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4010980: _dl_open (dl-open.c:876)
==664136==    by 0x4E49F89: dlopen_doit (dlopen.c:66)
==664136==    by 0x53D5DD3: _dl_catch_exception (in /usr/lib64/libc-2.28.so)
==664136==    by 0x53D5E92: _dl_catch_error (in /usr/lib64/libc-2.28.so)
==664136==    by 0x4E4A52D: _dlerror_run (dlerror.c:142)
==664136==    by 0x4E4A029: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==664136== 
==664136== LEAK SUMMARY:
==664136==    definitely lost: 1,520 bytes in 45 blocks
==664136==    indirectly lost: 0 bytes in 0 blocks
==664136==      possibly lost: 166,204 bytes in 1,224 blocks
==664136==    still reachable: 18,675,513 bytes in 9,495 blocks
==664136==         suppressed: 0 bytes in 0 blocks
==664136== Reachable blocks (those to which a pointer was found) are not shown.
==664136== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==664136== 
==664136== ERROR SUMMARY: 185 errors from 185 contexts (suppressed: 0 from 0)

It's odd because running directly from Julia has no errors, but I don't really see anything related to Python in the errors other than maybe the ffi calls.

In particular valgrind says the error is from

==644289== Thread 6:
==644289== Invalid read of size 8
==644289==    at 0x17F5EB91: jl_gc_state_set (julia_threads.h:351)
==644289==    by 0x17F5EB91: jl_gc_state_set (julia_threads.h:344)
==644289==    by 0x17F5EB91: ijl_task_get_next (partr.c:514)
==644289==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==644289== 
==644289== 
==644289== Process terminating with default action of signal 11 (SIGSEGV)
==644289==  Access not within mapped region at address 0x0
==644289==    at 0x17F5EB91: jl_gc_state_set (julia_threads.h:351)
==644289==    by 0x17F5EB91: jl_gc_state_set (julia_threads.h:344)
==644289==    by 0x17F5EB91: ijl_task_get_next (partr.c:514)
==644289==  If you believe this happened as a result of a stack
==644289==  overflow in your program's main thread (unlikely but
==644289==  possible), you can try to increase the size of the
==644289==  main thread stack using the --main-stacksize= flag.
==644289==  The main thread stack size used in this run was 16777216.
==644289== 

I'm going to try rebuilding Julia and Python with a memory sanitizer and maybe that will help figure this out. For the record I only see the segfault when running multi-threaded Julia, so I'm going to try a thread sanitizer too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-crash A hard crash of the interpreter, possibly with a core dump
Projects
None yet
Development

No branches or pull requests

2 participants