Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeze when converting to 'dynamic' #1071

Closed
zozorg opened this issue Jan 5, 2020 · 1 comment · Fixed by #1073
Closed

Freeze when converting to 'dynamic' #1071

zozorg opened this issue Jan 5, 2020 · 1 comment · Fixed by #1073

Comments

@zozorg
Copy link

zozorg commented Jan 5, 2020

Synfig version & platform:
1.3.11

Issue description:
Converting a vector to "dynamic" freezes synfig. Did not happen in version 1.3.10.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@rodolforg
Copy link
Contributor

rodolforg commented Jan 5, 2020

It's a deadlock issue:

(backtrace from master branch)

#3 0x0000555555ed19a0 in std::mutex::lock() (this=0x555557c876b0) at /usr/include/c++/9/bits/std_mutex.h:100
#4 0x0000555555ed35a4 in std::lock_guardstd::mutex::lock_guard(std::mutex&) (this=0x7fffffff9808, __m=...) at /usr/include/c++/9/bits/std_mutex.h:159
#5 0x0000555555fcf285 in studio::Renderer_Canvas::clear_render() (this=0x555557c87630) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarearenderer/renderer_canvas.cpp:642
#6 0x000055555614e7d1 in studio::WorkArea::queue_render(bool) (this=0x555557db6580, refresh=true) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarea.cpp:2100
#7 0x000055555605c779 in studio::CanvasView::on_dirty_preview() (this=0x555557984f60) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/canvasview.cpp:2693
#8 0x000055555607caa5 in sigc::bound_mem_functor0<void, studio::CanvasView>::operator()() const (this=0x555557f9b9e8) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1991
#9 0x0000555556078e64 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, studio::CanvasView> >::operator()() const (this=0x555557f9b9e0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256
#10 0x000055555607417d in sigc::internal::slot_call<sigc::bound_mem_functor0<void, studio::CanvasView>, void>::call_it(sigc::internal::slot_rep*) (rep=0x555557f9b9b0)
at /usr/include/sigc++-2.0/sigc++/functors/slot.h:483
#11 0x0000555555cb83c2 in sigc::internal::signal_emit0<void, sigc::nil>::emit(sigc::internal::signal_impl*) (impl=0x555557ff53e0) at /usr/include/sigc++-2.0/sigc++/signal.h:798
#12 0x0000555555cb9440 in sigc::signal0<void, sigc::nil>::emit() const (this=0x555557982748) at /usr/include/sigc++-2.0/sigc++/signal.h:2804
#13 0x0000555555cb8c90 in sigc::signal0<void, sigc::nil>::operator()() const (this=0x555557982748) at /usr/include/sigc++-2.0/sigc++/signal.h:2820
#14 0x00007ffff71fac07 in synfig::Node::on_changed() (this=0x555557982670) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:336
#15 0x00007ffff71666b4 in synfig::Canvas::on_changed() (this=0x555557982670) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/canvas.cpp:111
#16 0x00007ffff71fa284 in synfig::Node::changed() (this=0x555557982670) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:207
#17 0x00007ffff71fad04 in synfig::Node::on_child_changed(synfig::Node const*) (this=0x555557982670, x=0x555556505000) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:349
#18 0x00007ffff71fa2b6 in synfig::Node::child_changed(synfig::Node const*) (this=0x555557982670, x=0x555556505000) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:213
#19 0x00007ffff71fac7d in synfig::Node::on_changed() (this=0x555556505000) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:341
#20 0x00007ffff71a6a4f in synfig::Layer::on_changed() (this=0x555556505000) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/layer.cpp:389
#21 0x00007ffff71fa284 in synfig::Node::changed() (this=0x555556505000) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:207
#22 0x00007ffff71fad04 in synfig::Node::on_child_changed(synfig::Node const*) (this=0x555556505000, x=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:349
#23 0x00007ffff71a6a75 in synfig::Layer::on_child_changed(synfig::Node const*) (this=0x555556505000, x=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/layer.cpp:395
#24 0x00007ffff71fa2b6 in synfig::Node::child_changed(synfig::Node const*) (this=0x555556505000, x=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:213
#25 0x00007ffff71fac7d in synfig::Node::on_changed() (this=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:341
#26 0x00007ffff722eb4b in synfig::ValueNode::on_changed() (this=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/valuenode.cpp:149
#27 0x00007ffff71fa284 in synfig::Node::changed() (this=0x55555653fdc0) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:207
#28 0x00007ffff71fad04 in synfig::Node::on_child_changed(synfig::Node const*) (this=0x55555653fdc0, x=0x555558812770) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:349
#29 0x00007ffff71fa2b6 in synfig::Node::child_changed(synfig::Node const*) (this=0x55555653fdc0, x=0x555558812770) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:213
#30 0x00007ffff71fac7d in synfig::Node::on_changed() (this=0x555558812770) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:341
#31 0x00007ffff722eb4b in synfig::ValueNode::on_changed() (this=0x555558812770) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/valuenode.cpp:149
#32 0x00007ffff71fa284 in synfig::Node::changed() (this=0x555558812770) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/node.cpp:207
#33 0x00007ffff722ec94 in synfig::ValueNode::replace(etl::handlesynfig::ValueNode) (this=0x555558929a20, x=...) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/valuenode.cpp:166
#34 0x00007ffff76258ee in synfig::ValueNode_Dynamic::operator()(synfig::Time) const (this=0x55555653fdc0, t=...) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp:146
#35 0x00007ffff71a8332 in synfig::Layer::set_time(synfig::IndependentContext, synfig::Time) const (this=0x555556505000, context=..., time=...)
at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/layer.cpp:615
#36 0x00007ffff718a84a in synfig::IndependentContext::set_time(synfig::Time, bool) const (this=0x7fffffffa3c8, time=..., force=false) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/context.cpp:111
#37 0x00007ffff7167ddd in synfig::Canvas::set_time(synfig::Time) const (this=0x555557982670, t=...) at /home/rodolfo/projetos/synfig/synfig-core/src/synfig/canvas.cpp:441
#38 0x0000555555fcd9c2 in studio::Renderer_Canvas::enqueue_render_frame(etl::handlesynfig::rendering::Renderer const&, etl::handlesynfig::Canvas const&, synfig::RectInt const&, studio::Renderer_Canvas::FrameId const&) (this=0x555557c87630, renderer=..., canvas=..., window_rect=..., id=...) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarearenderer/renderer_canvas.cpp:458
#39 0x0000555555fcec6b in studio::Renderer_Canvas::enqueue_render() (this=0x555557c87630) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarearenderer/renderer_canvas.cpp:590
#40 0x0000555555fd02fa in studio::Renderer_Canvas::render_vfunc(Glib::RefPtrGdk::Window const&, Gdk::Rectangle const&) (this=0x555557c87630, drawable=..., expose_area=...)
at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarearenderer/renderer_canvas.cpp:771
#41 0x000055555614da04 in studio::WorkArea::refresh(Cairo::RefPtrCairo::Context const&) (this=0x555557db6580) at /home/rodolfo/projetos/synfig/synfig-studio/src/gui/workarea.cpp:1922

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants