This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Infinite recursion in DenseCoeffsBase::packet

Tags: None
(comma "," separated)
antoche
Registered Member
Posts
5
Karma
0
Hi,

I'm hitting a stack overflow using Eigen 3.2.1. Eigen::DenseCoeffsBase::packet< Eigen::ReturnByValue<Eigen::internal::inverse_impl< Eigen::Matrix<float,4,4,1,4,4> > >, 0>::packet<1>() keeps calling itself (DenseCoeffsBase.h line 212).

This is on code that has been running fine up till now. I was suspecting we're screwing up the stack somewhere, but then looking at the code I can't see how that can't infinitely recurse, unless derived() is guaranteed to be of a type that has a different packet() method. I'm getting a bit lost in the template and type maze so I'm not sure what should happen. In practice that function seems to be definitely calling itself...

I had a quick look at the changelog but can't find anything mentioning packet() specifically.

I'll post a traceback shortly, it just needs to go through some red tape.

Thanks,
A.
antoche
Registered Member
Posts
5
Karma
0
And here's a stack trace.

Code: Select all
#0  0x00007fffc67b945c in Eigen::EigenBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > >::derived (
    this=<error reading variable: Cannot access memory at address 0x7fffff7feff8>) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/EigenBase.h:36
#1  0x00007fffc6827952 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#2  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#3  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#4  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#5  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#6  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#7  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#8  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#9  0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212

... (more of the same) ...

#172204 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                             
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                             
#172205 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                             
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                             
#172206 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                             
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                             
#172207 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                             
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                           
#172208 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                           
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                           
#172209 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                           
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212                                                                                                                                                                                                                                                                                                                                                           
#172210 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)                                                                                                                                                                                                                                                           
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#172211 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#172212 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#172213 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#172214 0x00007fffc6827965 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7ffffffe1820, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#172215 0x00007fffc6827784 in Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 1, 4, 4>, 1>::copyPacket<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 1, 1> (
    this=0x7ffffffe1630, row=0, col=0, other=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:521
#172216 0x00007fffc6827510 in Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 1, 4, 4>, 1>::copyPacketByOuterInner<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 1, 1> (
    this=0x7ffffffe1630, outer=0, inner=0, other=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:548
#172217 0x00007fffc68272bd in Eigen::internal::assign_innervec_CompleteUnrolling<Eigen::Matrix<float, 4, 4, 1, 4, 4>, Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0, 16>::run (
    dst=Eigen::Matrix<float,4,4,RowMajor> (data ptr: 0x7ffffffe1630) = {...}, src=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:206
#172218 0x00007fffc68270f7 in Eigen::internal::assign_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4>, Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 2, 2, 0>::run (
    dst=Eigen::Matrix<float,4,4,RowMajor> (data ptr: 0x7ffffffe1630) = {...}, src=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:342
#172219 0x00007fffc6826d98 in Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 1, 4, 4> >::lazyAssign<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7ffffffe1630, other=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:499
#172220 0x00007fffc6826767 in Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 1, 4, 4> >::lazyAssign<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7ffffffe1630,
    other=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/PlainObjectBase.h:414
#172221 0x00007fffc6825c39 in Eigen::Ref<Eigen::Matrix<float, 4, 4, 1, 4, 4> const, 0, Eigen::OuterStride<-1> >::construct<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (
    this=0x7ffffffe1610, expr=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Ref.h:246
#172222 0x00007fffc6824792 in Eigen::Ref<Eigen::Matrix<float, 4, 4, 1, 4, 4> const, 0, Eigen::OuterStride<-0x00000000000000001> >::Ref<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7ffffffe1610, expr=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Ref.h:232
antoche
Registered Member
Posts
5
Karma
0
This seems to be happening when passing an inverse() call to a method expecting a const Ref<>. I'll post a test case shortly.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
I see that you are using Eigen 3.2.1. Does this still occur with 3.2.5?
antoche
Registered Member
Posts
5
Karma
0
We haven't got 3.2.5 installed yet, I'll give it a go. Is there any fix between 3.2.1 and 3.2.5 that would address this?

Here's the test case. When building in optimized mode (-O3 and removing -fno-inline), the infinite recursion seems to be turning into an infinite loop.

test.cc:
Code: Select all
#define EIGEN_DONT_PARALLELIZE

#include <Eigen/Core>
#include <Eigen/LU>

typedef Eigen::Matrix<float,4,4,Eigen::RowMajor> mat44f;

