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
