JuliaInterop / Cxx.jl

The Julia C++ Interface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cxx import fails with free(): invalid pointer error while Precompiling

princethewinner opened this issue · comments

Steps to regenerate:

  1. Download Julia source code with dependencies from https://julialang.org/downloads/ (Current stable release: v1.3.1 (Dec 30, 2019)).
  2. run make make USE_BINARYBUILDER=0
  3. open julia REPL.
  4. Install "Cxx" in julia as "using Pkg; Pkg.add("Cxx");"
  5. Import "Cxx" as "using Cxx". This call fails with below error.

julia> using Cxx
[ Info: Precompiling Cxx [a0b5b9ef-44b7-5148-a2d1-f6db19f3c3d2]
free(): invalid pointer

signal (6): Aborted
in expression starting at /home/prashant/.julia/packages/Cxx/UZsgx/src/Cxx.jl:178
__libc_signal_restore_set at /build/glibc-OTsEL5/glibc-2.27/signal/../sysdeps/unix/sysv/linux/nptl-signals.h:80 [inlined]
raise at /build/glibc-OTsEL5/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:48
abort at /build/glibc-OTsEL5/glibc-2.27/stdlib/abort.c:79
__libc_message at /build/glibc-OTsEL5/glibc-2.27/libio/../sysdeps/posix/libc_fatal.c:181
malloc_printerr at /build/glibc-OTsEL5/glibc-2.27/malloc/malloc.c:5350
_int_free at /build/glibc-OTsEL5/glibc-2.27/malloc/malloc.c:4157 [inlined]
__libc_free at /build/glibc-OTsEL5/glibc-2.27/malloc/malloc.c:3124
_ZN4llvm19SmallPtrSetImplBase4GrowEj at /softwares/install/julia/julia_local/julia-1.3.1/usr/bin/../lib/libLLVM-6.0.so (unknown line)
_ZN4llvm19SmallPtrSetImplBase14insert_imp_bigEPKv at /softwares/install/julia/julia_local/julia-1.3.1/usr/bin/../lib/libLLVM-6.0.so (unknown line)
_ZN4llvm11LLVMContext9addModuleEPNS_6ModuleE at /softwares/install/julia/julia_local/julia-1.3.1/usr/bin/../lib/libLLVM-6.0.so (unknown line)
_ZN4llvm6ModuleC2ENS_9StringRefERNS_11LLVMContextE at /softwares/install/julia/julia_local/julia-1.3.1/usr/bin/../lib/libLLVM-6.0.so (unknown line)
finish_clang_init at /home/prashant/.julia/packages/Cxx/UZsgx/deps/../src/bootstrap.cpp:1504
init_clang_instance at /home/prashant/.julia/packages/Cxx/UZsgx/deps/../src/bootstrap.cpp:1610
#setup_instance#20 at /home/prashant/.julia/packages/Cxx/UZsgx/src/initialization.jl:39
#setup_instance at ./tuple.jl:0 [inlined]
init at /home/prashant/.julia/packages/Cxx/UZsgx/src/initialization.jl:428
unknown function (ip: 0x7f0b9db2ba1b)
_jl_invoke at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2141 [inlined]
jl_apply_generic at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2305
jl_apply at /softwares/install/julia/julia_local/julia-1.3.1/src/julia.h:1631 [inlined]
do_call at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:328
eval_value at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:417
eval_stmt_value at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:368 [inlined]
eval_body at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:778
jl_interpret_toplevel_thunk_callback at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:888
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f0bb57ec00f)
unknown function (ip: 0xffffffffffffffff)
jl_interpret_toplevel_thunk at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:897
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:814
jl_eval_module_expr at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:181
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:640
jl_eval_module_expr at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:181
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:640
jl_parse_eval_all at /softwares/install/julia/julia_local/julia-1.3.1/src/ast.c:873
jl_load at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:878
include at ./boot.jl:328 [inlined]
include_relative at ./loading.jl:1105
include at ./Base.jl:31
_jl_invoke at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2135 [inlined]
jl_apply_generic at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2305
jl_apply at /softwares/install/julia/julia_local/julia-1.3.1/src/julia.h:1631 [inlined]
do_call at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:328
eval_value at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:417
eval_stmt_value at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:368 [inlined]
eval_body at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:778
eval_body at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:705
jl_interpret_toplevel_thunk_callback at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:888
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f0bb4f5c98f)
unknown function (ip: 0x2)
jl_interpret_toplevel_thunk at /softwares/install/julia/julia_local/julia-1.3.1/src/interpreter.c:897
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:814
jl_toplevel_eval_in at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:843
eval at ./boot.jl:330 [inlined]
eval at ./client.jl:425
_jl_invoke at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2135 [inlined]
jl_apply_generic at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2305
top-level scope at ./none:3
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:808
jl_toplevel_eval_flex at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:764
jl_toplevel_eval_in at /softwares/install/julia/julia_local/julia-1.3.1/src/toplevel.c:843
eval at ./boot.jl:330
_jl_invoke at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2135 [inlined]
jl_apply_generic at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2305
exec_options at ./client.jl:263
_start at ./client.jl:460
jfptr__start_2084 at /softwares/install/julia/julia_local/julia-1.3.1/usr/lib/julia/sys.so (unknown line)
_jl_invoke at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2135 [inlined]
jl_apply_generic at /softwares/install/julia/julia_local/julia-1.3.1/src/gf.c:2305
jl_apply at /softwares/install/julia/julia_local/julia-1.3.1/ui/../src/julia.h:1631 [inlined]
true_main at /softwares/install/julia/julia_local/julia-1.3.1/ui/repl.c:96
main at /softwares/install/julia/julia_local/julia-1.3.1/ui/repl.c:217
__libc_start_main at /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
_start at /softwares/install/julia/julia_local/julia-1.3.1/usr/bin/julia (unknown line)
Allocations: 1653663 (Pool: 1653217; Big: 446); GC: 2
ERROR: Failed to precompile Cxx [a0b5b9ef-44b7-5148-a2d1-f6db19f3c3d2] to /home/prashant/.julia/compiled/v1.3/Cxx/ESGkI_AtmJX.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
[3] _require(::Base.PkgId) at ./loading.jl:1024
[4] require(::Base.PkgId) at ./loading.jl:922
[5] require(::Module, ::Symbol) at ./loading.jl:917

