[vtkusers] Error during cleanup: wglMakeCurrent failed in Clean()

André Prins a.h.prins at gmail.com
Thu Nov 26 06:34:40 EST 2009


Dear All,

A few months ago I experienced similar problems. My application was
crashing or causing heap corruptions when closing the vtkRenderWindow
on my pc at work. On my Netbook it could even result in a BSOD and an
immediate reboot. At home with NVidia hardware everything worked fine.

I finally traced the bug up to "ig4icd32.dll: OpenGL(R) Driver for
Intel(R) Graphics Accelerator.": somewhere around the SetPixelFormat()
method. From there on, debugging became a lot more difficult and I
decided to upgrade my Intel driver to version 6.14.10.5047.

Regards,
André

On Wed, Nov 25, 2009 at 10:56 PM, Francois Bertel
<francois.bertel at kitware.com> wrote:
> error 6 is ERROR_INVALID_HANDLE
>
> ref: http://help.netop.com/support/errorcodes/win32_error_codes.htm
>
> the line vtkWin32OpenGLRenderWindow::Clean() that triggers this error code is:
>
> wglMakeCurrent(NULL, NULL);
>
> According to the spec, NULL is a valid handle. Maybe it is a bug on MFC side?
> Which Windows version/Visual Studio do you have?
>
>
> On Wed, Nov 25, 2009 at 4:41 PM, Zamir Khan <zkhan at modusmed.com> wrote:
>> I believe I've fixed the activation context exception (thanks for the help
>> there!), but the initial problem still remains - changing the order of the
>> cleanup did not help, any other thoughts?
>>
>> Is there a good example of the specific order that VTK object cleanup should
>> occur in and any specialized calls to be aware of (i.e. Finalize,
>> RemoveAllViewProps, etc)?
>>
>> Francois Bertel wrote:
>>>
>>> Googling the error message you just gave, shows it has to do with MFC
>>> and maybe related to call to
>>> ActivateActCtx(); / DeactivateActCtx(); in some wrong order.
>>>
>>> On Wed, Nov 25, 2009 at 11:51 AM, Zamir Khan <zkhan at modusmed.com>
>>> <mailto:zkhan at modusmed.com%3E> wrote:
>>> > Thanks Francois - I have tried this before (it *does* seem the logical
>>> > thing
>>> > to do), but the initial problem remains and I also then see an
>>> > additional
>>> > exception occur on all platforms:
>>> >
>>> > "Unhandled exception at 0x77644401 in XXXX.exe: 0xC015000F: The
>>> > activation
>>> > context being deactivated is not the most recently activated one."
>>> >
>>> > It could be that this is a step in the right direction, but more changes
>>> > are
>>> > needed - I'm not sure!
>>> >
>>> > Francois Bertel wrote:
>>> >>
>>> >> Hello,
>>> >>
>>> >> Swap your two parts: delete the renderer first and then the
>>> >> renderwindow.
>>> >>
>>> >>
>>> >> The reason is that RemoveAllViewProps() (implemented in
>>> >> vtkViewport.cxx, superclass of vtkRenderer) calls
>>> >> ReleaseGraphicsResources() on each prop which requires (indirectly) a
>>> >> valid window. For example, a prop like vtkActor will call
>>> >> ReleaseGraphicsResources() on its texture to release the OpenGL
>>> >> texture object id.
>>> >>
>>> >>
>>> >> On Wed, Nov 25, 2009 at 11:19 AM, Zamir Khan <zkhan at modusmed.com>
>>> >> <mailto:zkhan at modusmed.com%3E>
>>> >> <mailto:zkhan at modusmed.com%3E> <mailto:zkhan at modusmed.com%3E%3E> wrote:
>>> >> > I am seeing the following errors from a VTK 5 / MFC application when
>>> >> > I
>>> >> > close
>>> >> > it:
>>> >> >
>>> >> > ERROR: In ..\..\Rendering\vtkWin32OpenGLRenderWindow.cxx, line 113
>>> >> > vtkWin32OpenGLRenderWindow (0685AF70): wglMakeCurrent failed in
>>> >> > Clean(),
>>> >> > error: 6
>>> >> >
>>> >> > ERROR: In ..\..\Rendering\vtkWin32OpenGLRenderWindow.cxx, line 113
>>> >> > vtkWin32OpenGLRenderWindow (0698BAE8): wglMakeCurrent failed in
>>> >> > Clean(),
>>> >> > error: 6
>>> >> >
>>> >> > The error will appear 2 or 3 times in the debug output file,
>>> >> > depending
>>> >> > on
>>> >> > what actions I have taken in the program (I assume for the instances
>>> >> > of
>>> >> > vtkRenderWindow that are problematic). Also, I can only reproduce it
>>> >> > on
>>> >> > certain platforms (doesn't happen on machine with NVIDIA, but does on
>>> >> > machine with Intel integrated graphics). I have searched the mailing
>>> >> > list
>>> >> > and the recommendation appears to be to make sure to Finalize() the
>>> >> > vtkRenderWindow (there are 3 of them being instantiated in this
>>> >> > application). In the destructor of each of the classes that
>>> >> > instantiate
>>> >> > vtkRenderWindows, I have the following code snippets:
>>> >> >
>>> >> >   if (renWin)
>>> >> >   {
>>> >> >       renWin->Finalize();
>>> >> >       renWin->Delete();
>>> >> >   }
>>> >> >   if (renderer)
>>> >> >   {
>>> >> >       renderer->RemoveAllViewProps();
>>> >> >       renderer->Delete();
>>> >> >   }
>>> >> >
>>> >> > However, this does not resolve the issue. Any help is appreciated!
>>> >> >
>>> >> > Thanks,
>>> >> > Zamir
>>> >> >
>>> >> > --
>>> >> > Zamir Khan
>>> >> > Modus Medical Devices
>>> >> > e-mail: zkhan at modusmed.com <mailto:zkhan at modusmed.com>
>>> >> > <mailto:zkhan at modusmed.com> <mailto:zkhan at modusmed.com%3E>
>>> >> >
>>> >> > _______________________________________________
>>> >> > Powered by www.kitware.com
>>> >> >
>>> >> > Visit other Kitware open-source projects at
>>> >> > http://www.kitware.com/opensource/opensource.html
>>> >> >
>>> >> > Please keep messages on-topic and check the VTK FAQ at:
>>> >> > http://www.vtk.org/Wiki/VTK_FAQ
>>> >> >
>>> >> > Follow this link to subscribe/unsubscribe:
>>> >> > http://www.vtk.org/mailman/listinfo/vtkusers
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> François Bertel, PhD | Kitware Inc. Suite 204
>>> >> 1 (518) 371 3971 x113 | 28 Corporate Drive
>>> >> | Clifton Park NY 12065, USA
>>> >> _______________________________________________
>>> >> Powered by www.kitware.com
>>> >>
>>> >> Visit other Kitware open-source projects at
>>> >> http://www.kitware.com/opensource/opensource.html
>>> >>
>>> >> Please keep messages on-topic and check the VTK FAQ at:
>>> >> http://www.vtk.org/Wiki/VTK_FAQ
>>> >>
>>> >> Follow this link to subscribe/unsubscribe:
>>> >> http://www.vtk.org/mailman/listinfo/vtkusers
>>> >>
>>> >> ------------------------------------------------------------------------
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> François Bertel, PhD | Kitware Inc. Suite 204
>>> 1 (518) 371 3971 x113 | 28 Corporate Drive
>>> | Clifton Park NY 12065, USA
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>> ------------------------------------------------------------------------
>>
>>
>
>
>
> --
> François Bertel, PhD  | Kitware Inc. Suite 204
> 1 (518) 371 3971 x113 | 28 Corporate Drive
>                      | Clifton Park NY 12065, USA
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



More information about the vtkusers mailing list