<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9825" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2014-03-12T19:33:58+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9825</id>

		<entry>
		<author><name><![CDATA[frownmonkey]]></name></author>
		<updated>2014-03-12T19:33:58+00:00</updated>

		<published>2014-03-12T19:33:58+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=33156#p33156</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=33156#p33156"/>
		<title type="html"><![CDATA[Frequent asserts in multi-thread dispatching after 2.82]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=33156#p33156"><![CDATA[
I am seeing very frequent asserts (4 per pair per tick) when using a multi-threaded dispatcher that is related to a recent change from 2.81 to 2.82. The code that is directly causing the asserts was added in r2637. This does not happen in a single-threaded model. <br><br>The full path to the asserts starts in SpuCatheringCollisionTask.cpp around line 727 in ProcessSpuConvexConvexCollision() where two btConvexPointCloudShape are created on the stack. New btConvexPointCloudShape objects have m_isLocalAabbValid set to false by default. And the setPoints() function is invoked such that AABB recalculation is disabled. When these stack objects are eventually passed on to btGjkPairDetector::getClosestPoints() they have not had recalcLocalAabb() called and m_isLocalAabbValid is still false. This is causing the asserts to arise in the new code from r2637 which invokes getAabb() (line 454/457) on those collision objects.<br><br>I can work around this for now by setting m_fixContactNormalDirection in btGjkPairDetector to false. But I'd rather not since the description on the fix sounds rather important.<br><br>BTW, thanks for the great work on Bullet.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10771">frownmonkey</a> — Wed Mar 12, 2014 7:33 pm</p><hr />
]]></content>
	</entry>
	</feed>
