Gerrit Voß wrote:
> Hi,
> 
> 
> On Thu, 2009-04-30 at 15:12 +0200, Marcus Lindblom wrote:
>> Hi,
>>
>> After re-loading a scene, we get a std::bad_alloc (with 3 gigs) from the 
>> following place (line 601 in OSGShaderProgram.cpp):
>>
>>           if(iStatus == 0)
>>              {
>>                  Char8 *szDebug;
>>                  GLint  iDebugLength;
>>
>>                  osgGlGetShaderiv( uiShader,
>>                                    GL_INFO_LOG_LENGTH,
>>                                   &iDebugLength);
>>
>>                  szDebug = new Char8[iDebugLength];
>>                                       ^^^^^^^^
>>
>> Looking at the values in a debugger, iDebugLength is stupidly large 
>> (1768036544) so I think the glgetshaderiv fails and never writes to this 
>> value. (Is it guaranteed to do that always?)
>>
> 
> hmm that is strange, the function should either return a useful value or
> 0 if not log is available. I admit that we don't check the length 0 case
> but as this is the compilation failed path I would expect the log buffer
> to contain something. The only thing I could think of is that there is 
> an OpenGL error. You could add a gl error check after/before the 
> osgGlGetShaderiv call to see if this is happening. AFAIK this could only
> happen if uiShader is not a valid OpenGL shader object or shaders are
> not supported at all. 

Makes sense. Hm. Time to install a gldebugger again. :)

I'll check and see what happens in that case. We are 
destroying/recreating set of shaders here, so it's possible something 
goes wrong.

We also use your vaglo.patch, btw, applied to SVN HEAD from yesterday.

Cheers,
/Marcus


------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to