mat44f transform( const Eigen::Ref<const mat44f>& a, const Eigen::Ref<const mat44f>& b )
{
    return b.inverse() * a;
}


int main( int , const char**  )
{
    mat44f a;
    a << 1,2,3,4, 1,2,3,4, 1,2,3,4, 1,2,3,4;
    mat44f b;
    b << 2,3,4,5, 2,3,4,5, 2,3,4,5, 2,3,4,5;
    mat44f fooBar = b.inverse() * a;        // This passes
    fooBar = transform( a, b.inverse() );   // This crashes
   
    return 0;
}


build:
Code: Select all
/usr/bin/g++-4.4 -pipe -march=core2 -mtune=core2 -m64 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -fPIC -fmessage-length=0 -fno-dollars-in-identifiers -fdiagnostics-show-option -frecord-gcc-switches -Wall -Wpointer-arith -Wcast-qual -Wwrite-strings -Wmissing-format-attribute -Wpacked -Winvalid-pch -Winit-self -Wundef -pthread -fopenmp -std=c++0x -ffor-scope -fno-gnu-keywords -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wno-invalid-offsetof -Wall -Werror -Wextra -Wconversion -Wno-error=conversion -msse4.1 -std=c++0x -fno-inline -ggdb -O0 -I${EIGEN_INCLUDE} test.cc -o test


stack trace:
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
0x0000000000404a98 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=<error reading variable: Cannot access memory at address 0x7fffff7feff8>)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:208
208         EIGEN_STRONG_INLINE PacketReturnType packet(Index row, Index col) const
(gdb) bt
#0  0x0000000000404a98 in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=<error reading variable: Cannot access memory at address 0x7fffff7feff8>)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:208
#1  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#2  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#3  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#4  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#5  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#6  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#7  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#8  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#9  0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#10 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#11 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#12 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#13 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#14 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#15 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212

[...]

#174587 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174588 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174589 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174590 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174591 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174592 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174593 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174594 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174595 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174596 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174597 0x0000000000404abb in Eigen::DenseCoeffsBase<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0>::packet<1> (this=0x7fffffffd540, row=0, col=0)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:212
#174598 0x00000000004047be in Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 1, 4, 4>, 1>::copyPacket<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 1, 1> (this=0x7fffffffd360, row=0, col=0, other=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:521
#174599 0x00000000004043ca in Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 4, 1, 4, 4>, 1>::copyPacketByOuterInner<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 1, 1> (this=0x7fffffffd360, outer=0, inner=0, other=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/DenseCoeffsBase.h:548
#174600 0x0000000000403fd8 in Eigen::internal::assign_innervec_CompleteUnrolling<Eigen::Matrix<float, 4, 4, 1, 4, 4>, Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 0, 16>::run (
    dst=Eigen::Matrix<float,4,4,RowMajor> (data ptr: 0x7fffffffd360) = {...}, src=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:206
#174601 0x0000000000402eff in Eigen::internal::assign_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4>, Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > >, 2, 2, 0>::run (
    dst=Eigen::Matrix<float,4,4,RowMajor> (data ptr: 0x7fffffffd360) = {...}, src=...) at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:342
#174602 0x0000000000402984 in Eigen::DenseBase<Eigen::Matrix<float, 4, 4, 1, 4, 4> >::lazyAssign<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7fffffffd360, other=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Assign.h:499
#174603 0x0000000000401fdb in Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 4, 1, 4, 4> >::lazyAssign<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7fffffffd360, other=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/PlainObjectBase.h:414
#174604 0x0000000000401793 in Eigen::Ref<Eigen::Matrix<float, 4, 4, 1, 4, 4> const, 0, Eigen::OuterStride<-1> >::construct<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7fffffffd340, expr=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Ref.h:246
#174605 0x0000000000401210 in Eigen::Ref<Eigen::Matrix<float, 4, 4, 1, 4, 4> const, 0, Eigen::OuterStride<-0x00000000000000001> >::Ref<Eigen::ReturnByValue<Eigen::internal::inverse_impl<Eigen::Matrix<float, 4, 4, 1, 4, 4> > > > (this=0x7fffffffd340, expr=...)
    at .../libeigen/3.2.1/opt/gcc-4.4/include/Eigen/src/Core/Ref.h:232
#174606 0x0000000000400b49 in main () at test.cc:21
(gdb)
antoche
Registered Member
Posts
5
Karma
0
Just tried with 3.2.5, and the crash is gone. Is there something in the changelog that would explain it? I can't quite tell what it could be.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]