Eratic behavior with initialization...

Everything related to the code /
Tout ce qui touche au code
Post Reply
milipili
Posts: 545
Joined: Thu Nov 02, 2006 8:52 am
Location: Paris (France)
Contact:

Eratic behavior with initialization...

Post by milipili » Sat Jul 26, 2008 11:17 pm

With the lastest revision, I can highlight some strange eratic bus error with TA3D about TA3D::String not initialized. It looks like we have the same issue with mutexes.

It seems to be related with the use of the new TDF parser. So it is far from impossible that this parser is still buggy (cTAFileParser is the reference for me) and provides some unexpected values.

However, those errors should not occur and since its provides random crashes on OS X, the new priority (for me at least) is to replace all those malloc/free/strdup
Damien Gerard
Ta3d & Yuni Developer

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sat Jul 26, 2008 11:27 pm

I already replaced most of the malloc/free calls with new/delete in 3DO/3DM/OBJ/3DS code. There is still lots of those calls to replace :(
=>;-D Penguin Powered

milipili
Posts: 545
Joined: Thu Nov 02, 2006 8:52 am
Location: Paris (France)
Contact:

Post by milipili » Sun Jul 27, 2008 12:16 am

I know...
But the worst thing for me are not malloc/free... but all char* and all strdup in a C++ program, all Something* to have a list...
Damien Gerard
Ta3d & Yuni Developer

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sun Jul 27, 2008 7:17 am

beware that I sometime used home made lists because std::list is too memory demanding ... for example, the yard map stuffs uses home made lists because it requires half the memory std::list would eat, and since we need a list per map bloc ... it gets huge really fast
=>;-D Penguin Powered

milipili
Posts: 545
Joined: Thu Nov 02, 2006 8:52 am
Location: Paris (France)
Contact:

Post by milipili » Sun Jul 27, 2008 8:32 am

Thanks for the fix it works well.
because std::list is too memory demanding
hum I see. However a std::slist is also available for example, instead of remaking our own linked list. We will see it later in details for this kind of problem.
Damien Gerard
Ta3d & Yuni Developer

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sun Jul 27, 2008 10:31 am

I didn't know about std::slist ... we'll have to look at this in details, but later as you said :)
=>;-D Penguin Powered

Post Reply

Who is online

Users browsing this forum: No registered users and 24 guests