Re: [eigen] segfault in adjoint unit test |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] segfault in adjoint unit test
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Sat, 29 Aug 2009 17:33:33 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=yC3OFapfqd+pu7cdzl8405pDZRpVqjuXdex8ALAsOpk=; b=x4dOaqCHVmqp7ZeXd7YMNpdFx7TbWA3gKrHQS1jyrx5I+k+4BXzRh8ocYUVoroQKsP kilBvwvRmgGKLTDOnQKTkvIVH7L3TFw3iYm44k74ahOP+plUVF5zxxPHMY7gqMQmsFMR 0G96LSPYhfLkQxYXC2qPI5G0/JFjXofBT0eYk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Ijb5+yIkaJW9wPaMWNu/Ig580YHRqrZ4SJDcLmYYk9oFBhdysT520XEv7PnX5iG3y1 4RNw19QscreVJCo8E1/sn52vTLtdDvg9p5CVVcS5MQ7aQtFVQ3Tk8xHHXI03GIprue+E nTGNhb11IBdOznC66r/hSvZdScX0OAivMW6PY=
As I mentioned before, the error does not occur as soon as O2 is
disabled since that disables inlining as well.
Here is the callstack - unfortunately not very useful due to the inlining.
test_adjoint.exe!Eigen::MatrixBase<Eigen::GeneralProduct<Eigen::Transpose<Eigen::Matrix<float,4,4,0,4,4>>,Eigen::Matrix<float,4,1,0,4,1>,2>
>::dot<Eigen::Matrix<float,4,1,0,4,1> >(const
Eigen::MatrixBase<Eigen::Matrix<float,4,1,0,4,1> > & other={...})
Line 272 + 0xdc bytes C++
test_adjoint.exe!adjoint<Eigen::Matrix<float,4,4,0,4,4> >(const
Eigen::Matrix<float,4,4,0,4,4> & m={...}) Line 84 + 0x61 bytes C++
test_adjoint.exe!test_adjoint() Line 120 + 0x1ca bytes C++
test_adjoint.exe!main(int argc=0, char * * argv=0x0000000000000000)
Line 329 C++
test_adjoint.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
I will try to find out more soon.
- Hauke
On Sat, Aug 29, 2009 at 5:22 PM, Benoit Jacob<jacob.benoit.1@xxxxxxxxx> wrote:
> 2.0 or devel? SSE enabled or not? Just so I can try to reproduce...
>
> can you get a backtrace? perhaps disable assertion checking if that
> helps getting a better backtrace, and make sure the test is compiled
> without -O2...
>
> Benoit
>
> 2009/8/29 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>> Hi,
>>
>> I noticed a segfault in the adjoint unit test. It disappears when I change
>>
>> VERIFY(ei_isApprox(v1.dot(square * v2), square.adjoint() * v1.dot(v2),
>> largerEps));
>>
>> to
>>
>> VERIFY(ei_isApprox(v1.dot(square * v2), (square.adjoint() *
>> v1).eval().dot(v2), largerEps));
>>
>> and it also does not appear when inlining is disabled. I don't know
>> how to nail down the error. I guess it's some nestByValue related
>> issue...
>>
>> Regards,
>> Hauke
>>
>>
>>
>
>
>