build error with DG_USE_THREAD_EMULATION

Report any bugs here and we'll post fixes

Moderators: Sascha Willems, Thomas

build error with DG_USE_THREAD_EMULATION

Postby zak » Sat Jan 13, 2018 12:57 pm

I am having a build error when i try to compile with last version with DG_USE_THREAD_EMULATION defined.
The error is in dgPhysics project in dgGeneralMatrix.h relative to function abs, rows 495,556,557
zak
 
Posts: 87
Joined: Mon Dec 06, 2004 9:30 am

Re: build error with DG_USE_THREAD_EMULATION

Postby Julio Jerez » Sat Jan 13, 2018 2:26 pm

I do not understand the last line of your comment, was that a line number or a function name?

Do the error happens if you build the demos?
Also what build it is, dll, lib, ....
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: build error with DG_USE_THREAD_EMULATION

Postby zak » Sun Jan 14, 2018 5:22 am

I am building the library, Visual Studio 2015 static mt, simply compiling build.sln.
OK in multithreading, but when i define DG_USE_THREAD_EMULATION, i have errors in dgPhysics project building. Visual studio signals 3 errors in the lines number 495,556,557 of the file dgGeneralMatrix.h, relative to the function abs.
zak
 
Posts: 87
Joined: Mon Dec 06, 2004 9:30 am

Re: build error with DG_USE_THREAD_EMULATION

Postby Julio Jerez » Sun Jan 14, 2018 10:48 am

oh yes I see it now, that's actually a serious bug.
I am not sure why it happens when that define enabled and why vs 2013 does not capture it.

Basically it was retorning the integer part of the absulte value of the argumnet.
This function was part of the contact filter for collision three.
dgInt32 dgWorld::PruneContactsByRank(dgInt32 count, dgCollisionParamProxy& proxy, dgInt32 maxCount) const

It always reported wrong results for almost ten years, so I replaced it with a more geometrical algorithm that projects the contact to the convex hull.
I'd never figured out why results where so wrong but now my guess it this was the reason.
The good part is that using that function the contact filter will reduce the set to the absolute minimum where the method I am using now requires lots of heuristics.
This was a very good catch, thanks.

I will try again with 3.15 see if it works.

you can sync, again
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles


Return to Bugs and Fixes

Who is online

Users browsing this forum: No registered users and 7 guests

cron