Hi all, I've just updated our OSG usage from 2.6.1 to 2.8.3 in the hopes of 
getting application verifier to accept our OSG usage. We previously had a 
problem with Application Verifier and OpenThreads in 2.6.1 but this has been 
fixed in 2.8.3, but we now experience a new problem.
"Luckily" it seems to happen with all OSG examples and not just our own 
application.

The setup:
I'm using Application Verifier (which we need our application to pass) on 
Windows Vista 64 SP2, Dell M6500 workstation with Quadro FX2700M graphics and 
driver revision 258.96. OSG has been built from source with Visual studio 2005 
SP1.
I'm testing osgviewerd.exe with Application Verifier default basic settings.

Observed problem:
Application Verifier breaks into the debugger during the call of 
CreateGraphicsContext() with last function call in OSG being
"int pixelFormatIndex = ::ChoosePixelFormat(hdc, &pixelFormat);"
in osgViewer::Win32WindowingSystem::getSampleOpenGLContext().

All the OSG applications I have tested with Application Verifier breaks in 
ChoosePixelFormat, but I don't know if this could be an OSG problem, a hdc 
usage problem or an Nvidia driver problem.
I have also tried Application Verifier with osgviewerd.exe in OSG 2.9.8 with 
the same behavior.

The complete callstack for the breakpoint is:

                             ntdll.dll!773a0004()
                             [Frames below may be incorrect and/or missing, no 
symbols loaded for ntdll.dll]
                            ntdll.dll!77407c5c()
                             
vfbasics.dll!AVrfpVectoredExceptionHandler(_EXCEPTION_POINTERS * 
ExceptionPointers=0x00dad994)  Line 460
                            ntdll.dll!773ea4df()
                             ntdll.dll!773d4461()
                             ntdll.dll!773d4505()
                             ntdll.dll!773ae49f()
                             nvoglv32.dll!69d786c1()
                             nvoglv32.dll!69d786c1()
                             ntdll.dll!773ba957()
                             ntdll.dll!773baaad()
                             ntdll.dll!774319fe()
                             osgviewerd.exe!mainCRTStartup()  Line 414          
                 C
                            ntdll.dll!7741c1da()
                             ntdll.dll!7741c20b()
                             ntdll.dll!7741c20b()
                             ntdll.dll!7741c449()
                             vfbasics.dll!AVrfLogInTracker(_AVRF_TRACKER * 
Tracker=0x00000000, unsigned short EntryType=1, void * EntryParam1=0x04ba6d40, 
void * EntryParam2=0x00000080, void * EntryParam3=0x04ba0000, void * 
EntryParam4=0x6935bd2e, void * ReturnAddress=0x69351556)  Line 300 + 0x10 bytes
                            vfbasics.dll!AVrfpRtlAllocateHeap(void * 
Heap=0x69351137, unsigned long Flags=1765138528, unsigned long Size=769)  Line 
256
                            00dadf98()
                            vfbasics.dll!AVrfpTlsGetValue(unsigned long 
dwTlsIndex=4294967295)  Line 426
                            nvoglv32.dll!69b2561d()
                             nvoglv32.dll!69b2a5e0()
                             nvoglv32.dll!69d42336()
                             verifier.dll!6bd559c9()
                             
vrfcore.dll!VfCoreStandardDllEntryPointRoutine(void * DllHandle=0x69500000, 
unsigned long Reason=1, _CONTEXT * Context=0x00000000)  Line 558 + 0xc bytes
                            vfbasics.dll!AVrfpStandardDllEntryPointRoutine(void 
* DllHandle=0x69500000, unsigned long Reason=1, _CONTEXT * Context=0x00000000)  
Line 787 + 0xa bytes
                            ntdll.dll!773d919c()
                             ntdll.dll!773c48e7()
                             ntdll.dll!773ef7eb()
                             ntdll.dll!773c446d()
                             ntdll.dll!773c3f00()
                             ntdll.dll!773c48c6()
                             ntdll.dll!773c4553()
                             ntdll.dll!773c436d()
                             ntdll.dll!773c24be()
                             ntdll.dll!773c2757()
                             ntdll.dll!773c27be()
                             ntdll.dll!773baeca()
                             vfbasics.dll!AVrfpLeakLogResource(void * 
Resource=0x7741c449, _RESOURCE_RECORD_TYPE ResourceType=37459248, void * 
ReturnAddress=0x00000023, void * Context=0x00db0000)  Line 1316 + 0xd bytes
                            ntdll.dll!7741c20b()
                             vfbasics.dll!AVrfLogInTracker(_AVRF_TRACKER * 
Tracker=0x00000000, unsigned short EntryType=3, void * EntryParam1=0x00194ac8, 
void * EntryParam2=0x0000092e, void * EntryParam3=0x00140000, void * 
EntryParam4=0x00001018, void * ReturnAddress=0x69351668)  Line 300 + 0x10 bytes
                            vfbasics.dll!AVrfpRtlFreeHeap(void * 
Heap=0x00140000, unsigned long Flags=0, void * Address=0x00194ac8)  Line 354
                            kernel32.dll!75634132()
                             kernel32.dll!7563410f()
                             vfbasics.dll!AVrfpLdrLoadDll(const wchar_t * 
DllPath=0x00195400, unsigned long * DllCharacteristics=0x00dae790, const 
_UNICODE_STRING * DllName=0x00dae750, void * * DllHandle=0x00dae764)  Line 1327 
+ 0xa bytes
                            kernel32.dll!756342f0()
                             kernel32.dll!7563436a()
                             opengl32.dll!67d1c135()
                             opengl32.dll!67d1c3fe()
                             osg65-osgViewerd.dll!osgViewer::WindowProc(HWND__ 
* hwnd=0x00000080, unsigned int uMsg=1310720, unsigned int wParam=0, long 
lParam=14347132)  Line 507 + 0xb bytes      C++
                            ntdll.dll!774319fe()
                             ntdll.dll!773ba957()
                             ntdll.dll!773baaad()
                             ntdll.dll!7741c20b()
                             ntdll.dll!774319fe()
                             ntdll.dll!7740d45f()
                             ntdll.dll!7741c1da()
                             ntdll.dll!773ba957()
                             ntdll.dll!773baaad()
                             ntdll.dll!773bef42()
                             ntdll.dll!773e7d41()
                             ntdll.dll!7740d45f()
                             ntdll.dll!7741c1da()
                             ntdll.dll!773baeca()
                             ntdll.dll!7741c20b()
                             opengl32.dll!67d1c4ad()
                             opengl32.dll!67d1da23()
                             opengl32.dll!67d2786f()
                             opengl32.dll!67d28010()
                             vfbasics.dll!AVrfpRtlFreeHeap(void * 
Heap=0x67d28782, unsigned long Flags=1972322748, void * Address=0x00daed2c)  
Line 355 + 0x5 bytes
                            vrfcore.dll!VfCoreLdrGetProcedureAddress(void * 
DllHandle=0x00010028, const _STRING * ProcedureName=0x00000024, unsigned long 
ProcedureNumber=6144, void * * ProcedureAddress=0x00000000)  Line 846
                            kernel32.dll!75632138()
                             gdi32.dll!758f41a4()
>                          
> osg65-osgViewerd.dll!osgViewer::Win32WindowingSystem::getSampleOpenGLContext(osgViewer::Win32WindowingSystem::OpenGLContext
>  & context={...}, HDC__ * windowHDC=0x29011371, int windowOriginX=0, int 
> windowOriginY=0)  Line 733 + 0x10 bytes                             C++
                            
osg65-osgViewerd.dll!osgViewer::GraphicsWindowWin32::setPixelFormat()  Line 
1523 + 0x42 bytes  C++
                            
osg65-osgViewerd.dll!osgViewer::GraphicsWindowWin32::createWindow()  Line 1169 
+ 0x8 bytes     C++
                            
osg65-osgViewerd.dll!osgViewer::GraphicsWindowWin32::init()  Line 1079 + 0x16 
bytes                           C++
                            
osg65-osgViewerd.dll!osgViewer::GraphicsWindowWin32::GraphicsWindowWin32(osg::GraphicsContext::Traits
 * traits=0x0332c9b8)  Line 1042                            C++
                            
osg65-osgViewerd.dll!osgViewer::Win32WindowingSystem::createGraphicsContext(osg::GraphicsContext::Traits
 * traits=0x0332c9b8)  Line 976 + 0x29 bytes    C++
                            
osg65-osgd.dll!osg::GraphicsContext::createGraphicsContext(osg::GraphicsContext::Traits
 * traits=0x0332c9b8)  Line 75 + 0x1e bytes      C++
                            
osg65-osgViewerd.dll!osgViewer::View::setUpViewAcrossAllScreens()  Line 460 + 
0x14 bytes               C++
                            osg65-osgViewerd.dll!osgViewer::Viewer::realize()  
Line 425                       C++
                            osgviewerd.exe!main(int argc=2, char * * 
argv=0x0244aab0)  Line 154 + 0xe bytes          C++
                            osgviewerd.exe!__tmainCRTStartup()  Line 597 + 0x19 
bytes                       C
                            osgviewerd.exe!mainCRTStartup()  Line 414           
                C
                            kernel32.dll!756aeccb()
                             ntdll.dll!7740d24d()
                             ntdll.dll!7740d45f()


If anyone has any ideas as to how this problem can be fixed or worked around, 
it will be much appreciated.

Regards, and thanks in advance.

Jesper D. Thomsen
AnyBody Technology A/S
Denmark
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to