Hi Carsten!

Carsten Neumann schrieb:
sorry, that seems to have been a miscommunication, you had asked for something that works on linux and that's where bugle normally does a decent job. I don't think it is intended to work on windows at all, though.
Ups sorry about that, my fault.

I tried a little harder to get some usable output from gDEBugger and came out with a breakpoint at the call of glGetError(). So here are some information on the first stop at glGetError():

is it possible to do conditional breakpoints and then set the condition to something like glGetError() != GL_NO_ERROR ? That should be close to the point where the real error occurs. Alternatively it would be nice if the debugger could just check glGetError() after each OpenGL function call as Marcus suggested, that should pinpoint the location.
Unfortunately I can't set conditions in the debugger. I told it to stop on every OpenGL error - works fine with the shipped examples but not with you aspect1render example. I've created debug output like last time in the end of this mail.

If you need further information just let me know where to set breakpoints etc.

hm, it is a bit strange that all the context creation calls seem to happen on context 0 and then all the OpenGL calls are on context 1. I've noticed that I made a mistake with the test program I sent, it creates the SSM in the wrong thread, attached is an updated version.
However, that one occasionally prints a warning:
WARNING: Attachment::unlinkParent: Child <-> Parent link inconsistent.
I'll have to look into what is causing that.
I tried the new version but on vista 64 it still won't run. The error changed, it is now (within the mentioned while loop in above mails)

WARNING: (..\..\..\Source\System\State\Base\OSGLightChunk.cpp,136): light:activate:precheck failed: Der Vorgang ist ung³ltig. (0x502)

I think this is from osglightchunk.cpp line 136: glErr("light:activate:precheck");

