Hello.
Please share the code and file to reproduce. Also please share the OCCT version which you are using.
Best regards, Commenter-1.
Archived discussion
Occasionally, a segmentation fault occurs when executing the HLRBRep_Algo::Hide() method. Could you please tell me what might be causing this issue
Discussion
Posts are displayed in their archived order.
Hello.
Please share the code and file to reproduce. Also please share the OCCT version which you are using.
Best regards, Commenter-1.
Occasionally, this issue occurs when the call frequency is high. Could it be a memory allocation problem? The version is 7.8.0
Please also share the code. The frequency means you call it in multithread?
Best regards, Commenter-1.
Hello, the issue has been resolved. The array out-of-bounds exception occurred at the position marked with a red box in the attachment
Do you mean you have swapped conditions to check the range before accessing array value and this solved issue with random crashes, or just localized the crash place?
Standard_Integer im1=0;
- for(i=1; IndUV[i0][i]!=-1 && i<nbUV[i0]; i++,im1++) {
+ for(i=1; i<nbUV[i0] && IndUV[i0][i]!=-1; i++,im1++) {
Check the array range before accessing array values, which is the green line in the image
No multithreading is used.
TopoDS_Shape topoShape;
BRepTools::Read(topoShape, "filename", BRep_Builder());
for (int i = 0; i < 500; i++)
{
HLRAlgo_Projector algoProjector(gp_Ax2(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1)));
Handle(HLRBRep_Algo) pHLRAlgo = new HLRBRep_Algo;
pHLRAlgo->Add(topoShape);
pHLRAlgo->Projector(algoProjector);
pHLRAlgo->Update();
pHLRAlgo->Hide();
}