FS#68118 - [eigen] bug in {Parallelizer,CommaInitializer}.h

Attached to Project: Arch Linux
Opened by bartus (bartus) - Tuesday, 06 October 2020, 08:13 GMT
Last edited by Antonio Rojas (arojas) - Friday, 09 October 2020, 19:40 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Antonio Rojas (arojas)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

It looks like some bug got through revision process in lattes eigen release v3.3.8
https://gitlab.com/libeigen/eigen/-/issues/2011

Steps to reproduce:

When building some packages depending on eigen (e.q. AUR/chronoengine) I'm getting assertion error:
```
git clone https://aur.archlinux.org/chronoengine.git
cd chronoengine
mapepkg -sr
...
In file included from /usr/include/eigen3/Eigen/Core:88,
from /usr/include/eigen3/Eigen/Dense:1,
from /build/chronoengine/src/chronoengine/src/chrono/core/ChMatrix.h:30,
from /build/chronoengine/src/chronoengine/src/chrono/core/ChVector.h:23,
from /build/chronoengine/src/chronoengine/src/chrono/core/ChFilePS.h:18,
from /build/chronoengine/src/chronoengine/src/chrono/core/ChFilePS.cpp:15:
/usr/include/eigen3/Eigen/src/Core/products/Parallelizer.h: In function ‘void Eigen::internal::parallelize_gemm(const Functor&, Index, Index, Index, bool)’:
/usr/include/eigen3/Eigen/src/Core/products/Parallelizer.h:162:40: error: ‘eigen_assert_exception’ is not a member of ‘Eigen’
162 | if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception());
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/util/Macros.h:1017:34: note: in definition of macro ‘EIGEN_THROW_X’
1017 | # define EIGEN_THROW_X(X) throw X
| ^
make[2]: *** [src/chrono/CMakeFiles/ChronoEngine.dir/build.make:108: src/chrono/CMakeFiles/ChronoEngine.dir/core/ChFilePS.cpp.o] Error 1
```
This task depends upon

Closed by  Antonio Rojas (arojas)
Friday, 09 October 2020, 19:40 GMT
Reason for closing:  Fixed
Additional comments about closing:  eigen 3.3.8-2
Comment by bartus (bartus) - Tuesday, 06 October 2020, 08:17 GMT
Disclaimer: `Eigen::eigen_assert_exception()` is defined in `test/main.h` witch by extend exlude it's usage in `Core` library.
Comment by bartus (bartus) - Tuesday, 06 October 2020, 08:20 GMT
Addendum: Relevant patch awaiting approval https://gitlab.com/libeigen/eigen/-/merge_requests/232
Comment by bartus (bartus) - Tuesday, 06 October 2020, 12:30 GMT
[removed]
Comment by bartus (bartus) - Thursday, 08 October 2020, 08:28 GMT
I've pushed this to AUR, tested with (meshlab/ceres-solver/chronoengine)

https://aur.archlinux.org/packages/eigen-qfix
Comment by bartus (bartus) - Thursday, 08 October 2020, 21:29 GMT
Found another issue with `eigen:3.3.8`
There's a typo in PardisoSupport.
https://gitlab.com/libeigen/eigen/-/merge_requests/238
I've pushed this to AUR:https://aur.archlinux.org/cgit/aur.git/commit/?h=eigen-qfix&id=af6cb08df9c0
Comment by bartus (bartus) - Friday, 09 October 2020, 08:16 GMT
[removed]
Comment by bartus (bartus) - Friday, 09 October 2020, 08:16 GMT
`Pardiso` patch got merged upstream.

Loading...