JuliaInterop / libcxxwrap-julia

C++ library for backing CxxWrap.jl
Other
85 stars 43 forks source link

ICE on linux with GCC 10.3 #105

Closed SylvainCorlay closed 2 years ago

SylvainCorlay commented 2 years ago

It seems that the release from a few days ago causes an internal compiler error with GCC 10.3 on linux-64.

cf https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=495914&view=logs&jobId=656edd35-690f-5c53-9ba3-09c10d0bea97

[ 41%] Building CXX object CMakeFiles/cxxwrap_julia_stl.dir/src/stl.cpp.o
during RTL pass: expand
In file included from /home/conda/feedstock_root/build_artifacts/libcxxwrap-julia_1650582518778/work/include/jlcxx/jlcxx.hpp:16,
                 from /home/conda/feedstock_root/build_artifacts/libcxxwrap-julia_1650582518778/work/src/stl.cpp:5:
/home/conda/feedstock_root/build_artifacts/libcxxwrap-julia_1650582518778/work/include/jlcxx/smart_pointers.hpp: In function 'int jlcxx::TypeWrapper<T>::apply_internal(FunctorT&&) [with AppliedT = std::unique_ptr<bool>; FunctorT = jlcxx::smartptr::WrapSmartPointer; T = jlcxx::Parametric<jlcxx::TypeVar<1> >]':
/home/conda/feedstock_root/build_artifacts/libcxxwrap-julia_1650582518778/work/include/jlcxx/smart_pointers.hpp:141:28: internal compiler error: Segmentation fault
  141 |     wrapped.module().method("__cxxwrap_smartptr_dereference", DereferenceSmartPointer<WrappedT>::apply);
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please submit a full bug report,
SylvainCorlay commented 2 years ago

Info: the ICE on GCC 10.3 also occurs with the previous version.

sliwowitz commented 2 years ago

I get the same ICE with GCC 12.1.1 (on Fedora 36) both this and the previous version.

jschueller commented 2 years ago

also got this one with gcc 12.1.0, archlinux, versions >=0.9.x are affected, not 0.8.x

jschueller commented 2 years ago

fixed by 202e2a0990fbef3c0e00dae8335ceb378cd41426, it can be closed I guess

SylvainCorlay commented 2 years ago

Thanks for the heads up @jschueller. It appears that commit 202e2a0 also fixes the ICE on GCC 10.3.

I would greatly appreciate a release of libcxxwrap-julia anc CxxWrap.jl including this fix!

SylvainCorlay commented 2 years ago

Note: I have included this patch in the conda recipe for 0.9.1.

SylvainCorlay commented 2 years ago

I would greatly appreciate a release of libcxxwrap-julia anc CxxWrap.jl including this fix!

cc @barche

barche commented 2 years ago

I released a new version (v0.9.2) of libcxxwrap-julia. Not sure if a new release of CxxWrap is also needed, though? The change is only on the C++ side.

SylvainCorlay commented 2 years ago

I released a new version (v0.9.2) of libcxxwrap-julia. Not sure if a new release of CxxWrap is also needed, though? The change is only on the C++ side.

Thanks, I was able to properly package 0.9.2 without patches. It seems that the version bundled in CxxWrap is still 0.9.1 though, so we may have to release it as well.