Hi, I am currently testing this RC with openmw. If i have the fps display or profiler open while exiting the application i get a crash on exit. I am not sure if this is due to a bug in my build, a bug in openmw or a real issue with osg. The issue seems to be related to the destruction of the default font, but i was not able to investigate further. Attached is a Backtrace of the issue i am currently observing.
Greetings, Fabian *** Fatal Error *** Invalid permissions for mapped object (signal 11) Address: 0x5612597e50c0 * Backtrace #2 0x00007f13a65b7f20 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6 #3 0x00005612597e50c0 in () #4 0x000056125898fdc4 in OpenThreads::ScopedPointerLock<OpenThreads::Mutex>::ScopedPointerLock(OpenThreads::Mutex*) () at ./openmw/extern-git/OpenSceneGraph/include/OpenThreads/ScopedLock:54 m = 0x5612597e5250 this = <synthetischer Zeiger> lock = {m_lock = 0x5612597e5250} pitr = <optimized out> #5 0x000056125898fdc4 in osg::StateAttribute::removeParent(osg::StateSet*) (this=0x5612647f58e0, object=<optimized out>, object@entry=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateAttribute.cpp:38 lock = {m_lock = 0x5612597e5250} pitr = <optimized out> #6 0x0000561258991d2c in osg::StateSet::clear() (this=this@entry=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:734 itr = {_M_node = 0x5612647f5a80} #7 0x0000561258991f96 in __base_dtor (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:285 #8 0x0000561258992129 in __deleting_dtor (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:286 #9 0x0000561258bad988 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612647d48f0) at /usr/include/c++/7/bits/stl_construct.h:107 newRef = <optimized out> needDelete = <optimized out> #10 0x0000561258bad988 in osg::Referenced::unref() const (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201 newRef = <optimized out> needDelete = <optimized out> #11 0x0000561258bad988 in osg::ref_ptr<osg::StateSet>::~ref_ptr() () at ./openmw/extern-git/OpenSceneGraph/include/osg/ref_ptr:41 #12 0x0000561258bad988 in std::_Destroy<osg::ref_ptr<osg::StateSet> >(osg::ref_ptr<osg::StateSet>*) () at /usr/include/c++/7/bits/stl_construct.h:98 #13 0x0000561258bad988 in std::_Destroy_aux<false>::__destroy<osg::ref_ptr<osg::StateSet>*>(osg::ref_ptr<osg::StateSet>*, osg::ref_ptr<osg::StateSet>*) () at /usr/include/c++/7/bits/stl_construct.h:108 #14 0x0000561258bad988 in std::_Destroy<osg::ref_ptr<osg::StateSet>*>(osg::ref_ptr<osg::StateSet>*, osg::ref_ptr<osg::StateSet>*) () at /usr/include/c++/7/bits/stl_construct.h:137 #15 0x0000561258bad988 in std::_Destroy<osg::ref_ptr<osg::StateSet>*, osg::ref_ptr<osg::StateSet> >(osg::ref_ptr<osg::StateSet>*, osg::ref_ptr<osg::StateSet>*, std::allocator<osg::ref_ptr<osg::StateSet> >&) () at /usr/include/c++/7/bits/stl_construct.h:206 #16 0x0000561258bad988 in std::vector<osg::ref_ptr<osg::StateSet>, std::allocator<osg::ref_ptr<osg::StateSet> > >::~vector() [clone .lto_priv.5148] (this=0x561264714620) at /usr/include/c++/7/bits/stl_vector.h:434 #17 0x0000561258bad988 in __base_dtor (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osgText/Font.cpp:295 #18 0x0000561258bada13 in __base_dtor () at ./openmw/extern-git/OpenSceneGraph/src/osgText/DefaultFont.cpp:35 this = 0x5612647145c0 #19 0x0000561258bada13 in __deleting_dtor (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osgText/DefaultFont.cpp:37 #20 0x0000561258a1b6b4 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osg/Referenced.cpp:281 newRef = <optimized out> needDelete = <optimized out> this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #21 0x0000561258a1b6b4 in osg::Referenced::unref() const (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201 newRef = <optimized out> needDelete = <optimized out> this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #22 0x0000561258a1b6b4 in osg::ref_ptr<osg::Object>::~ref_ptr() () at ./openmw/extern-git/OpenSceneGraph/include/osg/ref_ptr:41 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #23 0x0000561258a1b6b4 in std::pair<osg::ref_ptr<osg::Object>, double>::~pair() () at /usr/include/c++/7/bits/stl_pair.h:208 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #24 0x0000561258a1b6b4 in __base_dtor (this=0x56126472ce40) at /usr/include/c++/7/bits/stl_pair.h:208 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #25 0x0000561258a1b6b4 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >::destroy<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >(std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> >*) () at /usr/include/c++/7/ext/new_allocator.h:140 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #26 0x0000561258a1b6b4 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > > >::destroy<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >(std::allocator<std::_Rb_tree_node<std::pair<std::pair<std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >&, std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> >*) () at /usr/include/c++/7/bits/alloc_traits.h:487 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #27 0x0000561258a1b6b4 in std::_Rb_tree<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> >, std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> >, std::_Select1st<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >, osgDB::ObjectCache::ClassComp, std::allocator<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::pair<std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >*) () at /usr/include/c++/7/bits/stl_tree.h:650 this = 0x561259805c38 __p = 0x56126472ce20 this = 0x561259805c38 __p = 0x56126472ce20 #28 0x0000561258a1b6b4 in std::_Rb_tree<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> >, std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> >, std::_Select1st<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >, osgDB::ObjectCache::ClassComp, std::allocator<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::pair<std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >*) () at /usr/include/c++/7/bits/stl_tree.h:658 this = 0x561259805c38 __p = 0x56126472ce20 #29 0x0000561258a1b6b4 in _M_erase (this=this@entry=0x561259805c38, __x=0x56126472ce20) at /usr/include/c++/7/bits/stl_tree.h:1858 #30 0x0000561258a26262 in std::_Rb_tree<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> >, std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> >, std::_Select1st<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > >, osgDB::ObjectCache::ClassComp, std::allocator<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >::clear() () at /usr/include/c++/7/bits/stl_tree.h:1171 this = 0x561259805c38 this = 0x561259805c38 lock = {m_lock = @0x561259805c68} #31 0x0000561258a26262 in std::map<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> >, std::pair<osg::ref_ptr<osg::Object>, double>, osgDB::ObjectCache::ClassComp, std::allocator<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, osg::ref_ptr<osgDB::Options const> > const, std::pair<osg::ref_ptr<osg::Object>, double> > > >::clear() () at /usr/include/c++/7/bits/stl_map.h:1127 this = 0x561259805c38 lock = {m_lock = @0x561259805c68} #32 0x0000561258a26262 in osgDB::ObjectCache::clear() (this=0x561259805c20) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/ObjectCache.cpp:189 lock = {m_lock = @0x561259805c68} #33 0x0000561258a5bfa3 in clearObjectCache () at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:1654 this = 0x5612598055e0 #34 0x0000561258a5bfa3 in osgDB::Registry::destruct() (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:507 #35 0x0000561258a5c10c in __base_dtor (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:486 #36 0x0000561258a5c499 in __deleting_dtor (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:487 #37 0x000056125863e367 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osg/Referenced.cpp:281 newRef = 0 needDelete = true #38 0x000056125863e367 in osg::Referenced::unref() const (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201 newRef = 0 needDelete = true #39 0x00007f13a65bc041 in __run_exit_handlers (status=0, listp=0x7f13a6964718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108 atfct = <optimized out> onfct = <optimized out> cxafct = <optimized out> f = <optimized out> new_exitfn_called = 2523 cur = 0x561259804ce0 #40 0x00007f13a65bc13a in __GI_exit (status=<optimized out>) at exit.c:139 #41 0x00007f13a659ab9e in __libc_start_main (main=0x56125860aae0 <main>, argc=2, argv=0x7ffd03613bb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd03613ba8) at ../csu/libc-start.c:344 result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6745562391612795713, 94636792266176, 140724660157360, 0, 0, -1027869779201928001, -1125601318232042305}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7f13a697a733 <_dl_init+259>, 0x7f13a6372a38}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1500010701}}} not_first_call = <optimized out> #42 0x000056125862bdea in _start () Am Freitag, 24. Januar 2020 20:26:18 UTC+1 schrieb Robert Osfield: > > HI All, > > Still waiting on feedback on how well 3.6.5-rc2 is working OK. I'm ready > to tag 3.6.5 at my end as there are no Issue reported yet that I can look > into resolving. > > If there are no Issue's raised by Monday I'll go ahead and tag 3.6.5 > stable release. > > Cheers, > Robert. > -- You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to osg-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/9d9a8df8-202a-4cf3-b53d-23fa4bedd809%40googlegroups.com.