‘pview’ causes the exact same crash.
After displaying the window for varying amounts of time, the program aborts.
This is the output of gdb:
$ gdb pview
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pview...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pview
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
pview: dtool/src/dtoolbase/deletedBufferChain.cxx:59: void* DeletedBufferChain::allocate(size_t, TypeHandle): Assertion `obj->_flag == (AtomicAdjust::Integer)DCF_deleted' failed.
Program received signal SIGABRT, Aborted.
__libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
44 ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
(gdb) bt
#0 __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
#1 0xb51a4f0e in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2 0xb51a7766 in __GI_abort () at abort.c:89
#3 0xb51a0150 in __assert_fail_base (fmt=0x1 <error: Cannot access memory at address 0x1>, assertion=0xb53945b0 "obj->_flag == (AtomicAdjust::Integer)DCF_deleted", assertion@entry=0x0,
file=0xb5394584 "dtool/src/dtoolbase/deletedBufferChain.cxx", file@entry=0xb4eba000 "", line=59, line@entry=3039178924,
function=function@entry=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:92
#4 0xb51a01e6 in __GI___assert_fail (assertion=0x0, file=0xb4eba000 "", line=3039178924,
function=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:101
#5 0xb5386d86 in DeletedBufferChain::allocate(unsigned int, TypeHandle) () from /usr/lib/arm-linux-gnueabihf/panda3d/libp3dtool.so.1.9
#6 0xb5beb862 in std::_Rb_tree<NodePath, std::pair<NodePath const, DisplayRegion*>, std::_Select1st<std::pair<NodePath const, DisplayRegion*> >, std::less<NodePath>, pallocator_single<std::pair<NodePath const, DisplayRegion*> > >::_M_insert_(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<NodePath const, DisplayRegion*> const&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#7 0xb5be40ea in GraphicsEngine::cull_to_bins(ov_set<PointerTo<GraphicsOutput>, IndirectLess<GraphicsOutput> > const&, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#8 0xb5be41a2 in GraphicsEngine::WindowRenderer::do_frame(GraphicsEngine*, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#9 0xb5be628c in GraphicsEngine::render_frame() () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#10 0x0004b4f0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
I built with Eigen3 (it was already installed on my system.)
Thanks!
EDIT: Sometimes the backtrace is different! The same assertion is always triggered, but here’s another, for example:
$ gdb pview
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pview...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pview
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
pview: dtool/src/dtoolbase/deletedBufferChain.cxx:59: void* DeletedBufferChain::allocate(size_t, TypeHandle): Assertion `obj->_flag == (AtomicAdjust::Integer)DCF_deleted' failed.
Program received signal SIGABRT, Aborted.
__libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
44 ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
(gdb) bt
#0 __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
#1 0xb51a4f0e in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2 0xb51a7766 in __GI_abort () at abort.c:89
#3 0xb51a0150 in __assert_fail_base (fmt=0x1 <error: Cannot access memory at address 0x1>, assertion=0xb53945b0 "obj->_flag == (AtomicAdjust::Integer)DCF_deleted", assertion@entry=0x0,
file=0xb5394584 "dtool/src/dtoolbase/deletedBufferChain.cxx", file@entry=0xb4eba000 "", line=59, line@entry=3039178924,
function=function@entry=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:92
#4 0xb51a01e6 in __GI___assert_fail (assertion=0x0, file=0xb4eba000 "", line=3039178924,
function=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:101
#5 0xb5386d86 in DeletedBufferChain::allocate(unsigned int, TypeHandle) () from /usr/lib/arm-linux-gnueabihf/panda3d/libp3dtool.so.1.9
#6 0xb59da432 in TransformState::make_mat(LMatrix4f const&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#7 0xb4e51bd0 in GLGraphicsStateGuardian::calc_projection_mat(Lens const*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpandagl.so
#8 0xb5bf76f6 in GraphicsStateGuardian::set_scene(SceneSetup*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#9 0xb5bdd564 in GraphicsEngine::do_draw(CullResult*, SceneSetup*, GraphicsOutput*, DisplayRegion*, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#10 0xb5bdd66e in GraphicsEngine::draw_bins(GraphicsOutput*, DisplayRegion*, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#11 0xb5be3c68 in GraphicsEngine::draw_bins(ov_set<PointerTo<GraphicsOutput>, IndirectLess<GraphicsOutput> > const&, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#12 0xb5be41ba in GraphicsEngine::WindowRenderer::do_frame(GraphicsEngine*, Thread*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#13 0xb5be628c in GraphicsEngine::render_frame() () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#14 0x0004b4f0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
And yet another:
$ gdb pview
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pview...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pview
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
pview: dtool/src/dtoolbase/deletedBufferChain.cxx:59: void* DeletedBufferChain::allocate(size_t, TypeHandle): Assertion `obj->_flag == (AtomicAdjust::Integer)DCF_deleted' failed.
Program received signal SIGABRT, Aborted.
__libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
44 ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
(gdb) bt
#0 __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
#1 0xb51a4f0e in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2 0xb51a7766 in __GI_abort () at abort.c:89
#3 0xb51a0150 in __assert_fail_base (fmt=0x1 <error: Cannot access memory at address 0x1>, assertion=0xb53945b0 "obj->_flag == (AtomicAdjust::Integer)DCF_deleted", assertion@entry=0x0,
file=0xb5394584 "dtool/src/dtoolbase/deletedBufferChain.cxx", file@entry=0xb4eba000 "", line=59, line@entry=3039178924,
function=function@entry=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:92
#4 0xb51a01e6 in __GI___assert_fail (assertion=0x0, file=0xb4eba000 "", line=3039178924,
function=0xb5394468 <DeletedBufferChain::allocate(unsigned int, TypeHandle)::__PRETTY_FUNCTION__> "void* DeletedBufferChain::allocate(size_t, TypeHandle)") at assert.c:101
#5 0xb5386d86 in DeletedBufferChain::allocate(unsigned int, TypeHandle) () from /usr/lib/arm-linux-gnueabihf/panda3d/libp3dtool.so.1.9
#6 0xb54654f0 in WeakReferenceList::add_reference(WeakPointerToVoid*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpandaexpress.so.1.9
#7 0xb59e6524 in WeakPointerToBase<RenderState>::reassign(RenderState*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#8 0xb59d910a in StateMunger::munge_state(RenderState const*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#9 0xb5987cf6 in CullableObject::munge_geom(GraphicsStateGuardianBase*, GeomMunger*, CullTraverser const*, bool) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#10 0xb5988118 in CullResult::add_object(CullableObject*, CullTraverser const*) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#11 0xb597dd6e in GeomNode::add_for_draw(CullTraverser*, CullTraverserData&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#12 0xb598113e in CullTraverser::traverse_below(CullTraverserData&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#13 0xb5fbe690 in TextNode::cull_callback(CullTraverser*, CullTraverserData&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
#14 0xb5afc5c4 in FrameRateMeter::cull_callback(CullTraverser*, CullTraverserData&) () from /usr/lib/arm-linux-gnueabihf/panda3d/libpanda.so.1.9
Cannot access memory at address 0x3d3e2066
(gdb)
I notice that this looks like a memory issue:
<error: Cannot access memory at address 0x1>
appears in all three backtraces, even though each is different.
Any ideas?
Thanks!