Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

Blocking during brick generation #97

Closed
eile opened this issue Jul 31, 2015 · 1 comment
Closed

Blocking during brick generation #97

eile opened this issue Jul 31, 2015 · 1 comment

Comments

@eile
Copy link
Contributor

eile commented Jul 31, 2015

I still get frame blocks, up to seamingly a deadlock when running:

bin/livre --volume 'fivoxSynapses://?resolution=1000'

and zooming into the data. It seems the tree traversal becomes to expensive:

Thread 12 (Thread 0x7fffb75fe700 (LWP 682)):
#0  0x00007fffefc5eabf in lunchbox::LFVector<boost::shared_ptr<lunchbox::Any>, 32>::LFVector (this=0x7ffdbb7ca3d8, n=10983, t=...)
    at ../Lunchbox/lunchbox/lfVector.ipp:56
#1  0x00007fffefc5df7d in dash::detail::ContextPtr<lunchbox::Any>::ContextPtr (this=0x7ffdbb7ca3d8) at ../dash/dash/detail/contextPtr.h:44
#2  0x00007fffefca653c in dash::detail::Attribute::Attribute (this=0x7ffdbb7ca3c0, attribute=0x7ffdbb789da0)
    at ../dash/dash/detail/attribute.cpp:39
#3  0x00007fffefc5c79b in dash::Attribute::Attribute (this=0x7ffdbb789da0) at ../dash/dash/attribute.cpp:36
#4  0x00007ffff0ceed57 in livre::DashRenderNode::initializeDashNode (dashNode=...) at ../Livre/livre/core/Dash/DashRenderNode.cpp:101
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff0cf38ff in livre::detail::DashTree::getDashNode (this=0xf09db0, nodeId=...) at ../Livre/livre/core/Dash/DashTree.cpp:99
#6  0x00007ffff0cf2d9c in livre::DashTree::getDashNode (this=0xbb2590, nodeId=...) at ../Livre/livre/core/Dash/DashTree.cpp:160
#7  0x00007ffff0d2de30 in livre::detail::RenderNodeVisitor::getDashNode (this=0x7fffa6c34940, nodeId=...)
    at ../Livre/livre/core/Visitor/RenderNodeVisitor.cpp:39
#8  0x00007ffff0d2d82a in livre::RenderNodeVisitor::onVisitBegin (this=0x7fffb75fcec0, nodeId=..., state=...)
    at ../Livre/livre/core/Visitor/RenderNodeVisitor.cpp:67
#9  0x00007ffff105082c in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=4, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:50
#10 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=5, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#11 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=6, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#12 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=7, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#13 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=8, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#14 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=9, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#15 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=10, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#16 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=11, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#17 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=12, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#18 0x00007ffff1050a23 in livre::detail::DFSTraversal::traverse (this=0x7fffa6c0f110, nodeId=..., depth=13, visitor=...)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:64
#19 0x00007ffff10504b2 in livre::DFSTraversal::traverse (this=0x7fffb75fcf00, rootNode=..., visitor=..., frame=0)
    at ../Livre/livre/Lib/Visitor/DFSTraversal.cpp:116
#20 0x00007ffff78fc764 in livre::detail::Channel::requestData (this=0x7fffa43b3120) at ../Livre/livre/Eq/Channel.cpp:316
#21 0x00007ffff78fc939 in livre::detail::Channel::frameDraw (this=0x7fffa43b3120) at ../Livre/livre/Eq/Channel.cpp:326
#22 0x00007ffff78f9dc9 in livre::Channel::frameDraw (this=0x7fffa43b21a0, frameId=...) at ../Livre/livre/Eq/Channel.cpp:620
#23 0x00007ffff6fc591e in eq::Channel::_cmdFrameDraw (this=0x7fffa43b21a0, cmd=...) at ../Equalizer/eq/channel.cpp:1658
#24 0x00007ffff08cebea in co::CommandFunc<co::Dispatcher>::operator() (this=0x7fffb75fd5f0, command=...) at ../Collage/co/commandFunc.h:62
#25 0x00007ffff08d8b92 in co::ICommand::operator() (this=0x7fff2637c1a8) at ../Collage/co/iCommand.cpp:214
#26 0x00007ffff70edd0a in co::WorkerThread<eq::CommandQueue>::run (this=0xd47000) at ../Collage/co/worker.ipp:40
#27 0x00007ffff708d509 in eq::detail::RenderThread::run (this=0xd47000) at ../Equalizer/eq/pipe.cpp:235
#28 0x00007fffeef0fcf2 in lunchbox::Thread::_runChild (this=0xd47000) at ../Lunchbox/lunchbox/thread.cpp:132
#29 0x00007fffeef0fa3e in lunchbox::Thread::runChild (arg=0xd47000) at ../Lunchbox/lunchbox/thread.cpp:110
#30 0x000000357a207a51 in start_thread () from /lib64/libpthread.so.0
#31 0x0000003579ae89ad in clone () from /lib64/libc.so.6

I guess this can be optimised, since the visible tree should be not that large?

@bilgili
Copy link
Contributor

bilgili commented Jul 31, 2015

Yes it can and I have a faster algorithm for it.

@eile eile closed this as completed Mar 31, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants