When I save some files codeblocks crashes.
Reparsing saved files...
Thread 1 (process 31031):
#0  0x00007f12c0a2af95 in ?? () from /lib/libc.so.6
No symbol table info available.
#1  0x00007f12c0a2d23a in malloc () from /lib/libc.so.6
No symbol table info available.
#2  0x00007f12c124ea3d in operator new ()
   from /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6
No symbol table info available.
#3  0x00007f12ba1530db in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, __x=0x28, __p=0x1)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/ext/new_allocator.h:90
	__top = <value optimized out>
#4  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac6322d0, __p=0xad897c0)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad897f0
#5  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac62efd0, __p=0xad89790)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad897c0
#6  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac627b30, __p=0xad89760)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad89790
#7  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac618d10, __p=0xad89730)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad89760
#8  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac604fd0, __p=0xad89700)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad89730
#9  0x00007f12ba153115 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy (this=0x7fffcedcb230, 
    __x=0x7f12ac5f1650, __p=0x7fffcedcb238)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:1232
	__top = (class std::_Rb_tree_node<int> *) 0xad89700
#10 0x00007f12ba174bd7 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::operator= (this=0x7fffcedcb230, 
    __x=@0x7f12b0747de0)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_tree.h:800
No locals.
#11 0x00007f12ba18dc32 in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_set.h:220
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, 
        _M_left = 0x7fffcedcb238, _M_right = 0x7fffcedcb238}, 
      _M_node_count = 0}}}
	idx2 = <value optimized out>
#12 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad88da0, _M_left = 0xad896d0, _M_right = 0xad88f20}, 
      _M_node_count = 50}}}
	idx2 = <value optimized out>
#13 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad88440, _M_left = 0xad88d70, _M_right = 0xad885c0}, 
      _M_node_count = 50}}}
	idx2 = <value optimized out>
#14 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad87ae0, _M_left = 0xad88410, _M_right = 0xad87c60}, 
      _M_node_count = 50}}}
	idx2 = <value optimized out>
#15 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad87180, _M_left = 0xad87ab0, _M_right = 0xad87300}, 
      _M_node_count = 50}}}
	idx2 = <value optimized out>
#16 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad86820, _M_left = 0xad87150, _M_right = 0xad869a0}, 
      _M_node_count = 50}}}
	idx2 = <value optimized out>
#17 0x00007f12ba18dc4b in TokensTree::RemoveToken (this=0x1309310, 
    oldToken=0x7f12b0747d00) at parser/token.cpp:601
	idx = 21875
	parentToken = <value optimized out>
	nodes = {_M_t = {
    _M_impl = {<std::allocator<std::_Rb_tree_node<int> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<int> >> = {<No data fields>}, <No data fields>}, 
      _M_key_compare = {<std::binary_function<int,int,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, 
        _M_parent = 0xad85ec0, _M_left = 0xad867f0, _M_right = 0xad86040}, 
      _M_node_count = 50}}}
This continues to about 58000 deep and the gdb crashes so I can't get a full backtrace.
It doesn't seem to do it on all files either, I can send all my source if you would like too.