Bugs item #1820750, was opened at 2007-10-26 17:58
Message generated for change (Comment added) made by dooglus
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1820750&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: Crasher/nasty bug
Group: SVN version
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Genete (genete)
Assigned to: Nobody/Anonymous (nobody)
Summary: Close a file with a modified exported and linked canvas fail

Initial Comment:
Using svn 986

The attached file have some exported values and an exported canvas. But there 
are no layer in the file, only the exported canvas and some valuenodes.

1) Create a new Paste Canvas Layer
2) Select the canvas parameter and load the 'plant' canvas (it is called 
"Synfig Animation 4").
3) Once done just export the origin of the paste canvas layer. Give it the name 
you want.
4) Now close the file and tell it that you don't want to save it. Then it 
crashes.

The output console message is quite large. If you want I post it please tell me.

Rgds
Carlos

----------------------------------------------------------------------

>Comment By: dooglus (dooglus)
Date: 2007-10-28 20:33

Message:
Logged In: YES 
user_id=1546005
Originator: NO

valgrind tells me:

Invalid read of size 4
  std::_Rb_tree<>::_M_begin() const (stl_tree.h:472)
  std::_Rb_tree<>::find(synfig::Node* const&) const (stl_tree.h:1334)
  std::set<synfig::Node*, std::less<synfig::Node*>>::count(synfig::Node*
const&) const (stl_set.h:426)
  synfig::Node::remove_child(synfig::Node*) (node.cpp:262)
  synfig::Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas>)
(layer_pastecanvas.cpp:180)
  synfig::Layer_PasteCanvas::~Layer_PasteCanvas()
(layer_pastecanvas.cpp:100)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<synfig::Layer>::detach() (_handle.h:219)
  etl::handle<synfig::Layer>::~handle() (_handle.h:165)
  synfigapp::ValueDesc::~ValueDesc() (value_desc.h:46)
  etl::trivial<synfigapp::ValueDesc>::destruct() (_trivial.h:81)
  synfigapp::Action::Param::clear() (action_param.cpp:492)
  synfigapp::Action::Param::~Param() (action_param.cpp:371)
  std::pair<std::string const, synfigapp::Action::Param>::~pair()
(stl_pair.h:69)
  __gnu_cxx::new_allocator<>::destroy(std::pair<>*) (new_allocator.h:107)
  std::_Rb_tree (stl_tree.h:391)
  std::_Rb_tree (stl_tree.h:1266)
  std::_Rb_tree (stl_tree.h:1264)
  std::_Rb_tree (stl_tree.h:1264)
  std::_Rb_tree (stl_tree.h:578)
  std::multimap (stl_multimap.h:108)
  synfigapp::Action::ParamList::~ParamList() (action_param.h:178)
  sigc::bound_argument<synfigapp::Action::ParamList>::~bound_argument()
(bound_argument.h:51)
  sigc::bind_functor (bind.h:136)
  sigc::adapts (adaptor_trait.h:349)
  sigc::bind_functor (bind.h:136)
  sigc::internal::typed_slot_rep (slot.h:61)
  sigc::internal::slot_rep::notify(void*) (in
/usr/lib/libsigc-2.0.so.0.0.0)
  sigc::internal::trackable_callback_list::~trackable_callback_list() (in
/usr/lib/libsigc-2.0.so.0.0.0)
  sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
  sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
  synfigapp::Action::System::~System() (action_system.cpp:64)
  synfigapp::Instance::~Instance() (instance.cpp:120)
  studio::Instance::~Instance() (instance.cpp:109)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<studio::Instance>::detach() (_handle.h:219)
  etl::handle<studio::Instance>::~handle() (_handle.h:165)
  sigc::bound_argument<etl::handle<studio::Instance> >::~bound_argument()
(bound_argument.h:51)
  sigc::bind_functor (bind.h:136)
  sigc::internal (slot.h:61)
  sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
  (anonymous
namespace)::SourceConnectionNode::destroy_notify_callback(void*) (in
/usr/lib/libglibmm-2.4.so.1.0.24)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1400.1)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1400.1)
  gtk_main (gtkmain.c:1144)
  Gtk::Main::run_impl() (in /usr/lib/libgtkmm-2.4.so.1.0.30)
  Gtk::Main::run() (in /usr/lib/libgtkmm-2.4.so.1.0.30)
Address 0x5c4cb64 is 84 bytes inside a block of size 584 free'd
  operator delete(void*) (vg_replace_malloc.c:336)
  synfig::Canvas::~Canvas() (canvas.cpp:97)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<synfig::Canvas>::detach() (_handle.h:219)
  etl::handle<synfig::Canvas>::~handle() (_handle.h:165)
  __gnu_cxx::new_allocator<etl::handle<synfig::Canvas>
>::destroy(etl::handle<synfig::Canvas>*) (new_allocator.h:107)
  std::_List_base<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::_M_clear() (list.tcc:77)
  std::_List_base<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::~_List_base()
(stl_list.h:339)
  std::list<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::~list() (stl_list.h:399)
  synfig::Canvas::~Canvas() (canvas.cpp:97)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<synfig::Canvas>::detach() (_handle.h:219)
  etl::handle<synfig::Canvas>::~handle() (_handle.h:165)
  synfigapp::Action::CanvasSpecific::~CanvasSpecific() (action.h:253)
  synfigapp::Action::Super::~Super() (action.h:286)
  synfigapp::Action::ValueDescSet::~ValueDescSet() (valuedescset.h:47)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<synfigapp::Action::Undoable>::detach() (_handle.h:219)
  etl::handle<synfigapp::Action::Undoable>::~handle() (_handle.h:165)
 
__gnu_cxx::new_allocator::destroy(etl::handle<synfigapp::Action::Undoable>*)
(new_allocator.h:107)
  std::_List_base::_M_clear() (list.tcc:77)
  std::_List_base::~_List_base() (stl_list.h:339)
  std::list::~list() (stl_list.h:399)
  synfigapp::Action::System::~System() (action_system.cpp:64)
  synfigapp::Instance::~Instance() (instance.cpp:120)
  studio::Instance::~Instance() (instance.cpp:109)
  etl::shared_object::unref() const (_handle.h:93)
  etl::handle<studio::Instance>::detach() (_handle.h:219)
  etl::handle<studio::Instance>::~handle() (_handle.h:165)
  sigc::bound_argument<etl::handle<studio::Instance> >::~bound_argument()
(bound_argument.h:51)
  sigc::bind_functor (bind.h:136)
  sigc::internal::typed_slot_rep (slot.h:61)
  sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
  (anonymous
namespace)::SourceConnectionNode::destroy_notify_callback(void*) (in
/usr/lib/libglibmm-2.4.so.1.0.24)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1400.1)
  (within /usr/lib/libglib-2.0.so.0.1400.1)
  g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1400.1)
  gtk_main (gtkmain.c:1144)
  Gtk::Main::run_impl() (in /usr/lib/libgtkmm-2.4.so.1.0.30)
  Gtk::Main::run() (in /usr/lib/libgtkmm-2.4.so.1.0.30)
  main (main.cpp:87)

----------------------------------------------------------------------

Comment By: dooglus (dooglus)
Date: 2007-10-28 20:27

Message:
Logged In: YES 
user_id=1546005
Originator: NO

A simplified test case:

Load this .sif file:

----
<?xml version="1.0"?>
<canvas>
  <defs>
    <canvas id="plant">
      <name>plant canvas</name>
      <layer type="SolidColor"><param
name="color"><color><r>0</r><g>0</g><b>0</b><a>1</a></color></param></layer>
    </canvas>
  </defs>
  <layer type="PasteCanvas" active="true" version="0.1"/>
</canvas>
----

then:

1) select the pasted canvas layer
2) set the canvas parameter to 'plant layer'
3) right-click origin > export
4) type a name, hit return
5) close the document (with or without saving)

in step 4, you can 'cancel' the export, and the crash is slightly
different (it fails an assert, which aborts the program if debugging is
enabled)

----------------------------------------------------------------------

Comment By: Genete (genete)
Date: 2007-10-26 18:20

Message:
Logged In: YES 
user_id=1874777
Originator: YES

IT doesn't matter if you save the file or not. It crashes too.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1820750&group_id=144022

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to