Report a BUG of OCC6.7.1 (OCC6.7.0)

opencascade-6.7.1\src\StdPrs\StdPrs_ShadedShape.cxx

static Standard_Boolean ShadeFromShape (...)

{
...
for (SST.Init (theShape); SST.MoreFace(); SST.NextFace())

{
...
Poly_Connect pc (T);
...
}
...
}

I use vs2008 and VC9 to compile OCC6.7.1 and program. I have find a BUG of OCC6.7.1.

"Poly_Connect pc (T)", ---> This line of code will let the end of the loop happen error. I think the reason is that deconstruction of "Poly_Connect" class is not working correctly. OCC6.7.0 also have this BUG.

james smith's picture

There is certainly a crash issue with Poly_Connect.
The problem seems to appear when compiling the application in release mode. Try compiling your code in debug mode.

james smith's picture

Do you have the OCC libraries in your Path? If you have both debug and release versions, you may be linking against the wrong library version at runtime. Try running both debug and release builds. If one of them works, you are linking against the wrong version at runtime.

Cauchy Ding's picture

I find the same crash problem now (OCC6.7.1). It's crash in descontruction of Poly_Connect. Any idea to fix it? Thanks in advance.

FYI: My main app and OCC 6.7.1 win64 debug version are compiled using /MTd mode.

Ding

Cauchy Ding's picture

I extract the code of Poly_Connect from OCC6.7.1, and create Poly_Connect2.hxx and Poly_Connect2.cxx (class Poly_Connect2). Import those two files into my main app, and run the same code , no crash happened. So I guess the Poly_Connect's configuration in OCC6.7.1 has some problem or some bug introduced by my stupid mistake.
Any further information is welcome. Thanks in advance.

Dan Heeks's picture

Hi, I get the same problem with the latest 64-bit download "6.9.0" for Windows:
http://www.opencascade.org/ex/stats/cnt2.php?code=Occ690win_32&usr=&chw=...

which I downloaded yesterday.

When I linked these 64-bit libraries into my app ( HeeksCAD ), my app works ok, until it comes to render a solid. I use some code where it makes a Poly_Connect object. When the Poly_Connect object goes out of scope, an error occurs in TCollection_Array1::Destroy()

If I build the libs and dlls from source code, it works fine.

Forum supervisor's picture

Hi Dan,

please check that your run-time environment is consistent.
This kind of errors is quite typical when some librraies are linked to release a variant of CRT library and some to debug one.

Regards,
Forum Supervisor

Dan Heeks's picture

Thanks for the reply. What is my run-time environment? I only have Visual Studio 2013 on my computer.
Shouldn't all the libraries, that come with the install of the download, all be Release versions?

Cauchy Ding's picture

Hi Guys,

  I have to face to this bug again. I am using OCC7.0.0 and compile OCC using /MTd runtime in VS2010 (My app also uses /MTd and vs2010). I still got ~Poly_Connect crash.

  How to fix it? Thanks in advance.

Ding