Bugs item #1682369, was opened at 2007-03-16 20:05 Message generated for change (Comment added) made by genete You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1682369&group_id=144022
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 7 Private: No Submitted By: dooglus (dooglus) Assigned to: Nobody/Anonymous (nobody) Summary: studio hung eating CPU when I turned on tangent ducks Initial Comment: I had just used the 'draw' tool to draw a bline, then tidied if up with the normal tool, with tangent ducks turned off to make the vertex ducks easier to spot. Then I turned on the tangent ducks to tidy them up and synfig hung, eating all available CPU. Attaching to it with gdb shows it's here: (gdb) where #0 0xb7410ca0 in _gtk_action_group_emit_pre_activate () from /usr/lib/libgtk-x11-2.0.so.0 #1 0xb740dc8b in _gtk_action_emit_activate () from /usr/lib/libgtk-x11-2.0.so.0 #2 0xb7586d36 in gtk_toggle_action_set_active () from /usr/lib/libgtk-x11-2.0.so.0 #3 0xb78e4d5e in Gtk::ToggleAction::set_active () from /usr/lib/libgtkmm-2.4.so.1 #4 0x0837d994 in studio::CanvasView::toggle_duck_mask (this=0x8cc8838, type=studio::Duck::TYPE_TANGENT) at canvasview.cpp:3233 #5 0x083a2ab5 in sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>::operator() (this=0x8d28e70, [EMAIL PROTECTED]) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851 #6 0x083a2ad3 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type> >::operator()<studio::Duck::Type&> ( this=0x8d28e6c, [EMAIL PROTECTED]) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84 #7 0x083a2afc in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>, studio::Duck::Type, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x8d28e68) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1110 #8 0x083a2b18 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>, studio::Duck::Type, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x8d28e50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 #9 0xb737e42a in Glib::SignalProxyNormal::slot0_void_callback () from /usr/lib/libglibmm-2.4.so.1 #10 0xb7082e1b in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #11 0xb707598b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #12 0xb7086213 in ?? () from /usr/lib/libgobject-2.0.so.0 #13 0x08d28e90 in ?? () #14 0x00000000 in ?? () Single stepping, shows this: (gdb) s Single stepping until exit from function _gtk_action_group_emit_pre_activate, which has no line number information. [Switching to Thread -1228409152 (LWP 20078)] 0xb740dc8b in _gtk_action_emit_activate () from /usr/lib/libgtk-x11-2.0.so.0 (gdb) Single stepping until exit from function _gtk_action_emit_activate, which has no line number information. 0xb7586d36 in gtk_toggle_action_set_active () from /usr/lib/libgtk-x11-2.0.so.0 (gdb) Single stepping until exit from function gtk_toggle_action_set_active, which has no line number information. 0xb78e4d5e in Gtk::ToggleAction::set_active () from /usr/lib/libgtkmm-2.4.so.1 (gdb) Single stepping until exit from function _ZN3Gtk12ToggleAction10set_activeEb, which has no line number information. studio::CanvasView::toggle_duck_mask (this=0x8cc8838, type=studio::Duck::TYPE_TANGENT) at canvasview.cpp:3234 3234 break; (gdb) 3256 if(is_currently_on) (gdb) 3257 work_area->set_type_mask(work_area->get_type_mask()-type); (gdb) std::auto_ptr<studio::WorkArea>::operator-> (this=0x8cc8850) at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/memory:286 286 return _M_ptr; (gdb) studio::Duckmatic::get_type_mask (this=0x8d1bbdc) at duckmatic.h:370 370 Type get_type_mask()const { return type_mask; } (gdb) studio::operator- (lhs=-9, rhs=studio::Duck::TYPE_TANGENT) at duck.h:237 237 { return static_cast<Duck::Type>(int(lhs)&~int(rhs)); } (gdb) std::auto_ptr<studio::WorkArea>::operator-> (this=0x8cc8850) at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/memory:286 286 return _M_ptr; (gdb) studio::Duckmatic::set_type_mask (this=0x8d1bbdc, x=-11) at duckmatic.h:367 367 void set_type_mask(Type x) { type_mask=x; } (gdb) studio::CanvasView::toggle_duck_mask (this=0x8cc8838, type=studio::Duck::TYPE_TANGENT) at canvasview.cpp:3261 3261 work_area->queue_draw(); (gdb) std::auto_ptr<studio::WorkArea>::operator-> (this=0x8cc8850) at /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/memory:286 286 return _M_ptr; (gdb) studio::CanvasView::toggle_duck_mask (this=0x8cc8838, type=studio::Duck::TYPE_TANGENT) at canvasview.cpp:3262 3262 } (gdb) 0x083a2ab5 in sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>::operator() (this=0x8d28e70, [EMAIL PROTECTED]) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851 1851 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); } (gdb) 0x083a2ad3 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type> >::operator()<studio::Duck::Type&> ( this=0x8d28e6c, [EMAIL PROTECTED]) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84 84 { return functor_(_A_arg1); } (gdb) 0x083a2afc in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>, studio::Duck::Type, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x8d28e68) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1110 1110 return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<typename unwrap_reference<T_type1>::type>::pass> (bound1_.invoke()); (gdb) 0x083a2b18 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, studio::CanvasView, studio::Duck::Type>, studio::Duck::Type, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x8d28e50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103 103 return (typed_rep->functor_)(); (gdb) 0xb737e42a in Glib::SignalProxyNormal::slot0_void_callback () from /usr/lib/libglibmm-2.4.so.1 (gdb) Single stepping until exit from function _ZN4Glib17SignalProxyNormal19slot0_void_callbackEP8_GObjectPv, which has no line number information. 0xb7082e1b in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 (gdb) Single stepping until exit from function g_cclosure_marshal_VOID__VOID, which has no line number information. 0xb707598b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 (gdb) Single stepping until exit from function g_closure_invoke, which has no line number information. At this point no prompt came back, and the CPU went back up to 100%. It stayed there while I composed this bug report, and shows no signs of stopping. I tried re-attaching with a new gdb process, but couldn't. ---------------------------------------------------------------------- Comment By: Genete (genete) Date: 2008-09-12 21:10 Message: I'm trying to reproduce the but but I cannot. Can you reproduce it again? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1682369&group_id=144022 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl