Hi Chuck,

Thanks for the stack traces, these do help give a better picture of
the deadlock, still not clear though, I'll need to study the set up of
the threading and the flow control to see if I can spot a failure
mechanism.

The osgviewer and osgcamera tests tell be that its the start up of
CullThreadPerCameraDrawThreadPerContext in both instances, so fix the
problem for one and its very very likely to fix it in the other.

As to what the problem might be... well I don't know.  Thankfully this
thread model won't be the default selected thread model as it'll only
be selected for real high end machines that the cores to support it,
its a threading model that is real hungry for cores :)

Robert.

On 6/11/07, Cole, Charles E. (LARC-B702)[GENEX SYSTEMS]
<[EMAIL PROTECTED]> wrote:
Robert,

Here's the call stack for running "osgviewerd cow.osg" and pressing "m"
to get to the CullThreadPerCameraDrawThreadPerContext threading model:

        ntdll.dll!7c90eb94()
        [Frames below may be incorrect and/or missing, no symbols loaded
for ntdll.dll]
        ntdll.dll!7c90e9c0()
        kernel32.dll!7c8025cb()
        ntdll.dll!7c91901b()
        kernel32.dll!7c802532()
>       OpenThreadsd.dll!OpenThreads::cooperativeWait(void *
waitHandle=0x000026e0, unsigned long timeout=4294967295)  Line 53 + 0x10
bytes   C++

OpenThreadsd.dll!OpenThreads::Win32ConditionPrivateData::wait(OpenThread
s::Mutex & external_mutex={...}, long timeout_ms=-1)  Line 107 + 0x1d
bytes   C++
        OpenThreadsd.dll!OpenThreads::Condition::wait(OpenThreads::Mutex
* mutex=0x01aae348)  Line 63    C++
        osgViewerd.dll!osgViewer::EndOfDynamicDrawBlock::block()  Line
740 + 0x1a bytes        C++
        osgViewerd.dll!osgViewer::Viewer::renderingTraversals()  Line
2255    C++
        osgViewerd.dll!osgViewer::Viewer::frame(double
simulationTime=1.7976931348623157e+308)  Line 1741 + 0xf bytes  C++
        osgViewerd.dll!osgViewer::Viewer::run()  Line 747 + 0x1b bytes
C++
        osgviewerd.exe!main(int argc=2, char * * argv=0x01a7c870)  Line
152 + 0xe bytes C++
        osgviewerd.exe!__tmainCRTStartup()  Line 597 + 0x19 bytes
C
        osgviewerd.exe!mainCRTStartup()  Line 414       C
        kernel32.dll!7c816fd7()

Here's the list of threads running:

>       4052    __tmainCRTStartup       OpenThreads::cooperativeWait
Normal  0
        3864    Win32 Thread    7c90eb94        Normal  0
        3608    _Mtxunlock      OpenThreads::Mutex::lock        Normal
0
        3504    std::_Container_base::_Orphan_all       _unlock Normal
0
        3596    _Mtxunlock      OpenThreads::Mutex::lock        Normal
0

Hope this helps.

chuck
_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to