System Information:
Linux curiosity 5.3.0-26-generic #28~18.04.1-Ubuntu

julia information:
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

I am also getting the same error on Windows 10 64 bits, same steps for reproducing as the ones listed by princethewinner above, minus step 2 (run make make USE_BINARYBUILDER=0):

julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

(slb) pkg> status
    Status `C:\Users\Ismael_Venegas\slb\Project.toml`
  [a0b5b9ef] Cxx v0.3.3
  [1f15a43c] CxxWrap v0.8.2

julia> using Cxx
[ Info: Precompiling Cxx [a0b5b9ef-44b7-5148-a2d1-f6db19f3c3d2]

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 0x7021e340 -- _ZN4llvm19SmallPtrSetImplBase4GrowEj at C:\Users\Ismael_Venegas\AppData\Local\Julia-1.3.1\bin\LLVM.dll (unknown line)
in expression starting at C:\Users\Ismael_Venegas\.julia\packages\Cxx\UZsgx\src\Cxx.jl:178
_ZN4llvm19SmallPtrSetImplBase4GrowEj at C:\Users\Ismael_Venegas\AppData\Local\Julia-1.3.1\bin\LLVM.dll (unknown line)
_ZN4llvm19SmallPtrSetImplBase14insert_imp_bigEPKv at C:\Users\Ismael_Venegas\AppData\Local\Julia-1.3.1\bin\LLVM.dll (unknown line)
_ZN4llvm11LLVMContext9addModuleEPNS_6ModuleE at C:\Users\Ismael_Venegas\AppData\Local\Julia-1.3.1\bin\LLVM.dll (unknown line)
finish_clang_init at C:\Users\Ismael_Venegas\.julia\packages\Cxx\UZsgx\deps\usr\bin\libcxxffi.DLL (unknown line)
init_clang_instance at C:\Users\Ismael_Venegas\.julia\packages\Cxx\UZsgx\deps\usr\bin\libcxxffi.DLL (unknown line)
#setup_instance#20 at C:\Users\Ismael_Venegas\.julia\packages\Cxx\UZsgx\src\initialization.jl:39
#setup_instance at .\tuple.jl:0 [inlined]
__init__ at C:\Users\Ismael_Venegas\.julia\packages\Cxx\UZsgx\src\initialization.jl:428
unknown function (ip: 0000000029E14C93)
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2141 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1631 [inlined]
do_call at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:328
eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:417
eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:368 [inlined]
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:764
jl_interpret_toplevel_thunk_callback at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:888
unknown function (ip: FFFFFFFFFFFFFFFE)
unknown function (ip: 0000000011B9028F)
unknown function (ip: FFFFFFFFFFFFFFFF)
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:814
jl_eval_module_expr at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:181
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:640
jl_eval_module_expr at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:181
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:640
jl_parse_eval_all at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\ast.c:873
jl_load at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:878 [inlined]
jl_load_ at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:885
include at .\boot.jl:328 [inlined]
include_relative at .\loading.jl:1105
include at .\Base.jl:31
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1631 [inlined]
do_call at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:328
eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:417
eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:368 [inlined]
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:764
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:705
jl_interpret_toplevel_thunk_callback at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:888
unknown function (ip: FFFFFFFFFFFFFFFE)
unknown function (ip: 00000000109B0A8F)
unknown function (ip: 0000000000000002)
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:814
jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:823 [inlined]
jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:843
eval at .\boot.jl:330 [inlined]
eval at .\client.jl:425
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305
top-level scope at .\none:3
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:808
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764
jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:823 [inlined]
jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:843
eval at .\boot.jl:330
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305
exec_options at .\client.jl:263
_start at .\client.jl:460
jfptr__start_2086.clone_1 at C:\Users\Ismael_Venegas\AppData\Local\Julia-1.3.1\lib\julia\sys.dll (unknown line)
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305
unknown function (ip: 00000000004017DD)
unknown function (ip: 0000000000401BC5)
unknown function (ip: 00000000004013DE)
unknown function (ip: 000000000040151A)
BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
Allocations: 1667715 (Pool: 1667267; Big: 448); GC: 2
ERROR: Failed to precompile Cxx [a0b5b9ef-44b7-5148-a2d1-f6db19f3c3d2] to C:\Users\Ismael_Venegas\.julia\compiled\v1.3\Cxx\ESGkI_EpylG.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1283
 [3] _require(::Base.PkgId) at .\loading.jl:1024
 [4] require(::Base.PkgId) at .\loading.jl:922
 [5] require(::Module, ::Symbol) at .\loading.jl:917

julia>

Please run add Cxx.jl#master if you wanna use Cxx.jl on Julia-v1.3+. I think we need to have #453 fixed before tagging a new stable release.