$/usr/bin/gdb /usr/bin/python3.3 GNU gdb (Gentoo 9999 vanilla) 7.9.50.20150125-cvs Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later 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 "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/bin/python3.3...Reading symbols from /usr/lib64/debug//usr/bin/python3.3.debug...done. done. (gdb) set args -c 'import graph_tool.all as gt' (gdb) break graph_generation.cc:99 No source file named graph_generation.cc. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (graph_generation.cc:99) pending. (gdb) run Starting program: /usr/bin/python3.3 -c 'import graph_tool.all as gt' [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Breakpoint 1, PyInit_libgraph_tool_generation () at graph_generation.cc:99 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) (gdb) l 94 void complete(GraphInterface& gi, size_t N, bool directed, bool self_loops); 95 void circular(GraphInterface& gi, size_t N, size_t k, bool directed, bool self_loops); 96 97 using namespace boost::python; 98 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 100 { 101 def("gen_graph", &generate_graph); 102 def("random_rewire", &random_rewire); 103 def("predecessor_graph", &predecessor_graph); (gdb) disas $pc Dump of assembler code for function PyInit_libgraph_tool_generation(): => 0x00007fffd78faa01 <+0>: push %rbp 0x00007fffd78faa02 <+1>: mov %rsp,%rbp 0x00007fffd78faa05 <+4>: lea -0x1030(%rsp),%rsp 0x00007fffd78faa0d <+12>: orq $0x0,(%rsp) 0x00007fffd78faa12 <+17>: lea 0x1020(%rsp),%rsp 0x00007fffd78faa1a <+25>: mov %fs:0x28,%rax 0x00007fffd78faa23 <+34>: mov %rax,-0x8(%rbp) 0x00007fffd78faa27 <+38>: xor %eax,%eax 0x00007fffd78faa29 <+40>: cmpb $0x0,0x7a0350(%rip) # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa30 <+47>: jne 0x7fffd78faa94 0x00007fffd78faa32 <+49>: lea 0x7a0347(%rip),%rdi # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa39 <+56>: callq 0x7fffd78f9b50 <__cxa_guard_acquire@plt> 0x00007fffd78faa3e <+61>: test %eax,%eax 0x00007fffd78faa40 <+63>: je 0x7fffd78faa94 0x00007fffd78faa42 <+65>: mov 0x4f0157(%rip),%rax # 0x7fffd7deaba0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base> 0x00007fffd78faa49 <+72>: mov %rax,0x7a0270(%rip) # 0x7fffd809acc0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa50 <+79>: mov 0x4f0151(%rip),%rax # 0x7fffd7deaba8 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+8> 0x00007fffd78faa57 <+86>: mov %rax,0x7a026a(%rip) # 0x7fffd809acc8 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+8> 0x00007fffd78faa5e <+93>: mov 0x4f014b(%rip),%rax # 0x7fffd7deabb0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+16> 0x00007fffd78faa65 <+100>: mov %rax,0x7a0264(%rip) # 0x7fffd809acd0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+16> 0x00007fffd78faa6c <+107>: mov 0x4f0145(%rip),%rax # 0x7fffd7deabb8 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+24> 0x00007fffd78faa73 <+114>: mov %rax,0x7a025e(%rip) # 0x7fffd809acd8 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+24> 0x00007fffd78faa7a <+121>: mov 0x4f013f(%rip),%rax # 0x7fffd7deabc0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+32> 0x00007fffd78faa81 <+128>: mov %rax,0x7a0258(%rip) # 0x7fffd809ace0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+32> 0x00007fffd78faa88 <+135>: lea 0x7a02f1(%rip),%rdi # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa8f <+142>: callq 0x7fffd78f41f0 <__cxa_guard_release@plt> 0x00007fffd78faa94 <+147>: mov 0x79f15d(%rip),%rsi # 0x7fffd8099bf8 0x00007fffd78faa9b <+154>: lea 0x7a021e(%rip),%rdi # 0x7fffd809acc0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faaa2 <+161>: callq 0x7fffd78f60e0 <_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE@plt> 0x00007fffd78faaa7 <+166>: mov -0x8(%rbp),%rdx 0x00007fffd78faaab <+170>: xor %fs:0x28,%rdx 0x00007fffd78faab4 <+179>: je 0x7fffd78faabb 0x00007fffd78faab6 <+181>: callq 0x7fffd78f65e0 <__stack_chk_fail@plt> 0x00007fffd78faabb <+186>: leaveq 0x00007fffd78faabc <+187>: retq End of assembler dump. (gdb) disas 0x7fffd78f9b50 Dump of assembler code for function __cxa_guard_acquire@plt: 0x00007fffd78f9b50 <+0>: jmpq *0x79e75a(%rip) # 0x7fffd80982b0 <__cxa_guard_acquire@got.plt> 0x00007fffd78f9b56 <+6>: pushq $0x85c 0x00007fffd78f9b5b <+11>: jmpq 0x7fffd78f1580 End of assembler dump. (gdb) watch *(long*) 0x7fffd80982b0 Hardware watchpoint 2: *(long*) 0x7fffd80982b0 (gdb) x/gx 0x7fffd80982b0 0x7fffd80982b0 <__cxa_guard_acquire@got.plt>: 0x00000000001b1b56 (gdb) disas 0x7fffd80982b0 Dump of assembler code for function __cxa_guard_acquire@got.plt: 0x00007fffd80982b0 <+0>: push %rsi 0x00007fffd80982b1 <+1>: sbb (%rbx),%ebx 0x00007fffd80982b3 <+3>: add %al,(%rax) 0x00007fffd80982b5 <+5>: add %al,(%rax) 0x00007fffd80982b7 <+7>: add %ah,0x1b(%rsi) End of assembler dump. (gdb) # eventually this puts 0x00000000001b1b56 into $pc (gdb) disp/i $pc 1: x/i $pc => 0x7fffd78faa01 : push %rbp (gdb) si 0x00007fffd78faa02 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa02 : mov %rsp,%rbp (gdb) 0x00007fffd78faa05 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa05 : lea -0x1030(%rsp),%rsp (gdb) 0x00007fffd78faa0d 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa0d : orq $0x0,(%rsp) (gdb) 0x00007fffd78faa12 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa12 : lea 0x1020(%rsp),%rsp (gdb) 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa1a : mov %fs:0x28,%rax (gdb) 0x00007fffd78faa23 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa23 : mov %rax,-0x8(%rbp) (gdb) 0x00007fffd78faa27 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa27 : xor %eax,%eax (gdb) 0x00007fffd78faa29 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa29 : cmpb $0x0,0x7a0350(%rip) # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> (gdb) 0x00007fffd78faa30 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa30 : jne 0x7fffd78faa94 (gdb) 0x00007fffd78faa32 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa32 : lea 0x7a0347(%rip),%rdi # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> (gdb) 0x00007fffd78faa39 99 BOOST_PYTHON_MODULE(libgraph_tool_generation) 1: x/i $pc => 0x7fffd78faa39 : callq 0x7fffd78f9b50 <__cxa_guard_acquire@plt> (gdb) disas $pc Dump of assembler code for function PyInit_libgraph_tool_generation(): 0x00007fffd78faa01 <+0>: push %rbp 0x00007fffd78faa02 <+1>: mov %rsp,%rbp 0x00007fffd78faa05 <+4>: lea -0x1030(%rsp),%rsp 0x00007fffd78faa0d <+12>: orq $0x0,(%rsp) 0x00007fffd78faa12 <+17>: lea 0x1020(%rsp),%rsp 0x00007fffd78faa1a <+25>: mov %fs:0x28,%rax 0x00007fffd78faa23 <+34>: mov %rax,-0x8(%rbp) 0x00007fffd78faa27 <+38>: xor %eax,%eax 0x00007fffd78faa29 <+40>: cmpb $0x0,0x7a0350(%rip) # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa30 <+47>: jne 0x7fffd78faa94 0x00007fffd78faa32 <+49>: lea 0x7a0347(%rip),%rdi # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> => 0x00007fffd78faa39 <+56>: callq 0x7fffd78f9b50 <__cxa_guard_acquire@plt> 0x00007fffd78faa3e <+61>: test %eax,%eax 0x00007fffd78faa40 <+63>: je 0x7fffd78faa94 0x00007fffd78faa42 <+65>: mov 0x4f0157(%rip),%rax # 0x7fffd7deaba0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base> 0x00007fffd78faa49 <+72>: mov %rax,0x7a0270(%rip) # 0x7fffd809acc0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa50 <+79>: mov 0x4f0151(%rip),%rax # 0x7fffd7deaba8 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+8> 0x00007fffd78faa57 <+86>: mov %rax,0x7a026a(%rip) # 0x7fffd809acc8 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+8> 0x00007fffd78faa5e <+93>: mov 0x4f014b(%rip),%rax # 0x7fffd7deabb0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+16> 0x00007fffd78faa65 <+100>: mov %rax,0x7a0264(%rip) # 0x7fffd809acd0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+16> 0x00007fffd78faa6c <+107>: mov 0x4f0145(%rip),%rax # 0x7fffd7deabb8 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+24> 0x00007fffd78faa73 <+114>: mov %rax,0x7a025e(%rip) # 0x7fffd809acd8 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+24> 0x00007fffd78faa7a <+121>: mov 0x4f013f(%rip),%rax # 0x7fffd7deabc0 <_ZZ31PyInit_libgraph_tool_generationE14initial_m_base+32> 0x00007fffd78faa81 <+128>: mov %rax,0x7a0258(%rip) # 0x7fffd809ace0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef+32> 0x00007fffd78faa88 <+135>: lea 0x7a02f1(%rip),%rdi # 0x7fffd809ad80 <_ZGVZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faa8f <+142>: callq 0x7fffd78f41f0 <__cxa_guard_release@plt> 0x00007fffd78faa94 <+147>: mov 0x79f15d(%rip),%rsi # 0x7fffd8099bf8 0x00007fffd78faa9b <+154>: lea 0x7a021e(%rip),%rdi # 0x7fffd809acc0 <_ZZ31PyInit_libgraph_tool_generationE9moduledef> 0x00007fffd78faaa2 <+161>: callq 0x7fffd78f60e0 <_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE@plt> 0x00007fffd78faaa7 <+166>: mov -0x8(%rbp),%rdx 0x00007fffd78faaab <+170>: xor %fs:0x28,%rdx 0x00007fffd78faab4 <+179>: je 0x7fffd78faabb 0x00007fffd78faab6 <+181>: callq 0x7fffd78f65e0 <__stack_chk_fail@plt> 0x00007fffd78faabb <+186>: leaveq 0x00007fffd78faabc <+187>: retq End of assembler dump. (gdb) set debug infrun 1 (gdb) si infrun: clear_proceed_status_thread (Thread 0x7ffff7fb6700 (LWP 21536)) infrun: proceed (addr=0xffffffffffffffff, signal=GDB_SIGNAL_DEFAULT, step=1) infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=0, current thread [Thread 0x7ffff7fb6700 (LWP 21536)] at 0x7fffd78faa39 infrun: target_wait (-1, status) = infrun: 21536 [Thread 0x7ffff7fb6700 (LWP 21536)], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x7fffd78f9b50 infrun: stepped into subroutine infrun: stop_waiting 0x00007fffd78f9b50 in __cxa_guard_acquire@plt () from /usr/lib64/python3.3/site-packages/graph_tool/generation/libgraph_tool_generation.so 1: x/i $pc => 0x7fffd78f9b50 <__cxa_guard_acquire@plt>: jmpq *0x79e75a(%rip) # 0x7fffd80982b0 <__cxa_guard_acquire@got.plt> (gdb) info registers rax 0x0 0 rbx 0x7fffda2e4b10 140736853854992 rcx 0x7fffd78faa01 140736809904641 rdx 0x7fffda2e5f50 140736853860176 rsi 0x555555cb09a0 93824999950752 rdi 0x7fffd809ad80 140736817900928 rbp 0x7fffffff95f0 0x7fffffff95f0 rsp 0x7fffffff95d8 0x7fffffff95d8 r8 0x7ffff7ffd908 140737354127624 r9 0x0 0 r10 0x7fffffff8ed0 140737488326352 r11 0x0 0 r12 0x7fffe4fe69c0 140737035266496 r13 0x0 0 r14 0x7fffda2e5f30 140736853860144 r15 0x7fffda2fa468 140736853943400 rip 0x7fffd78f9b50 0x7fffd78f9b50 <__cxa_guard_acquire@plt> eflags 0x246 [ PF ZF IF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 (gdb) x/gx 0x7fffd80982b0 0x7fffd80982b0 <__cxa_guard_acquire@got.plt>: 0x00000000001b1b56 (gdb) disas $pc Dump of assembler code for function __cxa_guard_acquire@plt: => 0x00007fffd78f9b50 <+0>: jmpq *0x79e75a(%rip) # 0x7fffd80982b0 <__cxa_guard_acquire@got.plt> 0x00007fffd78f9b56 <+6>: pushq $0x85c 0x00007fffd78f9b5b <+11>: jmpq 0x7fffd78f1580 End of assembler dump. (gdb) si infrun: clear_proceed_status_thread (Thread 0x7ffff7fb6700 (LWP 21536)) infrun: proceed (addr=0xffffffffffffffff, signal=GDB_SIGNAL_DEFAULT, step=1) infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=0, current thread [Thread 0x7ffff7fb6700 (LWP 21536)] at 0x7fffd78f9b50 infrun: target_wait (-1, status) = infrun: 21536 [Thread 0x7ffff7fb6700 (LWP 21536)], infrun: status->kind = stopped, signal = GDB_SIGNAL_TRAP infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1b1b56 infrun: stepi/nexti infrun: stop_waiting 0x00000000001b1b56 in ?? () 1: x/i $pc => 0x1b1b56: (gdb) si infrun: clear_proceed_status_thread (Thread 0x7ffff7fb6700 (LWP 21536)) infrun: proceed (addr=0xffffffffffffffff, signal=GDB_SIGNAL_DEFAULT, step=1) infrun: resume (step=1, signal=GDB_SIGNAL_0), trap_expected=0, current thread [Thread 0x7ffff7fb6700 (LWP 21536)] at 0x1b1b56 infrun: target_wait (-1, status) = infrun: 21536 [Thread 0x7ffff7fb6700 (LWP 21536)], infrun: status->kind = stopped, signal = GDB_SIGNAL_SEGV infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc = 0x1b1b56 infrun: random signal (GDB_SIGNAL_SEGV) infrun: stop_waiting Program received signal SIGSEGV, Segmentation fault. 0x00000000001b1b56 in ?? () 1: x/i $pc => 0x1b1b56: