Skip to content

Conversation

@james-d-mitchell
Copy link
Member

No description provided.

@james-d-mitchell james-d-mitchell added the wip Label for PRs that are work in progress label Nov 11, 2025
@james-d-mitchell james-d-mitchell marked this pull request as draft November 12, 2025 10:07
@james-d-mitchell james-d-mitchell force-pushed the hpcombi branch 4 times, most recently from bbc4d86 to ce4c773 Compare November 20, 2025 12:47
@james-d-mitchell
Copy link
Member Author

@Joseph-Edwards any chance you can see if you can reproduce the failures on your computer? Everything passes for me compiling with clang or gcc (13.4), so I imagine this might be an architecture issue. You need to add CXXFLAGS="-fpermissive -flax-vector-conversions" to pip before it will compile

@Joseph-Edwards
Copy link
Collaborator

@Joseph-Edwards any chance you can see if you can reproduce the failures on your computer?

I'm getting this when running test_cong.py:


Stack trace (most recent call last):
#31   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1bc1642, in 
#30   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1bc1ab5, in Py_RunMain
#29   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1c233f3, in 
#28   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1c234f5, in 
#27   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1c2354f, in 
#26   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1c23d1e, in 
#25   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1c24906, in 
#24   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a7cf61, in 
#23   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a8366e, in PyEval_EvalCode
#22   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a83960, in 
#21   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a52bd5, in 
#20   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a52910, in PyObject_Call
#19   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a14a4d, in 
#18   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a14ed3, in 
#17   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a0cd6a, in 
#16   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1b1bfe6, in 
#15   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1b1c148, in 
#14   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1b1c2ce, in _PyEval_EvalFrameDefault
#13   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a277d1, in 
#12   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1b22146, in 
#11   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a8366e, in PyEval_EvalCode
#10   Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a83960, in 
#9    Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a52bd5, in 
#8    Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1d65180, in 
#7    Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a3c5a6, in _PyObject_MakeTpCall
#6    Object "[...]/libsemigroups_pybind11/.venv/bin/python3", at 0x1a31d7b, in 
#5    Object "[...]/libsemigroups_pybind11/.venv/lib/python3.14/site-packages/_libsemigroups_pybind11.cpython-314-x86_64-linux-gnu.so", at 0x77f0031d2189, in 
#4    Object "[...]/libsemigroups_pybind11/.venv/lib/python3.14/site-packages/_libsemigroups_pybind11.cpython-314-x86_64-linux-gnu.so", at 0x77f003318cc1, in 
#3    Object "[...]/libsemigroups_pybind11/.venv/lib/python3.14/site-packages/_libsemigroups_pybind11.cpython-314-x86_64-linux-gnu.so", at 0x77f003318411, in 
#2    Object "[...]/libsemigroups_pybind11/.venv/lib/python3.14/site-packages/_libsemigroups_pybind11.cpython-314-x86_64-linux-gnu.so", at 0x77f0033180f1, in 
#1    Object "/usr/local/lib/libsemigroups.so.3", at 0x77f008cc059c, in libsemigroups::IsObviouslyInfinite::~IsObviouslyInfinite()
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x77f00caadd55, in __libc_free
Segmentation fault (Address not mapped to object [0x129])

Investigating now

@Joseph-Edwards
Copy link
Collaborator

With debug enabled we get a big more:

#8    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3c801f, in libsemigroups::IsObviouslyInfinite::~IsObviouslyInfinite()
#7    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3caced, in Eigen::Matrix<long, -1, -1, 0, -1, -1>::~Matrix()
#6    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3caccd, in Eigen::PlainObjectBase<Eigen::Matrix<long, -1, -1, 0, -1, -1> >::~PlainObjectBase()
#5    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3cb870, in Eigen::DenseStorage<long, -1, -1, -1, 0>::~DenseStorage()
#4    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3ccfab, in void Eigen::internal::conditional_aligned_delete_auto<long, true>(long*, unsigned long)
#3    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3ce7fb, in void Eigen::internal::conditional_aligned_free<true>(void*)
#2    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3ca53a, in Eigen::internal::aligned_free(void*)
#1    Object "/usr/local/lib/libsemigroups.so.3", at 0x76cbba3ca402, in Eigen::internal::handmade_aligned_free(void*)
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x76cbc38add55, in __libc_free
Segmentation fault (Address not mapped to object [0x129])

@Joseph-Edwards
Copy link
Collaborator

You need to add CXXFLAGS="-fpermissive -flax-vector-conversions" to pip before it will compile

It seems like -flax-vector-conversions is the culprit here. I'm not really sure where to go from here, but this seems to be what is causing the problem (and explains why the errors have nothing to do with HPCombi)

@james-d-mitchell
Copy link
Member Author

I've tried moving the compiler flags into setup.py, if the there's still a seg fault in the linux tests, I'll just add --disable-eigen when we are building libsemigroups. This does leave the question of what to do about the conda feedstocks: libsemigroups currently is compiled there with --enable-eigen, which might mean that the python bindings test fail when installed via conda. We could just disable eigen there too I suppose. We might have to make some releases to check what happens.

@james-d-mitchell james-d-mitchell changed the title hpcombi: support Vect16 + PTransf16 + Transf16 hpcombi: support Vect16 + PTransf16 + subclasses Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wip Label for PRs that are work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants