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: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Sun, 30 Aug 2009 22:08:57 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=hNkh8UjQzGT+K9bVXaaRNInPmAegBRBik5k95F3iGls=; b=ripQADPrdOG6EaIrtDWMoVfcRxmGj4RvHgXWPyD3FUlOAkyWTorawPsnt2vvZjCQVA cNMj4wMeHfagoR7p5h2weQj3p8GY8I0jD7TxWJtbcSIuodiill0Fp3tihnu2nwzOtJxO CVw/wgVQvpEGjCBvewYE19pJton3R4BVSOnv8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=SwVKlgG5umgQxyP12jCDnVX6BHRFEYmfAqCq/aKZkPrcjwk6NWkwmOZAOY/zOflGd0 +jA0VyBNKYWng4vIRHf0Lgvm+3MBHxdd1rC8xnqyFNaUIf9xkX+P3kZLpxb7DQa81k0r 9OVglae6gU4iLoNal27qX4xUZtEykWdG6kgKc=
hi
I added an issue on bitbucket so that we (I) don't forget it...
gael
On Sat, Aug 29, 2009 at 5:52 PM, Hauke
Heibel<hauke.heibel@xxxxxxxxxxxxxx> wrote:
> Oh sorry man - of course as always it was the devel branch and SSE
> enabled. Sorry again for being incomplete!
>
> On Sat, Aug 29, 2009 at 5:49 PM, Benoit Jacob<jacob.benoit.1@xxxxxxxxx> wrote:
>> I vaguely infer from your backtrace that it must be the devel branch
>> and SSE enabled, so i tried here with GCC 4.4.1 and -O2 -finline but i
>> can't reproduce, sorry.
>>
>> Benoit
>>
>> 2009/8/29 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>>> 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
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>