JuliaPy / JuliaPy/PyCall.jl

Segmentation fault ( Pycall [BUG] Segmentation fault at 0x0000000000000010 )

Open
#1,082 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
1.5k
Forks
186
PR merge metrics
No merged PRs in 30d

Description

there is problem in the method import_module of file "pycall-1.5.2/lib/pycall.rb"

def import_module(name)
LibPython::Helpers.import_module(name)
end

it calls a c method in this file "ext/pycall/pycall.c"

# c language method
static VALUE
pycall_libpython_helpers_m_import_module(int argc, VALUE *argv, VALUE mod)
{
VALUE name, globals, locals, fromlist, level;
char const *name_cstr;

rb_scan_args(argc, argv, "14", &name, &globals, &locals, &fromlist, &level);

if (RB_TYPE_P(name, T_SYMBOL)) {
name = rb_sym_to_s(name);
}

name_cstr = StringValueCStr(name);

if (argc == 1) {
return pycall_import_module(name_cstr);
}

if (argc == 5) {
level = rb_check_to_integer(level, "to_int");
}
else {
/* TODO: set the default level to 0 */
}

return pycall_import_module_level(name_cstr, globals, locals, fromlist, NUM2INT(level));
}

which again calls the previous method and the process continues in an infinite loop, hence segmentation fault occurs

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.