Community
$ ./fbxread testsuite/TestSuite/Tests/17000/17761/SourceDataset/lines.fbx
Node at position 0: Line001
fbxline->GetEndPointCount(): 1
fbxline->GetEndPointAt(0): 1
Node at position 1: Line002
fbxline->GetEndPointCount(): 1
fbxline->GetEndPointAt(0): 1
Node at position 2: Line003
fbxline->GetEndPointCount(): 3
fbxline->GetEndPointAt(0): 3
fbxline->GetEndPointAt(1): 7
fbxline->GetEndPointAt(2): 10
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so ./fbxread testsuite/TestSuite/Tests/17000/17761/SourceDataset/lines.fbx
Node at position 0: Line001
fbxline->GetEndPointCount(): 1
fbxline->GetEndPointAt(0): 1
Node at position 1: Line002
fbxline->GetEndPointCount(): 0
Node at position 2: Line003
fbxline->GetEndPointCount(): 3
fbxline->GetEndPointAt(0): 3
fbxline->GetEndPointAt(1): 7
fbxline->GetEndPointAt(2): 10
The FBX SDK uses malloc as the default memory allocation. I am not familiar with tcmalloc but it looks like the two memory managements cannot coexist. You can try to switch the memory management functions for the FBX SDK by using the following:
FbxSetMallocHandler(your malloc function);
FbxSetReallocHandler(your realloc function);
FbxSetFreeHandler(your free function);
FbxSetCallocHandler(your calloc function);
since the FbxNew and FbxDelete functions are calling the FbxMalloc/FbxFree functions all the memory management should be redirected to tcmalloc.
Can't find what you're looking for? Ask the community or share your knowledge.