Skip to content

Instantly share code, notes, and snippets.

@hhirsch
Last active August 29, 2015 14:02
Show Gist options
  • Save hhirsch/7f1cb02e1b3dadd5fc54 to your computer and use it in GitHub Desktop.
Save hhirsch/7f1cb02e1b3dadd5fc54 to your computer and use it in GitHub Desktop.
$ gdb --args ./source/glportal_d 8080
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/henry/system/projects/c++/glPortal/source/glportal_d...done.
(gdb) r
Starting program: /home/henry/system/projects/c++/glPortal/source/glportal_d 8080
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
GlPortal Server Listening on Port: 8080
Exception: bind: Address already in use
[Inferior 1 (process 16784) exited normally]
(gdb) r
Starting program: /home/henry/system/projects/c++/glPortal/source/glportal_d 8080
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
GlPortal Server Listening on Port: 8080
[New Thread 0xb553eb70 (LWP 16807)]
Program received signal SIGSEGV, Segmentation fault.
glPortal::StatisticsController::setMessage (this=0x0, message=...) at /home/henry/system/projects/c++/glPortal/source/engine/network/server/controllers/StatisticsController.cpp:18
18 log.push_back(message);
(gdb) bt full
#0 glPortal::StatisticsController::setMessage (this=0x0, message=...) at /home/henry/system/projects/c++/glPortal/source/engine/network/server/controllers/StatisticsController.cpp:18
actionName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x80974f4 "statistics"}}
pos = 3221221736
#1 0x0806c323 in glPortal::Controller::setMessage (this=0xbffff204, message=...) at /home/henry/system/projects/c++/glPortal/source/engine/network/server/Controller.cpp:12
controllerName = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x80974f4 "statistics"}}
pos = 11
#2 0xbffff204 in ?? ()
No symbol table info available.
#3 0xb73a48ad in *__GI___libc_free (mem=0x6c207363) at malloc.c:3738
ar_ptr = 0x8097058
p = 0x806f27b
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
$ make glportal_d
Scanning dependencies of target glportal_d
[ 12%] Building CXX object source/CMakeFiles/glportal_d.dir/engine/network/server/Main.cpp.o
[ 25%] Building CXX object source/CMakeFiles/glportal_d.dir/engine/network/server/UdpServer.cpp.o
[ 37%] Building CXX object source/CMakeFiles/glportal_d.dir/engine/network/server/TcpServer.cpp.o
[ 50%] Building CXX object source/CMakeFiles/glportal_d.dir/engine/network/server/TcpSession.cpp.o
[ 62%] Building CXX object source/CMakeFiles/glportal_d.dir/util/sheduler/Sheduler.cpp.o
In file included from /home/henry/system/projects/c++/glPortal/source/util/sheduler/Sheduler.cpp:4:
/usr/include/c++/4.6/chrono:666:7: error: static_assert expression is not an integral constant expression
static_assert(system_clock::duration::min()
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[3]: *** [source/CMakeFiles/glportal_d.dir/util/sheduler/Sheduler.cpp.o] Fehler 1
make[2]: *** [source/CMakeFiles/glportal_d.dir/all] Fehler 2
make[1]: *** [source/CMakeFiles/glportal_d.dir/rule] Fehler 2
make: *** [glportal_d] Fehler 2
$ make glportal_d
[ 12%] Building CXX object source/CMakeFiles/glportal_d.dir/engine/network/server/Main.cpp.o
clang: warning: argument unused during compilation: '-fsanitize=address'
clang: warning: argument unused during compilation: '-fsanitize=address'
In file included from /home/henry/system/projects/c++/glPortal/source/engine/network/server/Main.cpp:2:
In file included from /home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpServer.hpp:11:
/home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpSession.hpp:18:29: error: no type named 'shared_ptr' in namespace 'std'
void setController(std::shared_ptr<Controller> controller);
~~~~~^
/home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpSession.hpp:18:39: error: expected ')'
void setController(std::shared_ptr<Controller> controller);
^
/home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpSession.hpp:18:23: note: to match this '('
void setController(std::shared_ptr<Controller> controller);
^
/home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpSession.hpp:31:10: error: no type named 'shared_ptr' in namespace 'std'
std::shared_ptr<Controller> controller;
~~~~~^
/home/henry/system/projects/c++/glPortal/source/engine/network/server/TcpSession.hpp:31:20: error: expected member name or ';' after declaration specifiers
std::shared_ptr<Controller> controller;
~~~~~~~~~~~~~~~^
4 errors generated.
make[3]: *** [source/CMakeFiles/glportal_d.dir/engine/network/server/Main.cpp.o] Fehler 1
make[2]: *** [source/CMakeFiles/glportal_d.dir/all] Fehler 2
make[1]: *** [source/CMakeFiles/glportal_d.dir/rule] Fehler 2
make: *** [glportal_d] Fehler 2
==11114== Memcheck, a memory error detector
==11114== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11114== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11114== Command: ./source/glportal_d 8080
==11114==
--11114-- WARNING: Serious error when reading debug info
--11114-- When reading debug info from /usr/lib/i386-linux-gnu/nvidia/current/libGL.so.304.88:
--11114-- Can't make sense of .got.plt section mapping
--11114-- WARNING: Serious error when reading debug info
--11114-- When reading debug info from /usr/lib/i386-linux-gnu/libnvidia-glcore.so.304.88:
--11114-- Can't make sense of .got section mapping
==11114== Use of uninitialised value of size 4
==11114== at 0x806A857: glPortal::StatisticsController::setMessage(std::string) (StatisticsController.cpp:22)
==11114== by 0x806AFB2: glPortal::Controller::setMessage(std::string) (Controller.cpp:12)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B99953: ???
==11114==
==11114== Invalid read of size 4
==11114== at 0x806A857: glPortal::StatisticsController::setMessage(std::string) (StatisticsController.cpp:22)
==11114== by 0x806AFB2: glPortal::Controller::setMessage(std::string) (Controller.cpp:12)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B99953: ???
==11114== Address 0x8 is not stack'd, malloc'd or (recently) free'd
==11114==
==11114==
==11114== Process terminating with default action of signal 11 (SIGSEGV)
==11114== Access not within mapped region at address 0x8
==11114== at 0x806A857: glPortal::StatisticsController::setMessage(std::string) (StatisticsController.cpp:22)
==11114== by 0x806AFB2: glPortal::Controller::setMessage(std::string) (Controller.cpp:12)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B99953: ???
==11114== If you believe this happened as a result of a stack
==11114== overflow in your program's main thread (unlikely but
==11114== possible), you can try to increase the size of the
==11114== main thread stack using the --main-stacksize= flag.
==11114== The main thread stack size used in this run was 8388608.
GlPortal Server Listening on Port: 8080
==11114==
==11114== HEAP SUMMARY:
==11114== in use at exit: 131,632 bytes in 78 blocks
==11114== total heap usage: 3,372 allocs, 3,294 frees, 654,432 bytes allocated
==11114==
==11114== 15 bytes in 1 blocks are possibly lost in loss record 6 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4A36EE9: ??? (in /usr/lib/libboost_filesystem.so.1.49.0)
==11114== by 0x400E201: call_init (dl-init.c:85)
==11114== by 0x400E2D8: _dl_init (dl-init.c:134)
==11114== by 0x400087E: ??? (in /lib/i386-linux-gnu/ld-2.13.so)
==11114==
==11114== 15 bytes in 1 blocks are possibly lost in loss record 7 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4A36FD9: ??? (in /usr/lib/libboost_filesystem.so.1.49.0)
==11114== by 0x400E201: call_init (dl-init.c:85)
==11114== by 0x400E2D8: _dl_init (dl-init.c:134)
==11114== by 0x400087E: ??? (in /lib/i386-linux-gnu/ld-2.13.so)
==11114==
==11114== 23 bytes in 1 blocks are possibly lost in loss record 13 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B022D9: char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B023D7: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x806AF0C: glPortal::Controller::setMessage(std::string) (basic_string.h:2205)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B998B3: ???
==11114==
==11114== 28 bytes in 1 blocks are possibly lost in loss record 20 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B022D9: char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B023D7: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x806AF57: glPortal::Controller::setMessage(std::string) (basic_string.h:2205)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B8BD13: ???
==11114==
==11114== 28 bytes in 1 blocks are possibly lost in loss record 21 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B022D9: char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B023D7: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int, unsigned int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x806AF57: glPortal::Controller::setMessage(std::string) (basic_string.h:2205)
==11114== by 0x8065DBC: glPortal::TcpSession::handle_read(boost::system::error_code const&, unsigned int) (TcpSession.cpp:35)
==11114== by 0x6B998B3: ???
==11114==
==11114== 28 bytes in 2 blocks are possibly lost in loss record 22 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0xA4B6E803: ???
==11114==
==11114== 78 bytes in 1 blocks are possibly lost in loss record 29 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4A36E61: ??? (in /usr/lib/libboost_filesystem.so.1.49.0)
==11114== by 0x400E201: call_init (dl-init.c:85)
==11114== by 0x400E2D8: _dl_init (dl-init.c:134)
==11114== by 0x400087E: ??? (in /lib/i386-linux-gnu/ld-2.13.so)
==11114==
==11114== 78 bytes in 1 blocks are possibly lost in loss record 30 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4A37091: ??? (in /usr/lib/libboost_filesystem.so.1.49.0)
==11114== by 0x400E201: call_init (dl-init.c:85)
==11114== by 0x400E2D8: _dl_init (dl-init.c:134)
==11114== by 0x400087E: ??? (in /lib/i386-linux-gnu/ld-2.13.so)
==11114==
==11114== 84 bytes in 4 blocks are possibly lost in loss record 34 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02D25: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x400E2D8: _dl_init (dl-init.c:134)
==11114== by 0x400087E: ??? (in /lib/i386-linux-gnu/ld-2.13.so)
==11114==
==11114== 104 bytes in 2 blocks are possibly lost in loss record 37 of 49
==11114== at 0x4027E54: operator new(unsigned int) (vg_replace_malloc.c:282)
==11114== by 0x4B002C4: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02569: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0x4B02641: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==11114== by 0xA4B6E803: ???
==11114==
==11114== 160 bytes in 1 blocks are possibly lost in loss record 38 of 49
==11114== at 0x4026A68: calloc (vg_replace_malloc.c:566)
==11114== by 0x40111FB: _dl_allocate_tls (dl-tls.c:300)
==11114== by 0x49AD5A0: pthread_create@@GLIBC_2.1 (allocatestack.c:580)
==11114== by 0x4A1FE1F: boost::thread::start_thread() (in /usr/lib/libboost_thread.so.1.49.0)
==11114== by 0x806908C: boost::thread::thread<void (glPortal::Sheduler::*)(), glPortal::Sheduler*>(void (glPortal::Sheduler::*)(), glPortal::Sheduler*) (thread.hpp:253)
==11114== by 0x806702B: glPortal::Sheduler::start() (Sheduler.cpp:25)
==11114== by 0x400E50F: _dl_sort_fini (dl-fini.c:71)
==11114==
==11114== 123,095 bytes in 1 blocks are possibly lost in loss record 49 of 49
==11114== at 0x4026A68: calloc (vg_replace_malloc.c:566)
==11114== by 0x4148094: ??? (in /usr/lib/i386-linux-gnu/nvidia/current/libGL.so.304.88)
==11114==
==11114== LEAK SUMMARY:
==11114== definitely lost: 0 bytes in 0 blocks
==11114== indirectly lost: 0 bytes in 0 blocks
==11114== possibly lost: 123,736 bytes in 17 blocks
==11114== still reachable: 7,896 bytes in 61 blocks
==11114== suppressed: 0 bytes in 0 blocks
==11114== Reachable blocks (those to which a pointer was found) are not shown.
==11114== To see them, rerun with: --leak-check=full --show-reachable=yes
==11114==
==11114== For counts of detected and suppressed errors, rerun with: -v
==11114== Use --track-origins=yes to see where uninitialised values come from
==11114== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 77 from 10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment