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

Oracle.close: signal (11): Segmentation fault #27

Open
walter-weinmann opened this issue Sep 21, 2021 · 1 comment
Open

Oracle.close: signal (11): Segmentation fault #27

walter-weinmann opened this issue Sep 21, 2021 · 1 comment

Comments

@walter-weinmann
Copy link

Problem:

My Julia program opens 8 database connections one after the other and then closes them again. When closing the 3rd database connection, I get this segmentation error.

    for partition_key = 1:BENCHMARK_NUMBER_PARTITIONS
        Oracle.close(CONNECTIONS[partition_key])
    end

If I issue a message before and after the command, e.g. via Debug, then everything runs without problems.

    for partition_key = 1:BENCHMARK_NUMBER_PARTITIONS
        @debug "      $(function_name) Connection #$(partition_key) - to be closed"
        Oracle.close(CONNECTIONS[partition_key])
        @debug "      $(function_name) Connection #$(partition_key) - is now closed"
    end

System Environment:

  • Ubuntu 20.04.3 LTS over VMware Workstation 16 Player.
  • Oracle 21.3 via Docker Desktop version 20.10.8
  • Julia 1.6.2

Protocol:

signal (11): Segmentation fault
in expression starting at /home/walter/Projects/ora_bench/lang/julia/OraBenchOracle.jl:605
dpiConn__close at /home/walter/.julia/packages/Oracle/HDiQ4/deps/usr/lib/libdpi.so.4.1.0 (unknown line)
dpiConn_close at /home/walter/.julia/packages/Oracle/HDiQ4/deps/usr/lib/libdpi.so.4.1.0 (unknown line)
#dpiConn_close#5 at /home/walter/.julia/packages/Oracle/HDiQ4/src/odpi.jl:134 [inlined]
dpiConn_close##kw at /home/walter/.julia/packages/Oracle/HDiQ4/src/odpi.jl:133 [inlined]
#close#11 at /home/walter/.julia/packages/Oracle/HDiQ4/src/connection.jl:191
close at /home/walter/.julia/packages/Oracle/HDiQ4/src/connection.jl:191
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
run_benchmark at /home/walter/Projects/ora_bench/lang/julia/OraBenchOracle.jl:501
main at /home/walter/Projects/ora_bench/lang/julia/OraBenchOracle.jl:456
unknown function (ip: 0x7f1a555fba7c)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:115
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:204
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:155 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:562
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:670
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:877
jl_eval_module_expr at /buildworker/worker/package_linux64/build/src/toplevel.c:195 [inlined]
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:668
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:825
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
include_string at ./loading.jl:1116
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
_include at ./loading.jl:1170
include at ./Base.jl:386
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
exec_options at ./client.jl:285
_start at ./client.jl:485
jfptr__start_34281 at /home/walter/.asdf/installs/julia/1.6.2/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
true_main at /buildworker/worker/package_linux64/build/src/jlapi.c:560
repl_entrypoint at /buildworker/worker/package_linux64/build/src/jlapi.c:702
main at /buildworker/worker/package_linux64/build/cli/loader_exe.c:51
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at /home/walter/.asdf/installs/julia/1.6.2/bin/julia (unknown line)
Allocations: 70437479 (Pool: 70399537; Big: 37942); GC: 68
./lang/julia/scripts/run_bench_oracle_jl.sh: line 59: 16299 Segmentation fault      (core dumped) julia lang/julia/OraBenchOracle.jl priv/properties/ora_bench_toml.properties
@felipenoris
Copy link
Owner

@walter-weinmann , I'll try to replicate this, but meanwhile you should try using a Session Pool as a workaround.

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

No branches or pull requests

2 participants