Dirk Reiners wrote: > Hi Patrick, > > I mentioned that at lunch yesterday, but just in case other people are > interested... > > On Tue, 2005-04-19 at 10:40 -0500, Patrick Hartling wrote: > >>(I have come to this conclusion because I get a bus >>error deep in OpenSG the first time an attempt is made to render the >>scene in a VR Juggler application.) > > Can you give me a backtrace for that?
Here you go:
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Cannot access memory at address 0x0
#1 0x18f808f0 in GeoPump129(osg::Window*, osg::Geometry*)
(win=0x24801a8, geo=0x2471238) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/NodeCores/Drawables/Geometry/OSGGeoPumpFactory.cpp:792
#2 0x190828dc in osg::Geometry::handleGL(osg::Window*, unsigned)
(this=0x2471238, win=0x24801a8, idstatus=18) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/NodeCores/Drawables/Geometry/OSGGeometry.cpp:390
#3 0x1961679c in osg::TypedSOTraits2<void,
osg::CPtrRefCallArg<osg::FCPtr<osg::FCPtr<osg::FCPtr<osg::FCPtr<osg::AttachmentContainerPtr,
osg::NodeCore>, osg::Drawable>, osg::MaterialDrawable>, osg::Geometry>
>, osg::ArgsCollector<osg::Window*>, osg::ArgsCollector<unsigned>
>::callObjectMethodVoid(unsigned char*, unsigned char*, osg::Window*,
unsigned) (pData2=0x19616638 "\200!", [EMAIL PROTECTED], arg2=0x1942762c,
pData2=0x19616638 "\200!", [EMAIL PROTECTED], arg2=0x1942762c, [EMAIL
PROTECTED],
[EMAIL PROTECTED], this=0xf0284360, this=0xf0284360, this=0xf0284360,
level=LOG_LOG, this=0xf0284360, this=0xf0284360, level=LOG_LOG,
module=0x1942762c "OSGLock", file=0xf0284430 "", line=38206676,
this=0xf0284360, this=0xf0284360, uiParentEPos=6389, this=0xf0284360,
this=0xf0284360, [EMAIL PROTECTED], this=0xf0284360,
__in_chrg=426763388, this=0xf0284360, [EMAIL PROTECTED],
this=0xf0284360, this=0xf0284360, whichField=164119947178951632,
origin=0) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/Base/Functors/OSGTypedFunctors2.h:152
#4 0x19616638 in
osg::TypedStoredObjectVoidFunctor2<osg::CPtrRefCallArg<osg::FCPtr<osg::FCPtr<osg::FCPtr<osg::FCPtr<osg::AttachmentContainerPtr,
osg::NodeCore>, osg::Drawable>, osg::MaterialDrawable>, osg::Geometry>
>, osg::PtrCallArg<osg::Window>, osg::ArgsCollector<unsigned>,
osg::DefaultFunctorSizeTraits>::call(osg::Window*, unsigned)
(this=0x246fcd0, obj=0x24801a8, oArg1=18) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/Base/Functors/OSGTypedFunctors2.inl:629
#5 0x191524f8 in osg::Window::validateGLObject(unsigned)
(this=0x24801a8, id=2) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Window/OSGWindow.cpp:654
#6 0x19084718 in osg::Geometry::drawPrimitives(osg::DrawActionBase*)
(this=0x2471238, action=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/NodeCores/Drawables/Geometry/OSGGeometry.cpp:682
#7 0x19546db4 in osg::TypedSOTraits1<osg::Action::ResultE,
osg::PtrCallArg<osg::MaterialDrawable>,
osg::ArgsCollector<osg::DrawActionBase*> >::callObjectMethod(unsigned
char*, unsigned char*, osg::DrawActionBase*) (pData1=0x2480c18
"\002G\0228?(C?\030??\002G\02281\227?\201?(C?\030?\217(",
pData2=0x2480c58 "", arg1=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/Base/Functors/OSGTypedFunctors1.h:148
#8 0x19546c3c in osg::TypedStoredObjectFunctor1<osg::Action::ResultE,
osg::PtrCallArg<osg::MaterialDrawable>,
osg::PtrCallArg<osg::DrawActionBase>,
osg::DefaultFunctorSizeTraits>::call(osg::DrawActionBase*)
(this=0x2480c14, obj=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/Base/Functors/OSGTypedFunctors1.inl:490
#9 0x18f005f8 in osg::RenderAction::draw(osg::DrawTreeNode*)
(this=0x58f2600, pRoot=0x2480bf0) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/RenderAction/OSGRenderAction.cpp:1005
#10 0x18f00650 in osg::RenderAction::draw(osg::DrawTreeNode*)
(this=0x58f2600, pRoot=0x2480cc0) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/RenderAction/OSGRenderAction.cpp:1012
#11 0x18f00d60 in osg::RenderAction::stop(osg::Action::ResultE)
(this=0x58f2600, res=Continue) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/RenderAction/OSGRenderAction.cpp:1205
#12 0x18efb0f4 in osg::Action::callStop(osg::Action::ResultE)
(this=0x58f2600, res=Continue) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/OSGAction.cpp:407
#13 0x18efa814 in
osg::Action::apply(__gnu_cxx::__normal_iterator<osg::NodePtr*,
std::vector<osg::NodePtr, std::allocator<osg::NodePtr> > >,
__gnu_cxx::__normal_iterator<osg::NodePtr*, std::vector<osg::NodePtr,
std::allocator<osg::NodePtr> > >) (this=0x58f2600,
begin={<iterator<std::random_access_iterator_tag,osg::NodePtr,int,osg::NodePtr*,osg::NodePtr&>>
= {<No data fields>}, _M_current = 0x58a88b8},
end={<iterator<std::random_access_iterator_tag,osg::NodePtr,int,osg::NodePtr*,osg::NodePtr&>>
= {<No data fields>}, _M_current = 0x58a88b8}) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/OSGAction.cpp:263
#14 0x18efa978 in osg::Action::apply(osg::NodePtr) (this=0x58f2600,
node={<AttachmentContainerPtr> = {<FieldContainerPtr> =
{<FieldContainerPtrBase> = {static InvalidParentEPos = 65535,
_containerSize = 128, _uiParentEPos = 65535, _storeP = 0x2471f18
"\031?I?", static _pRefCountLock = 0x587f200}, <No data fields>}, <No
data fields>}, <No data fields>}) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Action/OSGAction.cpp:280
#15 0x19132614 in osg::PassiveViewport::render(osg::RenderActionBase*)
(this=0x2480348, action=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Window/OSGPassiveViewport.cpp:202
#16 0x19155678 in
osg::Window::renderAllViewports(osg::RenderActionBase*) (this=0x24801a8,
action=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Window/OSGWindow.cpp:1428
#17 0x19155550 in osg::Window::render(osg::RenderActionBase*)
(this=0x24801a8, action=0x58f2600) at
/Users/patrick/src/OpenSG/OpenSG-1.4.0/Source/System/Window/OSGWindow.cpp:1405
#18 0x0005ac4c in vrj::OpenSGApp::draw() (this=0x5835200) at
/Users/patrick/src/Juggler/main/juggler/build.osx.posix.x11/instlinks/include/vrj/Draw/OpenSG/OpenSGApp.h:333
#19 0x01c93464 in vrj::GlPipe::renderWindow(vrj::GlWindow*)
(this=0x2472230, win=0x2472190) at
/Users/patrick/src/Juggler/main/juggler/modules/vrjuggler/vrj/Draw/OGL/GlPipe.cpp:423
#20 0x01c91f24 in vrj::GlPipe::controlLoop(void*) (this=0x2472230,
nullParam=0x0) at
/Users/patrick/src/Juggler/main/juggler/modules/vrjuggler/vrj/Draw/OGL/GlPipe.cpp:192
#21 0x01d171f8 in vpr::ThreadMemberFunctor<vrj::GlPipe>::operator()()
(this=0x2472330) at
/Users/patrick/src/Juggler/main/juggler/build.osx.posix.x11/instlinks/include/vpr/Thread/ThreadFunctor.h:129
#22 0x0310cc54 in vpr::ThreadPosix::startThread(void*) (this=0x2472350,
nullParam=0x0) at
/Users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/md/POSIX/Thread/ThreadPosix.cpp:309
#23 0x031920a8 in
vpr::ThreadMemberFunctor<vpr::ThreadPosix>::operator()()
(this=0x24723e0) at
/Users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Thread/ThreadFunctor.h:129
#24 0x0310a6a0 in vprThreadFunctorFunction (args=0x24723e0) at
/Users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Thread/ThreadFunctor.cpp:74
#25 0x90024910 in _pthread_body ()
>>At this point, I do not yet understand the OpenSG build system well
>>enough to figure out for sure how to make it compile the X11 code in
>>OpenSG. If it requires tweaking makefiles, that's fine.
>
> That should be compiled automatically, but I haven't used MacOS before,
> so I might be wrong.
No, unfortunately not. The generated file
Builds/powerpc-apple-darwin-g++/Makefile does not include WindowXLib in
the list set for $(SUB_LIBS), and even if it did, that directory tree
isn't present under the build directory.
>>I am not
>>looking for a long-term solution. I just want to determine whether I
>>can use my PowerBook for some near-term OpenSG+VRJ development instead
>>of using Windows. :)
>
> A noble goal indeed. ;)
>
>>On a semi-related topic, I do see errors when compiling the Qt code
>>where it is failing to find X11 headers. This suggests to me one of two
>>things:
>>
>> 1) Qt/X11 is expected to be used on OS X instead of Qt/Mac
>> 2) The Qt code in OpenSG has not been tested on OS X yet
>>
>>I have my OpenSG 1.4.0 build configured to use Qt/Mac, which doesn't
>>seem to satisfy the Qt dependency. I could switch over to using Qt/X11,
>>especially if doing so would make a difference in whether OpenSG will be
>>able to be compile against X11 on OS X.
>
> The OpenSG QT Window is currently hardcoded for Windows and X11 (it
> needs to derive from the right parent class, and we don't have Carbon
> windows to derive from).
>
> But in general (and that means other GUI toolkits, too) it's probably
> easier to use whatever OpenGL widget the toolkit has and use OpenSG with
> a PassiveWindow for integration. An example of that can be found in
> Examples/WXWidgets.
>
> The only thing you loose is multi-threaded rendering/interface event
> handling (as that needs to be careful about managing the OpenGL
> context). Everything else should just fine.
Thanks for the clarification on this. It is helpful to understand this
better.
-Patrick
> Hope it helps
>
> Dirk
>
--
Patrick L. Hartling | VP Engineering, Infiscape Corp.
PGP: http://tinyurl.com/2msw3 | http://www.infiscape.com/
signature.asc
Description: OpenPGP digital signature
