Ask Your Question
0

Viz3d removeWidget RtlValidateHeap

asked 2016-03-24 09:54:17 -0600

acajic gravatar image

An error occurs when trying to remova a widget from a Viz3d window. The error only occurs using a Release configuration in Visual Studio. When using Debug configuration, everything works fine.

HEAP[ArUco.exe]: Invalid address specified to RtlValidateHeap( 00000000003B0000, 0000000014BC8BC0 )

The call stack at the moment of exception looks like this:

image description

At the bottom, we can see removeWidget method being called. It then goes through a long chain of VTK calls. Among other calls, I see "garbage collector" so I assume something is wrongly trying to get deallocated. (?)

I an altered code, if I perform

viz::Widget widg = measurementsWindow->getWidget(id);

before calling

removeWidget(id)

then the error is delayed. It is delayed up until the point when execution leaves the current scope. The scope in which widg object lives. When this widg object tries to get deallocated, the same error occurs.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2019-11-20 03:51:54 -0600

I had similar issue. Making sure that I use Debug DLL's of VTK together with the Debug build of OpenCV and my application seems to solve the problem. My suggestion is: Don't mix debug and release versions of both libraries.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2016-03-24 09:54:17 -0600

Seen: 350 times

Last updated: Mar 24 '16