I have to strongly agree with Chris here 

The situation should be handled gracefully, OSG should not be brining my
app down with a crash at any point.


Gordon

__________________________________________________________
Gordon Tomlinson

Product Manager 3D
Email  : gtomlinson @ overwatch.textron.com


__________________________________________________________
(C): (+1) 571-265-2612
(W): (+1) 703-437-7651

"Self defence is not a function of learning tricks 
but is a function of how quickly and intensely one 
can arouse one's instinct for survival" 
- Master Tambo Tetsura

 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Chris Denham
Sent: Friday, September 19, 2008 2:40 PM
To: Robert Osfield
Cc: OpenSceneGraph Submissions
Subject: Re: [osg-submissions] SceneView OpenGL error trap succeptable
tonull pointer exception in OSG2.6.

Hi Robert,
Well, if you can convince me that a NULL pointer exception and a
crashing, is in any way more helpful than reporting OpenGL error code
0x502, then I would agree with you. But in any case, if gluErrorString
returning NULL represents such a deep failure, why not report that,
rather than waiting until ostream inserter blows a wobbler and crashes
the app? It gives you nothing unless you happen to be running a debugger
an can look at a stack trace.
Chris.

----- Original Message -----
From: "Robert Osfield" <[EMAIL PROTECTED]>
To: "Chris Denham" <[EMAIL PROTECTED]>
Cc: "OpenSceneGraph Submissions"
<[email protected]>
Sent: Friday, September 19, 2008 5:56 PM
Subject: Re: [osg-submissions] SceneView OpenGL error trap succeptable
to null pointer exception in OSG2.6.


> Hi Chris,
>
> If the get string is null, then it suggests that you don't have a 
> valid graphics context, so the error code you'd get would be complete 
> nonsense.  Hiding this crash does nothing to help you.
>
> Robert.
>
> On Fri, Sep 19, 2008 at 5:35 PM, Chris Denham <[EMAIL PROTECTED]>
> wrote:
>> Hi Robert,
>> Surely the purpose of the code that reports the GL error is intended 
>> to help users fix the problem.
>> It it not helpful if the application crashes while it is merely 
>> trying to output the "pretty string" version of the error code.
>> My suggested change does NOT hide the bug. On the contary, it helps 
>> you find the bug because it tells you the error code rather than 
>> bombing out trying to display the error.
>> Chris.
>>
>> ----- Original Message ----- From: "Robert Osfield"
>> <[EMAIL PROTECTED]>
>> To: "Chris Denham" <[EMAIL PROTECTED]>
>> Cc: "OpenSceneGraph Submissions" 
>> <[email protected]>
>> Sent: Friday, September 19, 2008 5:14 PM
>> Subject: Re: [osg-submissions] SceneView OpenGL error trap 
>> succeptable to null pointer exception in OSG2.6.
>>
>>
>>> Hi Chris,
>>>
>>> The submission isn't problematic, but the suggestion that it might 
>>> fix a crash is, as the app is broken and is likely just to crash 
>>> somewhere else that access OpenGL.  The crash you have is symptom of

>>> problem elsewhere, the fix really is not really a fix, it's just a 
>>> recording to hide a bug elsewhere.
>>>
>>> Robert.
>>>
>>> On Fri, Sep 19, 2008 at 5:06 PM, Chris Denham <[EMAIL PROTECTED]>
>>> wrote:
>>>>
>>>> Hi Robert,
>>>> You may be right about the cause of the GL error as I am currently 
>>>> doing horrible things experimenting with code to try and support an

>>>> SVI display.
>>>> However, I stand by this submission, as it was not really about the

>>>> cause of the GL error, more about how it is reported and the re-use

>>>> of the GL error reporting code in State.cpp.
>>>> Basically, <<gluErrorString(errorNo)<<" goes bang! if there is no 
>>>> error string for the code passed in.
>>>> It seemed to me that the original code makes an assumption the 
>>>> return value of gluErrorString(errorCode) being non NULL.
>>>> An assumption that is not made by the code in 
>>>> State::checkGLErrors(), so it makes sense to reuse that code in any

>>>> case.
>>>>
>>>> Hope that explains my reasoning for submitting this trivial little 
>>>> change.
>>>> And it might stop an app crashing unnecessarily when it gets a 
>>>> GLerror for which there is no 'pretty string' available..
>>>>
>>>> Chris.
>>>>
>>>> ----- Original Message ----- From: "Robert Osfield"
>>>> <[EMAIL PROTECTED]>
>>>> To: "Chris Denham" <[EMAIL PROTECTED]>; "OpenSceneGraph
Submissions"
>>>> <[email protected]>
>>>> Sent: Friday, September 19, 2008 4:43 PM
>>>> Subject: Re: [osg-submissions] SceneView OpenGL error trap 
>>>> succeptable to null pointer exception in OSG2.6.
>>>>
>>>>
>>>>> Hi Chris,
>>>>>
>>>>> If glGetError() is crashing then it suggests that you are calling
this
>>>>> code from a thread that doesn't have valid graphics context, which
is
>>>>> a bug at the application level, rather than SceneView itself.
>>>>>
>>>>> Robert.
>>>>>
>>>>> On Fri, Sep 19, 2008 at 4:09 PM, Chris Denham
<[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>>
>>>>>> Just found a little problem with SceneView.cpp crashing with NULL
>>>>>> pointer
>>>>>> exception because it tried to use a NULL returned by 
>>>>>> gluErrorString().
>>>>>> I noticed that there is GL error reporting code in State.cpp that
>>>>>> probably
>>>>>> should have be used here.
>>>>>> Mods shown below, and I have attached modified osg2.6
SceneView.cpp
>>>>>>
>>>>>> //////////////////BEFORE//////////////////////
>>>>>>    GLenum errorNo = glGetError();
>>>>>>     if (errorNo!=GL_NO_ERROR)
>>>>>>     {
>>>>>>         osg::notify(WARN)<<"Warning: detected OpenGL error
>>>>>> '"<<gluErrorString(errorNo)<<"'"<< std::endl;
>>>>>>
>>>>>>         // go into debug mode of OGL error in a fine grained way
to
>>>>>> help
>>>>>>         // track down OpenGL errors.
>>>>>>
state->setCheckForGLErrors(osg::State::ONCE_PER_ATTRIBUTE);
>>>>>>     }
>>>>>>  }
>>>>>> /////////////AFTER////////////////////////////
>>>>>>     if (state->checkGLErrors("end of SceneView::draw()"))
>>>>>>     {
>>>>>>         // go into debug mode of OGL error in a fine grained way
to
>>>>>> help
>>>>>>         // track down OpenGL errors.
>>>>>>
state->setCheckForGLErrors(osg::State::ONCE_PER_ATTRIBUTE);
>>>>>>     }
>>>>>> //////////////////////////////////////////////////////
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> osg-submissions mailing list
>>>>>> [email protected]
>>>>>>
>>>>>>
>>>>>>
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegr
aph.org
>>>>>>
>>>>>>
>>>>
>>>>
>>
>> 

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegr
aph.org
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to