"Abandon (core dumped)" while importing pylena
First of all, thanks for the amazing work you've done on this project!
While I was using the pylena
library, I stumbled on an issue which avoided me to use it. I had no problem using it in a notebook but when I tried to convert it in a module, there seemed to have a problem during import.
After many experiments (on the execution, my environment and your code), I've finally found the problem having no error with the execution of your Line detection example code in the docs : if I don't import matplotlib
before pylena
, the problem appears.
I think it comes from a dependency loaded by matplotlib
that pylena
use, but I'm not a C++ developper so I can't be sure of that.
Here is last calls outputed by strace
before the issue raise, hope it can be useful to you and if you need further informations do not hesitate to ask me:
openat(AT_FDCWD, "/home/../lib/libgomp.so.1", O_RDONLY|O_CLOEXEC) = 12
read(12, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
pread64(12, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0\t\0\0\0\0\0\0\0"..., 48, 268936) = 48
newfstatat(12, "", {st_mode=S_IFREG|0775, st_size=1265616, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 276816, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 12, 0) = 0x7f527a1bc000
mmap(0x7f527a1c7000, 176128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 12, 0xb000) = 0x7f527a1c7000
mmap(0x7f527a1f2000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 12, 0x36000) = 0x7f527a1f2000
mmap(0x7f527a1fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 12, 0x41000) = 0x7f527a1fe000
close(12) = 0
mprotect(0x7f527a1fe000, 4096, PROT_READ) = 0
mprotect(0x7f527a5b9000, 12288, PROT_READ) = 0
mprotect(0x7f524fce6000, 307200, PROT_READ) = 0
brk(0x1721000) = 0x1721000
brk(0x1761000) = 0x1761000
mprotect(0x7f525a066000, 1560576, PROT_READ) = 0
openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 12
newfstatat(12, "", {st_mode=S_IFDIR|0755, st_size=0, ...}, AT_EMPTY_PATH) = 0
getdents64(12, 0x16c26d0 /* 24 entries */, 32768) = 704
getdents64(12, 0x16c26d0 /* 0 entries */, 32768) = 0
close(12) = 0
sched_getaffinity(91246, 8, [0, 1, 2, 3, 4, 5]) = 8
writev(2, [{iov_base="free(): invalid pointer", iov_len=23}, {iov_base="\n", iov_len=1}], 2) = 24
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5280a67000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
gettid() = 91246
getpid() = 91246
tgkill(91246, 91246, SIGABRT) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=91246, si_uid=1000} ---
Also I've had some issues while exploring the problem, especially bulding bindings following the Contribute to the project, but I haven't spent to much time on it and I think it would be better discussing it in another issue.
Have a nice day!
EDIT: My problem appeared trying to use pln.scribo.line_detector
method after import pylena as pln
(and other variants).