Call stack:
kernel32.dll!76d972bc() [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für kernel32.dll] msvcr80d.dll!_write_nolock(int fh=2, const void * buf=0x04b0f088, unsigned int cnt=1) Zeile 148 + 0x24 Bytes C msvcr80d.dll!_write(int fh=2, const void * buf=0x04b0f088, unsigned int cnt=1) Zeile 74 + 0x11 Bytes C msvcr80d.dll!_flsbuf(int ch=101, _iobuf * str=0x69301d40) Zeile 189 + 0x11 Bytes C msvcr80d.dll!fputc(int ch=101, _iobuf * str=0x69301d40) Zeile 52 + 0x4b Bytes C msvcp80d.dll!std::_Fputc<char>(char _Byte='e', _iobuf * _File=0x69301d40) Zeile 81 + 0xf Bytes C++ msvcp80d.dll!std::basic_filebuf<char,std::char_traits<char> >::overflow(int _Meta=101) Zeile 261 + 0x1c Bytes C++ msvcp80d.dll!std::basic_streambuf<char,std::char_traits<char> >::xsputn(const char * _Ptr=0x045d7547, int _Count=38) Zeile 379 + 0x1a Bytes C++ msvcp80d.dll!std::basic_streambuf<char,std::char_traits<char> >::sputn(const char * _Ptr=0x045d74f0, int _Count=125) Zeile 170 C++ OSGBase_d.dll!std::operator<<<std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > & _Ostr={...}, const char * _Val=0x045d74f0) Zeile 768 + 0x36 Bytes C++ OSGBase_d.dll!OSG::Log::doLog(const char * format=0x01d9fc60, ...) Zeile 883 + 0xf Bytes C++ > OSGSystem_d.dll!OSG::LightChunk::activate(OSG::DrawEnv * pEnv=0x045e8018, unsigned int index=0) Zeile 136 + 0x8e Bytes C++ OSGSystem_d.dll!OSG::DrawEnv::activate(OSG::State * pState=0x04603530, OSG::StateOverride * pOverride=0x045e8a28) Zeile 153 + 0x2e Bytes C++ OSGSystem_d.dll!OSG::DrawEnv::activateState(OSG::State * pNewState=0x04603530, OSG::StateOverride * pNewStateOverride=0x045e8a28) Zeile 355 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::drawNode(OSG::RenderTreeNode * pNode=0x04605628, OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 156 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::drawNode(OSG::RenderTreeNode * pNode=0x046059f8, OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 166 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::drawNode(OSG::RenderTreeNode * pNode=0x04605cf0, OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 166 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::drawNode(OSG::RenderTreeNode * pNode=0x046058b0, OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 166 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::drawNode(OSG::RenderTreeNode * pNode=0x04605768, OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 166 C++ OSGSystem_d.dll!OSG::TreeBuilderBase::draw(OSG::DrawEnv & denv={...}, OSG::RenderPartitionBase * part=0x045e7fe8) Zeile 102 C++ OSGSystem_d.dll!OSG::RenderPartition::doExecution() Zeile 453 + 0x31 Bytes C++ OSGSystem_d.dll!OSG::RenderAction::drawBuffer(unsigned int buf=0) Zeile 694 C++ OSGSystem_d.dll!OSG::RenderAction::stop(OSG::ActionBase::ResultE res=Continue) Zeile 622 C++ OSGSystem_d.dll!OSG::Action::callStop(OSG::ActionBase::ResultE res=Continue) Zeile 473 + 0x13 Bytes C++ OSGSystem_d.dll!OSG::Action::apply(std::_Vector_iterator<OSG::Node *,std::allocator<OSG::Node *> > begin=0xfdfdfdfd {_sfVolume={...} _sfTravMask={...} _sfParent={...} ...}, std::_Vector_iterator<OSG::Node *,std::allocator<OSG::Node *> > end=0xfdfdfdfd {_sfVolume={...} _sfTravMask={...} _sfParent={...} ...}) Zeile 293 + 0xc Bytes C++ OSGSystem_d.dll!OSG::Action::apply(OSG::Node * const node=0x0464be88) Zeile 310 + 0x43 Bytes C++ OSGSystem_d.dll!OSG::Viewport::render(OSG::RenderActionBase * action=0x045d4a10) Zeile 402 + 0x18 Bytes C++ OSGSystem_d.dll!OSG::Window::renderAllViewports(OSG::RenderActionBase * action=0x045d4a10) Zeile 1851 + 0x1e Bytes C++ OSGSystem_d.dll!OSG::Window::render(OSG::RenderActionBase * action=0x045d4a10) Zeile 1806 + 0x13 Bytes C++ OSGUtil_d.dll!OSG::SimpleSceneManager::redraw() Zeile 883 + 0x24 Bytes C++
    OpenSG2_MT_Tests.exe!display()  Zeile 204 + 0x14 Bytes    C++
glut32.dll!003c50c2() OpenSG2_MT_Tests.exe!idle() Zeile 252 + 0x10 Bytes C++ OSGBase_d.dll!OSG::BaseWinThreadBase::threadFunc(void * pThreadArg=0x04600f24) Zeile 484 + 0xc Bytes C++ kernel32.dll!76dfe3f3() ntdll.dll!77a7cfed() ntdll.dll!77a7d1ff()
Okay here comes the debug output from gDEBugger anyway:

Call stack Thread 0 / Context 0:
ZwWaitForSingleObject - ntdll.dll
WaitForSingleObject - kernel32.dll
OSG::BaseWinThreadBase::join - osgbasethread.cpp, line 563
OSG::BaseThread::join - osgbasethread.inl, line 277
main - asppect1render.cpp, line 168
__tmainCRTStartup - crtexe.c, line 597
mainCRTStartup - crtexe.c, line 413
BaseThreadInitThunk - kernel32.dll
RtlCreateUserProcess - ntdll.dll


Call stack Thread 1 / Context 1:
OSG::Window::frameInit - osgwindow.cpp, line 1448
OSG::Window::setupGL - osgwindow.cpp, line 1790
OSG::PassiveWindow::init - osgpassivewindow.cpp, line 113
initAspect1 - asppect1render.cpp, line 139
OSG::BaseWinThreadBase::threadFunc - osgbasethread.cpp, line 484
BaseThreadInitThunk - kernel32.dll
RtlCreateUserProcess - ntdll.dll

Hope this if of any help,
Christoph



Title: OpenGL calls log - opensg2_mt_tests - Context 0 - generated by gDEBugger

////////////////////////////////////////////////////////////
// This File contain an OpenGL calls log
// Application: opensg2_mt_tests
// Generation date: Wednesday, January 28, 2009
// Generation time: 18:12:38
// Context id: 0
//
// Generated by gDEBugger - an OpenGL Debugger and Profiler
// www.gremedy.com
////////////////////////////////////////////////////////////


Title: OpenGL calls log - opensg2_mt_tests - Context 1 - generated by gDEBugger

////////////////////////////////////////////////////////////
// This File contain an OpenGL calls log
// Application: opensg2_mt_tests
// Generation date: Wednesday, January 28, 2009
// Generation time: 18:12:38
// Context id: 1
//
// Generated by gDEBugger - an OpenGL Debugger and Profiler
// www.gremedy.com
////////////////////////////////////////////////////////////


wglDescribePixelFormat(0xC30110AC, 2, 40, 0x466FB18)
glPixelStorei(GL_UNPACK_ALIGNMENT, 1)
glPixelStorei(GL_PACK_ALIGNMENT, 1)
glDepthFunc(GL_LEQUAL)
glEnable(GL_DEPTH_TEST)
glEnable(GL_NORMALIZE)
glLightfv(GL_LIGHT0, GL_DIFFUSE, {0, 0, 0, 0})
glLightfv(GL_LIGHT0, GL_SPECULAR, {0, 0, 0, 0})
glGetString(GL_VERSION)
glGetString(GL_EXTENSIONS)
wglGetProcAddress(glBlendColorEXT)
wglGetProcAddress(glBlendFuncSeparateEXT)
wglGetProcAddress(glActiveTextureARB)
wglGetProcAddress(glTexImage3DEXT)
wglGetProcAddress(glTexSubImage3DEXT)
wglGetProcAddress(glCompressedTexImage1DARB)
wglGetProcAddress(glCompressedTexSubImage1DARB)
wglGetProcAddress(glCompressedTexImage2DARB)
wglGetProcAddress(glCompressedTexSubImage2DARB)
wglGetProcAddress(glCompressedTexImage3DARB)
wglGetProcAddress(glCompressedTexSubImage3DARB)
wglGetProcAddress(glGenFramebuffersEXT)
wglGetProcAddress(glCheckFramebufferStatusEXT)
wglGetProcAddress(glBindFramebufferEXT)
wglGetProcAddress(glDeleteFramebuffersEXT)
wglGetProcAddress(glFramebufferRenderbufferEXT)
wglGetProcAddress(glDrawBuffersARB)
wglGetProcAddress(glGenRenderbuffersEXT)
wglGetProcAddress(glDeleteRenderbuffersEXT)
wglGetProcAddress(glRenderbufferStorageEXT)
wglGetProcAddress(glBindRenderbufferEXT)
wglGetProcAddress(glFramebufferTexture1DEXT)
wglGetProcAddress(glFramebufferTexture2DEXT)
wglGetProcAddress(glFramebufferTexture3DEXT)
wglGetProcAddress(glGenerateMipmapEXT)
wglGetProcAddress(glCreateShader)
wglGetProcAddress(glDeleteShader)
wglGetProcAddress(glShaderSource)
wglGetProcAddress(glCompileShader)
wglGetProcAddress(glAttachShader)
wglGetProcAddress(glGetShaderiv)
wglGetProcAddress(glGetShaderInfoLog)
wglGetProcAddress(glCreateProgram)
wglGetProcAddress(glDeleteProgram)
wglGetProcAddress(glLinkProgram)
wglGetProcAddress(glGetProgramiv)
wglGetProcAddress(glGetProgramInfoLog)
wglGetProcAddress(glUseProgram)
wglGetProcAddress(glGetUniformLocationARB)
wglGetProcAddress(glUniform1iARB)
wglGetProcAddress(glUniform2iARB)
wglGetProcAddress(glUniform3iARB)
wglGetProcAddress(glUniform4iARB)
wglGetProcAddress(glUniform1fARB)
wglGetProcAddress(glUniform2fARB)
wglGetProcAddress(glUniform3fARB)
wglGetProcAddress(glUniform4fARB)
wglGetProcAddress(glUniform1ivARB)
wglGetProcAddress(glUniform2ivARB)
wglGetProcAddress(glUniform3ivARB)
wglGetProcAddress(glUniform4ivARB)
wglGetProcAddress(glUniform1fvARB)
wglGetProcAddress(glUniform2fvARB)
wglGetProcAddress(glUniform3fvARB)
wglGetProcAddress(glUniform4fvARB)
wglGetProcAddress(glUniformMatrix2fvARB)
wglGetProcAddress(glUniformMatrix3fvARB)
wglGetProcAddress(glUniformMatrix4fvARB)
wglGetProcAddress(glGetUniformivARB)
wglGetProcAddress(glGetUniformfvARB)
wglGetProcAddress(glGenProgramsARB)
wglGetProcAddress(glProgramStringARB)
wglGetProcAddress(glBindProgramARB)
wglGetProcAddress(glDeleteProgramsARB)
wglGetProcAddress(glProgramLocalParameter4fvARB)
wglGetProcAddress(glGetProgramivARB)
wglGetProcAddress(glPointParameterfEXT)
wglGetProcAddress(glPointParameterfvEXT)
wglGetProcAddress(glCombinerParameterfvNV)
wglGetProcAddress(glCombinerStageParameterfvNV)
wglGetProcAddress(glCombinerInputNV)
wglGetProcAddress(glCombinerOutputNV)
wglGetProcAddress(glFinalCombinerInputNV)
wglGetProcAddress(glBindBufferARB)
wglGetProcAddress(glBufferDataARB)
wglGetProcAddress(glDeleteBuffersARB)
wglGetProcAddress(glVertexAttribPointerARB)
wglGetProcAddress(glEnableVertexAttribArrayARB)
wglGetProcAddress(glDisableVertexAttribArrayARB)
wglGetProcAddress(glSecondaryColorPointerEXT)
wglGetProcAddress(glClientActiveTextureARB)
wglGetProcAddress(glMultiTexCoord3fvARB)
wglGetProcAddress(glGenQueriesARB)
wglGetProcAddress(glBeginQueryARB)
wg
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to