[vtkusers] vtkOpenGLClearErrorMacro() never returns

Bill Lorensen bill.lorensen at gmail.com
Tue Apr 15 11:31:28 EDT 2014


I see 16 is already used as a limit in some other calls, so I'll make that
the default.



On Tue, Apr 15, 2014 at 11:07 AM, Aashish Chaudhary <
aashish.chaudhary at kitware.com> wrote:

> IMO, a number of 10 should be reasonable. glGetError call is an expensive
> call and if that's happening at the exit, that may be Ok but not while the
> application is active.
>
> Also, typically you run into 2-3 error codes (at least my experience). It
> would be nice if this could be an option that you can pass to the macro.
>
> Just my thoughts.
>
> -Aashish
>
>
>
> On Tue, Apr 15, 2014 at 10:57 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
>
>> Hmmm. I can put a limit on the number of times the while loops execute,
>> but I'm not sure what that limit should be. There are many possible gl
>> errors (and glu errors)
>>
>>
>>
>> On Tue, Apr 15, 2014 at 8:59 AM, Marco Sambin <m.sambin at gmail.com> wrote:
>>
>>> Great Bill,
>>>
>>> thanks for your comments and thank you in advance for the patch.
>>> Best regards,
>>>
>>> Marco
>>>  Il 15/apr/2014 14:42 "Bill Lorensen" <bill.lorensen at gmail.com> ha
>>> scritto:
>>>
>>>  It seems risky to have glGetError in a while loop without a guard to
>>>> stop the loop. According to the open GL Super Bible, the safe way to clear
>>>> the error is:
>>>> GLenum glError;
>>>> unsigned int i = 0;
>>>>   do
>>>>     {
>>>>     glError = glGetError();
>>>>     ++i;
>>>>     }
>>>>   while(i < 6 && glError != GL_NO_ERROR);
>>>>
>>>> I have see some docs that say there can be more  error codes.
>>>> Certainly, some upper bound should be set.
>>>>
>>>> I'll prepare a patch.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Apr 15, 2014 at 5:58 AM, Richard Whitehead <
>>>> richard.whitehead at vivosight.com> wrote:
>>>>
>>>>> Marco,
>>>>> Thanks for the support!  I only get it on one of my computers, where
>>>>> OpenGL is issuing warnings, but then the purpose of this code is to clear
>>>>> warnings...  It simply doesn't work.  Hopefully someone who knows what it's
>>>>> doing could fix it.
>>>>> Thanks again,
>>>>> Richard
>>>>>
>>>>>
>>>>> On 15 April 2014 10:49, Marco Sambin <m.sambin at gmail.com> wrote:
>>>>>
>>>>>> Hi Richard,
>>>>>>
>>>>>> quite a while ago, while I was making experiments with the use of
>>>>>> JOGL with VTK under Windows, I encountered the same issue that you describe.
>>>>>>
>>>>>> Basically, in some cases my application got stuck, and the CPU usage
>>>>>> went up to 25% (I have a quad core processor on my dev PC). I discovered
>>>>>> this was due to a "vtkClearOpenGLErrors()" call in the rendering pipeline,
>>>>>> which was iterating indefinitely in its "while" loop. Not sure what was the
>>>>>> real cause of this, did not have the time to debug in detail. At that time,
>>>>>> I worked around the problem by setting the VTK_REPORT_OPENGL_ERRORS option
>>>>>> to "false" on CMake (which forces the implementation of
>>>>>> vtkClearOpenGLErrors() to be empty). I understand that this may not be a
>>>>>> viable workaround in your case, and I also believe it would be good to
>>>>>> understand the real cause for this infinite loop inside
>>>>>> vtkClearOpenGLErrors().
>>>>>>
>>>>>> But for now, I can only let you know that "you are not alone" ;-)
>>>>>>
>>>>>> Maybe someone else on the list can shed some more light or share some
>>>>>> experience about this issue.
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Marco
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 14, 2014 at 1:04 PM, Richard Whitehead <
>>>>>> richard.whitehead at vivosight.com> wrote:
>>>>>>
>>>>>>>
>>>>>>> This new macro was introduced in 6.1.0.  It is getting called when
>>>>>>> my app exits and it sits in an infinite loop.
>>>>>>> The documentation say is t is supposed to silently clear errors, but
>>>>>>> it is not doing this.
>>>>>>>
>>>>>>> Please can anyone suggest how to fix it?  Since my app is closing I
>>>>>>> am willing to discard errors, but the only method I can see that should
>>>>>>> clear errors is, well, vtkOpenGLClearErrorMacro...
>>>>>>>
>>>>>>> Many thanks,
>>>>>>>
>>>>>>> Richard
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Richard Whitehead *–* Senior Imaging Engineer
>>>>>>>
>>>>>>> *Michelson Diagnostics Ltd*
>>>>>>>
>>>>>>> *M:* +44 (0)7905 955276   *T:* +44 (0)20 8308 1695
>>>>>>>
>>>>>>> *E: *richard.whitehead at vivosight.com   *W:* www.vivosight.com
>>>>>>>
>>>>>>>
>>>>>>> <http://www.vivosight.com/>
>>>>>>>
>>>>>>>
>>>>>>> Michelson Diagnostics Ltd, 1 Grays Farm Production Village, Grays
>>>>>>> Farm Road, Orpington, Kent  BR5 3BD, UK
>>>>>>>
>>>>>>> Registered Office: 3 Shearwater, Maidstone, ME16 0DW.     Registered
>>>>>>> in England No. 5732681
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Richard Whitehead *–* Senior Imaging Engineer
>>>>>
>>>>> *Michelson Diagnostics Ltd*
>>>>>
>>>>> *M:* +44 (0)7905 955276   *T:* +44 (0)20 8308 1695
>>>>>
>>>>> *E: *richard.whitehead at vivosight.com   *W:* www.vivosight.com
>>>>>
>>>>>
>>>>> <http://www.vivosight.com/>
>>>>>
>>>>>
>>>>> Michelson Diagnostics Ltd, 1 Grays Farm Production Village, Grays Farm
>>>>> Road, Orpington, Kent  BR5 3BD, UK
>>>>>
>>>>> Registered Office: 3 Shearwater, Maidstone, ME16 0DW.     Registered
>>>>> in England No. 5732681
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Unpaid intern in BillsBasement at noware dot com
>>>>
>>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>
>> _______________________________________________
>> 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
>>
>>
>
>
> --
> | Aashish Chaudhary
> | R&D Engineer
> | Kitware Inc.
> | www.kitware.com
>



-- 
Unpaid intern in BillsBasement at noware dot com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140415/18762aeb/attachment-0001.html>


More information about the vtkusers mailing list