<div dir="ltr"><div>Hi,</div><div>I am currently testing this RC with openmw.</div><div>If i have the fps display or profiler open while exiting the application i get a crash on exit.</div><div>I am not sure if this is due to a bug in my build, a bug in openmw or a real issue with osg.</div><div>The issue seems to be related to the destruction of the default font, but i was not able to investigate further.</div><div>Attached is a Backtrace of the issue i am currently observing.</div><div><br></div><div>Greetings,</div><div>Fabian<br></div><div><br></div><div>*** Fatal Error ***<br>Invalid permissions for mapped object (signal 11)<br>Address: 0x5612597e50c0<br><br>* Backtrace<br><br>#2  0x00007f13a65b7f20 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6<br>#3  0x00005612597e50c0 in  ()<br>#4  0x000056125898fdc4 in OpenThreads::ScopedPointerLock<OpenThreads::Mutex>::ScopedPointerLock(OpenThreads::Mutex*) () at ./openmw/extern-git/OpenSceneGraph/include/OpenThreads/ScopedLock:54<br>        m = 0x5612597e5250<br>        this = <synthetischer Zeiger><br>        lock = {m_lock = 0x5612597e5250}<br>        pitr = <optimized out><br>#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<br>        lock = {m_lock = 0x5612597e5250}<br>        pitr = <optimized out><br>#6  0x0000561258991d2c in osg::StateSet::clear() (this=this@entry=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:734<br>        itr = {_M_node = 0x5612647f5a80}<br>#7  0x0000561258991f96 in __base_dtor  (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:285<br>#8  0x0000561258992129 in __deleting_dtor  (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/src/osg/StateSet.cpp:286<br>#9  0x0000561258bad988 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612647d48f0) at /usr/include/c++/7/bits/stl_construct.h:107<br>        newRef = <optimized out><br>        needDelete = <optimized out><br>#10 0x0000561258bad988 in osg::Referenced::unref() const (this=0x5612647d48f0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201<br>        newRef = <optimized out><br>        needDelete = <optimized out><br>#11 0x0000561258bad988 in osg::ref_ptr<osg::StateSet>::~ref_ptr() () at ./openmw/extern-git/OpenSceneGraph/include/osg/ref_ptr:41<br>#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<br>#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<br>#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<br>#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<br>#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<br>#17 0x0000561258bad988 in __base_dtor  (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osgText/Font.cpp:295<br>#18 0x0000561258bada13 in __base_dtor  () at ./openmw/extern-git/OpenSceneGraph/src/osgText/DefaultFont.cpp:35<br>        this = 0x5612647145c0<br>#19 0x0000561258bada13 in __deleting_dtor  (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osgText/DefaultFont.cpp:37<br>#20 0x0000561258a1b6b4 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/src/osg/Referenced.cpp:281<br>        newRef = <optimized out><br>        needDelete = <optimized out><br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#21 0x0000561258a1b6b4 in osg::Referenced::unref() const (this=0x5612647145c0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201<br>        newRef = <optimized out><br>        needDelete = <optimized out><br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#22 0x0000561258a1b6b4 in osg::ref_ptr<osg::Object>::~ref_ptr() () at ./openmw/extern-git/OpenSceneGraph/include/osg/ref_ptr:41<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#23 0x0000561258a1b6b4 in std::pair<osg::ref_ptr<osg::Object>, double>::~pair() () at /usr/include/c++/7/bits/stl_pair.h:208<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#24 0x0000561258a1b6b4 in __base_dtor  (this=0x56126472ce40) at /usr/include/c++/7/bits/stl_pair.h:208<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#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<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#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<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#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<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#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<br>        this = 0x561259805c38<br>        __p = 0x56126472ce20<br>#29 0x0000561258a1b6b4 in _M_erase (this=this@entry=0x561259805c38, __x=0x56126472ce20) at /usr/include/c++/7/bits/stl_tree.h:1858<br>#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<br>        this = 0x561259805c38<br>        this = 0x561259805c38<br>        lock = {m_lock = @0x561259805c68}<br>#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<br>        this = 0x561259805c38<br>        lock = {m_lock = @0x561259805c68}<br>#32 0x0000561258a26262 in osgDB::ObjectCache::clear() (this=0x561259805c20) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/ObjectCache.cpp:189<br>        lock = {m_lock = @0x561259805c68}<br>#33 0x0000561258a5bfa3 in clearObjectCache () at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:1654<br>        this = 0x5612598055e0<br>#34 0x0000561258a5bfa3 in osgDB::Registry::destruct() (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:507<br>#35 0x0000561258a5c10c in __base_dtor  (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:486<br>#36 0x0000561258a5c499 in __deleting_dtor  (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osgDB/Registry.cpp:487<br>#37 0x000056125863e367 in signalObserversAndDelete (signalDelete=true, doDelete=true, this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/src/osg/Referenced.cpp:281<br>        newRef = 0<br>        needDelete = true<br>#38 0x000056125863e367 in osg::Referenced::unref() const (this=0x5612598055e0) at ./openmw/extern-git/OpenSceneGraph/include/osg/Referenced:201<br>        newRef = 0<br>        needDelete = true<br>#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<br>        atfct = <optimized out><br>        onfct = <optimized out><br>        cxafct = <optimized out><br>        f = <optimized out><br>        new_exitfn_called = 2523<br>        cur = 0x561259804ce0<br>#40 0x00007f13a65bc13a in __GI_exit (status=<optimized out>) at exit.c:139<br>#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<br>        result = <optimized out><br>        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}}}<br>        not_first_call = <optimized out><br>#42 0x000056125862bdea in _start ()<br></div><div><br></div>Am Freitag, 24. Januar 2020 20:26:18 UTC+1 schrieb Robert Osfield:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="ltr">HI All,<div><br></div><div>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.</div><div><br></div><div>If there are no Issue's raised by Monday I'll go ahead and tag 3.6.5 stable release.</div><div><br></div><div>Cheers,</div><div>Robert.</div></div></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:osg-users+unsubscribe@googlegroups.com">osg-users+unsubscribe@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/osg-users/9d9a8df8-202a-4cf3-b53d-23fa4bedd809%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/osg-users/9d9a8df8-202a-4cf3-b53d-23fa4bedd809%40googlegroups.com</a>.<br />