Bugs item #1800126, was opened at 2007-09-22 11:20
Message generated for change (Comment added) made by dooglus
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1800126&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: Compile-Time
Group: SVN version
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Konstantin Dmitryev (zelgadis_ksee)
Assigned to: Nobody/Anonymous (nobody)
Summary: Changes made in SVN 731 results in unstable synfig
Initial Comment:
Changes made in SVN 719 results in errors during compilation of synfig-studio.
With SVN 718 all OK.
Tested on arch: x86_64
Shown errors:
synfig -q canvas_pointer_icon.sif -o canvas_pointer_icon.png --time 0
synfig: warning: Unable to find module "mod_openexr" (mod_openexr.so: cannot
open shared object file: No such file or directory)
synfig: warning: Unable to find module "mod_libavcodec" (mod_libavcodec.so:
cannot open shared object file: No such file or directory)
canvas_pointer_icon.sif ==> canvas_pointer_icon.png: DONE
*** glibc detected *** synfig: corrupted double-linked list: 0x0000000000660a00
***
======= Backtrace: =========
/lib64/libc.so.6[0x2aaaacc23583]
/lib64/libc.so.6[0x2aaaacc2515d]
/lib64/libc.so.6(cfree+0x8c)[0x2aaaacc28b1c]
synfig(_ZN9__gnu_cxx13new_allocatorIN4sigc9slot_baseEE7destroyEPS2_+0x19)[0x41b35f]
synfig(_ZNSt10_List_baseIN4sigc9slot_baseESaIS1_EE8_M_clearEv+0x4e)[0x41b486]
/usr/lib64/libsigc-2.0.so.0(_ZN4sigc11signal_baseD2Ev+0x49)[0x2aaaac005c29]
synfig(_ZN4sigc7signal0IvNS_3nilEED2Ev+0x15)[0x41b9ad]
synfig(_ZN4sigc6signalIvNS_3nilES1_S1_S1_S1_S1_S1_ED1Ev+0x15)[0x41b9c5]
/usr/lib64/libsynfig.so.0(_ZN6synfig4NodeD2Ev+0x6d)[0x2aaaaae6b5bb]
/usr/lib64/libsynfig.so.0(_ZN6synfig6CanvasD0Ev+0x841)[0x2aaaaaebe1c1]
synfig(_ZNK3etl13shared_object5unrefEv+0x4e)[0x413f20]
synfig(_ZN3etl6handleIN6synfig6CanvasEE6detachEv+0x32)[0x414c0e]
synfig(_ZN3etl6handleIN6synfig6CanvasEED1Ev+0x15)[0x414c25]
synfig[0x41723c]
synfig[0x4172f7]
synfig[0x419237]
synfig[0x419295]
synfig[0x413be7]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2aaaacbd2ab4]
synfig(__gxx_personality_v0+0x1a1)[0x40d3a9]
======= Memory map: ========
00400000-00423000 r-xp 00000000 08:02 5717
/usr/bin/synfig
00623000-00624000 rw-p 00023000 08:02 5717
/usr/bin/synfig
...
----------------------------------------------------------------------
>Comment By: dooglus (dooglus)
Date: 2007-09-22 17:58
Message:
Logged In: YES
user_id=1546005
Originator: NO
Thanks for the quick bug report. I don't understand how I wasn't affected
by it myself until now.
I think it must be that only certain .sif files trigger the bug, and I
wasn't rendering any that it affected.
I'll commit a fix soon.
----------------------------------------------------------------------
Comment By: Konstantin Dmitryev (zelgadis_ksee)
Date: 2007-09-22 16:05
Message:
Logged In: YES
user_id=1438889
Originator: YES
Sorry, I was in a hurry and entangled revisions. :( Sorry for that. And
thanx for quick reaction.
----------------------------------------------------------------------
Comment By: dooglus (dooglus)
Date: 2007-09-22 14:10
Message:
Logged In: YES
user_id=1546005
Originator: NO
When a Canvas is free()d, the new std::map I added is free()d, which
free()s the layer(s) it references.
We don't want to do this.
----------------------------------------------------------------------
Comment By: dooglus (dooglus)
Date: 2007-09-22 14:08
Message:
Logged In: YES
user_id=1546005
Originator: NO
This bug is caused by r731.
----------------------------------------------------------------------
Comment By: scutato (scutato)
Date: 2007-09-22 12:54
Message:
Logged In: YES
user_id=1896314
Originator: NO
I came across this as well. It has to do with some shared object files
from synfig-core not being available. Please change to the synfig-core
directory, make uninstall (as root), and make install again. Then run
/sbin/ldconfig (again as root), to ensure it can find the SO files synfig
is looking for. The process I went through was a bit more extensive, as I
was also doing a few other things, but that should fix it. If it doesn't,
I have a few further instructions.
----------------------------------------------------------------------
Comment By: dooglus (dooglus)
Date: 2007-09-22 12:52
Message:
Logged In: YES
user_id=1546005
Originator: NO
I don't think that change could have caused the bug. What makes you think
it's that change in particular?
Here's a better backtrace:
canvas_pointer_icon.sif ==> canvas_pointer_icon.png: DONE
==6894== Invalid read of size 4
==6894== at 0x805FD6D: etl::shared_object::unref() const
(_handle.h:86)
==6894== by 0x805FE0F: etl::handle<synfig::Canvas>::detach()
(_handle.h:219)
==6894== by 0x805FE8A: etl::handle<synfig::Canvas>::~handle()
(_handle.h:165)
==6894== by 0x420F570:
__gnu_cxx::new_allocator<etl::handle<synfig::Canvas>
>::destroy(etl::handle<synfig::Canvas>*) (new_allocator.h:107)
==6894== by 0x4213044: std::_List_base<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::_M_clear() (list.tcc:77)
==6894== by 0x42130B1: std::_List_base<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::~_List_base()
(stl_list.h:339)
==6894== by 0x421310E: std::list<etl::handle<synfig::Canvas>,
std::allocator<etl::handle<synfig::Canvas> > >::~list() (stl_list.h:399)
==6894== by 0x4205902: synfig::Canvas::~Canvas() (canvas.cpp:96)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x805FE0F: etl::handle<synfig::Canvas>::detach()
(_handle.h:219)
==6894== by 0x805FE8A: etl::handle<synfig::Canvas>::~handle()
(_handle.h:165)
==6894== by 0x420F598: std::pair<std::string const,
etl::handle<synfig::Canvas> >::~pair() (stl_pair.h:69)
==6894== by 0x420F5F4: __gnu_cxx::new_allocator<std::pair<std::string
const, etl::handle<synfig::Canvas> > >::destroy(std::pair<std::string
const, etl::handle<synfig::Canvas> >*) (new_allocator.h:107)
==6894== by 0x421356C: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::destroy_node(std::_Rb_tree_node<std::pair<std::string const,
etl::handle<synfig::Canvas> > >*) (stl_tree.h:391)
==6894== by 0x42135FF: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::_M_erase(std::_Rb_tree_node<std::pair<std::string const,
etl::handle<synfig::Canvas> > >*) (stl_tree.h:1266)
==6894== by 0x421363E: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::~_Rb_tree() (stl_tree.h:578)
==6894== by 0x421369A: std::map<std::string,
etl::handle<synfig::Canvas>, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::~map() (stl_map.h:93)
==6894== by 0x42058C0: synfig::Canvas::~Canvas() (canvas.cpp:96)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x805FE0F: etl::handle<synfig::Canvas>::detach()
(_handle.h:219)
==6894== by 0x805FE8A: etl::handle<synfig::Canvas>::~handle()
(_handle.h:165)
==6894== by 0x806023F: Job::~Job() (main.cpp:239)
==6894== by 0x80602E6: __gnu_cxx::new_allocator<Job>::destroy(Job*)
(new_allocator.h:107)
==6894== by 0x8060847: std::list<Job, std::allocator<Job>
>::_M_erase(std::_List_iterator<Job>) (stl_list.h:1149)
==6894== by 0x80608B8: std::list<Job, std::allocator<Job>
>::pop_front() (stl_list.h:747)
==6894== by 0x805B905: main (main.cpp:1056)
==6894== Address 0x536F4E4 is 4 bytes inside a block of size 584 free'd
==6894== at 0x4020F51: operator delete(void*)
(vg_replace_malloc.c:244)
==6894== by 0x4205C2A: synfig::Canvas::~Canvas() (canvas.cpp:96)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x411E584:
synfig::Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas>)
(layer_pastecanvas.cpp:170)
==6894== by 0x411F7BD: synfig::Layer_PasteCanvas::~Layer_PasteCanvas()
(layer_pastecanvas.cpp:99)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x806011D: etl::handle<synfig::Layer>::detach()
(_handle.h:219)
==6894== by 0x8060130: etl::handle<synfig::Layer>::~handle()
(_handle.h:165)
==6894== by 0x42151BB: std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > >::~pair()
(stl_pair.h:69)
==6894== by 0x4215206:
__gnu_cxx::new_allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > >
>::destroy(std::vector<sigc::connection, std::allocator<sigc::connection>
>*) (new_allocator.h:107)
==6894== by 0x421524A: std::_Rb_tree<etl::handle<synfig::Layer>,
std::pair<etl::handle<synfig::Layer> const, std::vector<sigc::connection,
std::allocator<sigc::connection> > >,
std::_Select1st<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >,
std::less<etl::handle<synfig::Layer> >,
std::allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >
>::destroy_node(std::_Rb_tree_node<std::pair<etl::handle<synfig::Layer>
const, std::vector<sigc::connection, std::allocator<sigc::connection> > >
>*) (stl_tree.h:391)
==6894== by 0x42152DD: std::_Rb_tree<etl::handle<synfig::Layer>,
std::pair<etl::handle<synfig::Layer> const, std::vector<sigc::connection,
std::allocator<sigc::connection> > >,
std::_Select1st<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >,
std::less<etl::handle<synfig::Layer> >,
std::allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >
>::_M_erase(std::_Rb_tree_node<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >*)
(stl_tree.h:1266)
==6894== by 0x42152BD: std::_Rb_tree<etl::handle<synfig::Layer>,
std::pair<etl::handle<synfig::Layer> const, std::vector<sigc::connection,
std::allocator<sigc::connection> > >,
std::_Select1st<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >,
std::less<etl::handle<synfig::Layer> >,
std::allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >
>::_M_erase(std::_Rb_tree_node<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >*)
(stl_tree.h:1264)
==6894== by 0x421531C: std::_Rb_tree<etl::handle<synfig::Layer>,
std::pair<etl::handle<synfig::Layer> const, std::vector<sigc::connection,
std::allocator<sigc::connection> > >,
std::_Select1st<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >,
std::less<etl::handle<synfig::Layer> >,
std::allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >
>::~_Rb_tree() (stl_tree.h:578)
==6894== by 0x4215378: std::map<etl::handle<synfig::Layer>,
std::vector<sigc::connection, std::allocator<sigc::connection> >,
std::less<etl::handle<synfig::Layer> >,
std::allocator<std::pair<etl::handle<synfig::Layer> const,
std::vector<sigc::connection, std::allocator<sigc::connection> > > >
>::~map() (stl_map.h:93)
==6894== by 0x4205842: synfig::Canvas::~Canvas() (canvas.cpp:96)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x805FE0F: etl::handle<synfig::Canvas>::detach()
(_handle.h:219)
==6894== by 0x805FE8A: etl::handle<synfig::Canvas>::~handle()
(_handle.h:165)
==6894== by 0x420F598: std::pair<std::string const,
etl::handle<synfig::Canvas> >::~pair() (stl_pair.h:69)
==6894== by 0x420F5F4: __gnu_cxx::new_allocator<std::pair<std::string
const, etl::handle<synfig::Canvas> > >::destroy(std::pair<std::string
const, etl::handle<synfig::Canvas> >*) (new_allocator.h:107)
==6894== by 0x421356C: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::destroy_node(std::_Rb_tree_node<std::pair<std::string const,
etl::handle<synfig::Canvas> > >*) (stl_tree.h:391)
==6894== by 0x42135FF: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::_M_erase(std::_Rb_tree_node<std::pair<std::string const,
etl::handle<synfig::Canvas> > >*) (stl_tree.h:1266)
==6894== by 0x421363E: std::_Rb_tree<std::string, std::pair<std::string
const, etl::handle<synfig::Canvas> >, std::_Select1st<std::pair<std::string
const, etl::handle<synfig::Canvas> > >, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::~_Rb_tree() (stl_tree.h:578)
==6894== by 0x421369A: std::map<std::string,
etl::handle<synfig::Canvas>, std::less<std::string>,
std::allocator<std::pair<std::string const, etl::handle<synfig::Canvas> > >
>::~map() (stl_map.h:93)
==6894== by 0x42058C0: synfig::Canvas::~Canvas() (canvas.cpp:96)
==6894== by 0x805FDD2: etl::shared_object::unref() const
(_handle.h:93)
==6894== by 0x805FE0F: etl::handle<synfig::Canvas>::detach()
(_handle.h:219)
==6894== by 0x805FE8A: etl::handle<synfig::Canvas>::~handle()
(_handle.h:165)
==6894== by 0x806023F: Job::~Job() (main.cpp:239)
==6894== by 0x80602E6: __gnu_cxx::new_allocator<Job>::destroy(Job*)
(new_allocator.h:107)
==6894== by 0x8060847: std::list<Job, std::allocator<Job>
>::_M_erase(std::_List_iterator<Job>) (stl_list.h:1149)
==6894== by 0x80608B8: std::list<Job, std::allocator<Job>
>::pop_front() (stl_list.h:747)
==6894== by 0x805B905: main (main.cpp:1056)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1800126&group_id=144022
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl