Segfault in C library depending on import order

Hi! I encountered a very strange issue, when there is sometimes a segfault when calling an external 3rd party library, depending on import order.

This works fine (needs PyCall.jl, matplotlib, FINUFFT.jl installed):

using PyCall
using FINUFFT  # XXX
pyimport("matplotlib")  # YYY

n = 10
m = 10
s1 = randn(m);
x1 = randn(n);
vals1 = randn(n) .+ im .* randn(n);
nufft1d3(x1, vals1, 1, 1e-5, s1);

But when I swap lines XXX and YYY, suddenly there is a segfault:

signal (11): Segmentation fault
in expression starting at test.jl:10
fftw_execute at /home/aplavin/.julia/packages/FINUFFT/bgr7t/deps/usr/lib/libfftw3.so (unknown line)
finufft1d2 at /home/aplavin/.julia/packages/FINUFFT/bgr7t/deps/usr/lib/libfinufft.so (unknown line)
finufft1d3 at /home/aplavin/.julia/packages/FINUFFT/bgr7t/deps/usr/lib/libfinufft.so (unknown line)
nufft1d3! at /home/aplavin/.julia/packages/FINUFFT/bgr7t/src/FINUFFT.jl:508
nufft1d3 at /home/aplavin/.julia/packages/FINUFFT/bgr7t/src/FINUFFT.jl:334
unknown function (ip: 0x7fee9822e86b)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:323
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:411
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:362 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:772
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:884
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7feeba7ce70f)
unknown function (ip: 0xffffffffffffffff)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:893
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:815
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:764
jl_parse_eval_all at /buildworker/worker/package_linux64/build/src/ast.c:873
jl_load at /buildworker/worker/package_linux64/build/src/toplevel.c:879
include at ./boot.jl:328 [inlined]
include_relative at ./loading.jl:1094
include at ./Base.jl:31
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2191
exec_options at ./client.jl:295
_start at ./client.jl:464
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2191
unknown function (ip: 0x40192d)
unknown function (ip: 0x401533)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4015d4)
Allocations: 8549607 (Pool: 8547732; Big: 1875); GC: 18
[1]    11069 segmentation fault  julia test.jl

Sorry, I could not create a smaller reproducible example which doesn’t require installing FINUFFT. However, it doesn’t look like there is anything suspicious in that library, so this is a more general issue.
Any ideas what could cause this?