[Bug 1002590] [NEW] No crashreporter in Firefox or Thunderbird

Chris Coulson chris.coulson at canonical.com
Tue May 22 01:31:53 UTC 2012


Public bug reported:

dump_syms crashes during the build when creating the breakpad symbols
with gcc 4.7. It isn't recreatable at all on a local build, which is a
bit of a pain.

The stack looks like this:

#0  0x00007ffff7320445 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <optimized out>
        selftid = 31533
#1  0x00007ffff7323bab in __GI_abort () at abort.c:91
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x3, sa_sigaction = 0x3}, sa_mask = {__val = {4, 140737488347766, 47, 140737341956901, 1, 140737341961145, 3, 140737488338444, 4, 140737341956848, 1, 
              140737341965828, 3, 140737488338420, 12, 140737341965832}}, sa_flags = 2, sa_restorer = 0x7ffff7464608}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff735de2e in __libc_message (do_abort=2, fmt=0x7ffff74660d0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:201
        ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffffffc770, reg_save_area = 0x7fffffffc680}}
        ap_copy = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fffffffc770, reg_save_area = 0x7fffffffc680}}
        fd = 7
        on_2 = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007ffff7368626 in malloc_printerr (action=3, str=0x7ffff7466230 "double free or corruption (out)", ptr=<optimized out>) at malloc.c:5007
        buf = "000055555578f900"
        cp = <optimized out>
#4  0x000055555555b277 in deallocate (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.7/ext/new_allocator.h:100
No locals.
#5  _M_put_node (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.7/bits/stl_list.h:356
No locals.
#6  std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::_M_clear (
    this=this at entry=0x55555578f908) at /usr/include/c++/4.7/bits/list.tcc:80
        __tmp = <optimized out>
        __cur = 0x5555557880d0
#7  0x000055555555b2b9 in ~_List_base (this=0x55555578f908, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/stl_list.h:401
No locals.
#8  ~list (this=0x55555578f908, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/stl_list.h:458
No locals.
#9  ~Abbrev (this=0x55555578f8f8, __in_chrg=<optimized out>)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/../../common/dwarf/dwarf2reader.h:244
No locals.
#10 _Destroy<dwarf2reader::CompilationUnit::Abbrev> (__pointer=0x55555578f8f8) at /usr/include/c++/4.7/bits/stl_construct.h:95
No locals.
#11 __destroy<dwarf2reader::CompilationUnit::Abbrev*> (__last=0x555555790b10, __first=0x55555578f8f8) at /usr/include/c++/4.7/bits/stl_construct.h:105
No locals.
#12 _Destroy<dwarf2reader::CompilationUnit::Abbrev*> (__last=0x555555790b10, __first=<optimized out>) at /usr/include/c++/4.7/bits/stl_construct.h:128
No locals.
#13 _Destroy<dwarf2reader::CompilationUnit::Abbrev*, dwarf2reader::CompilationUnit::Abbrev> (__last=0x555555790b10, __first=<optimized out>) at /usr/include/c++/4.7/bits/stl_construct.h:155
No locals.
#14 ~vector (this=0x555555788090, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/stl_vector.h:403
No locals.
#15 dwarf2reader::CompilationUnit::~CompilationUnit (this=<optimized out>, __in_chrg=<optimized out>)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/../../common/dwarf/dwarf2reader.h:227
No locals.
#16 0x000055555555bb21 in (anonymous namespace)::LoadDwarf (dwarf_filename=..., elf_header=elf_header at entry=0x7ffff7f5c000, big_endian=big_endian at entry=false, module=module at entry=0x7fffffffccd0)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc:283
        reporter = <incomplete type>
        root_handler = {<dwarf2reader::RootDIEHandler> = {<dwarf2reader::DIEHandler> = {_vptr.DIEHandler = 0x555555786170}, <No data fields>}, line_reader_ = 0x7fffffffc800, cu_context_ = 0x555555789460, 
          child_context_ = 0x5555557894a0, has_source_line_info_ = true, source_line_offset_ = 0, 
          lines_ = {<std::_Vector_base<google_breakpad::Module::Line, std::allocator<google_breakpad::Module::Line> >> = {
              _M_impl = {<std::allocator<google_breakpad::Module::Line>> = {<__gnu_cxx::new_allocator<google_breakpad::Module::Line>> = {<No data fields>}, <No data fields>}, _M_start = 0x55555579db00, 
                _M_finish = 0x55555579eba0, _M_end_of_storage = 0x55555579fb00}}, <No data fields>}}
        die_dispatcher = <incomplete type>
        reader = {_vptr.CompilationUnit = 0x555555785d60, header_ = {length = 15350, version = 2, abbrev_offset = 0, address_size = 8 '\b'}, offset_from_section_start_ = 0, 
          buffer_ = 0x7ffff7f6cc3c "\366;", buffer_length_ = 120649, after_header_ = 0x7ffff7f6cc47 "\001*\"", reader_ = 0x7fffffffc8c8, sections_ = @0x7fffffffc840, handler_ = 0x7fffffffc928, 
          abbrevs_ = 0x555555788090, string_buffer_ = 0x7ffff7f914fb "_ZNK8nsCOMPtrI12nsILocalFileEptEv", string_buffer_length_ = 35018}
        offset = 15354
        endianness = <optimized out>
        file_context = {filename = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
              _M_p = 0x555555788028 "/home/chr1s/src/firefox/mozilla-beta/obj-x86_64-unknown-linux-gnu/dist/bin/firefox"}}, section_map = {_M_t = {
              _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<char const*, unsigned long long> > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<char const*, unsigned long long> > > >> = {<No data fields>}, <No data fields>}, 
                _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x555555788970, _M_left = 0x5555557881b0, _M_right = 0x555555788900}, _M_node_count = 39}}}, 
          module = 0x7fffffffccd0, file_private = 0x5555557882e0}
        sections = <optimized out>
        debug_info_section = {first = <optimized out>, second = 120649}
        debug_info_length = 120649
        byte_reader = <incomplete type>
        num_sections = <optimized out>
        section_names = <optimized out>
        line_to_module = {<google_breakpad::DwarfCUToModule::LineToModuleFunctor> = {_vptr.LineToModuleFunctor = 0x555555785830}, byte_reader_ = 0x7fffffffc8c8}
#17 0x000055555555be87 in (anonymous namespace)::LoadSymbols (obj_file=..., big_endian=big_endian at entry=false, elf_header=0x7ffff7f5c000, read_gnu_debug_link=read_gnu_debug_link at entry=true, 
    info=info at entry=0x7fffffffcc78, module=module at entry=0x7fffffffccd0)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc:559
        loading_addr = 140737353925952
        sections = 0x7ffff7fcc540
        stab_section = <optimized out>
        dwarf_cfi_section = <optimized out>
        section_names = 0x7ffff7fcce40
        found_debug_info_section = true
        dwarf_section = <optimized out>
        eh_frame_section = <optimized out>
#18 0x000055555555c40a in google_breakpad::WriteSymbolFile (obj_file=..., debug_dir=..., sym_file=0x7ffff76a1260)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc:712
        module = {name_ = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
              _M_p = 0x555555788108 "firefox"}}, os_ = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
              _M_p = 0x555555788138 "Linux"}}, architecture_ = {static npos = <optimized out>, 
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x555555788198 "x86_64"}}, id_ = {static npos = <optimized out>, 
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x555555788258 "5D22B894777083103D31E72DB9C1F08E0"}}, 
          load_address_ = 4194304, files_ = {_M_t = {
              _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const* const, google_breakpad::Module::File*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const* const, google_breakpad::Module::File*> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x555555799440, _M_left = 0x55555579b7f0, _M_right = 0x55555579ac80}, _M_node_count = 42}}}, functions_ = {_M_t = {
              _M_impl = {<std::allocator<std::_Rb_tree_node<google_breakpad::Module::Function*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<google_breakpad::Module::Function*> >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x555555799260, _M_left = 0x55555579acc0, _M_right = 0x5555557993e0}, _M_node_count = 3}}}, 
          stack_frame_entries_ = {<std::_Vector_base<google_breakpad::Module::StackFrameEntry*, std::allocator<google_breakpad::Module::StackFrameEntry*> >> = {
              _M_impl = {<std::allocator<google_breakpad::Module::StackFrameEntry*>> = {<__gnu_cxx::new_allocator<google_breakpad::Module::StackFrameEntry*>> = {<No data fields>}, <No data fields>}, 
                _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}}
        map_wrapper = {is_set_ = true, base_ = 0x7ffff7f5c000, size_ = 476754}
        file_id = {path_ = "/home/chr1s/src/firefox/mozilla-beta/obj-x86_64-unknown-linux-gnu/dist/bin/firefox", '\000' <repeats 4013 times>}
        architecture = 0x555555575e0f "x86_64"
        os = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x555555788138 "Linux"}}
        id = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
            _M_p = 0x555555788258 "5D22B894777083103D31E72DB9C1F08E0"}}
        info = {debug_dir_ = @0x7fffffffde00, debuglink_file_ = {static npos = <optimized out>, 
            _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff7dc74d8 ""}}, has_loading_addr_ = false, 
          loading_addr_ = 4194304, loaded_file_ = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
              _M_p = 0x555555788028 "/home/chr1s/src/firefox/mozilla-beta/obj-x86_64-unknown-linux-gnu/dist/bin/firefox"}}, loaded_sections_ = {_M_t = {
              _M_impl = {<std::allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<No data fields>}, <No data fields>}, 
                _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x5555557882b0, _M_left = 0x5555557882b0, _M_right = 0x5555557882b0}, _M_node_count = 1}}}}
        elf_header = 0x7ffff7f5c000
        identifier = "\224\270\"]pw\020\203=1\347-\271\301", <incomplete sequence \360\216>
        big_endian = false
        name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x555555788108 "firefox"}}
#19 0x000055555555a0cf in main (argc=<optimized out>, argv=<optimized out>)
    at /build/buildd/firefox-13.0~b4+build1/build-tree/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/dump_syms.cc:49
        binary = 0x7fffffffe2a6 "/home/chr1s/src/firefox/mozilla-beta/obj-x86_64-unknown-linux-gnu/dist/bin/firefox"
        debug_dir = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff7dc74d8 ""}}

Unfortunately, valgrind is not much help by default because dump_syms is
statically linked (so memcheck can't hook in to malloc / free). However,
I can do a dynamic build in a PPA and get that build to crash locally.
In this case, I see this in valgrind:

==965== Invalid read of size 8
==965==    at 0x10F277: std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::_M_clear() (stl_list.h:358)
==965==    by 0x121978: std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::~_List_base() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x120441: std::list<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::~list() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x12047D: dwarf2reader::CompilationUnit::Abbrev::~Abbrev() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x12781C: void std::_Destroy<dwarf2reader::CompilationUnit::Abbrev>(dwarf2reader::CompilationUnit::Abbrev*) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x1260E5: void std::_Destroy_aux<false>::__destroy<dwarf2reader::CompilationUnit::Abbrev*>(dwarf2reader::CompilationUnit::Abbrev*, dwarf2reader::CompilationUnit::Abbrev*) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x123A98: void std::_Destroy<dwarf2reader::CompilationUnit::Abbrev*>(dwarf2reader::CompilationUnit::Abbrev*, dwarf2reader::CompilationUnit::Abbrev*) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x122626: void std::_Destroy<dwarf2reader::CompilationUnit::Abbrev*, dwarf2reader::CompilationUnit::Abbrev>(dwarf2reader::CompilationUnit::Abbrev*, dwarf2reader::CompilationUnit::Abbrev*, std::allocator<dwarf2reader::CompilationUnit::Abbrev>&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x122B1E: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::_M_insert_aux(__gnu_cxx::__normal_iterator<dwarf2reader::CompilationUnit::Abbrev*, std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> > >, dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x121BFB: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::push_back(dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x119E9A: dwarf2reader::CompilationUnit::ReadAbbrevs() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x11A7D9: dwarf2reader::CompilationUnit::Start() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x10FB10: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:282)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965==  Address 0x5c1f660 is 0 bytes after a block of size 64 alloc'd
==965==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==965==    by 0x126589: __gnu_cxx::new_allocator<dwarf2reader::CompilationUnit::Abbrev>::allocate(unsigned long, void const*) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x124674: std::_Vector_base<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::_M_allocate(unsigned long) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x122A42: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::_M_insert_aux(__gnu_cxx::__normal_iterator<dwarf2reader::CompilationUnit::Abbrev*, std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> > >, dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x121BFB: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::push_back(dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x119E9A: dwarf2reader::CompilationUnit::ReadAbbrevs() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x11A7D9: dwarf2reader::CompilationUnit::Start() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x10FB10: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:282)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965== 
--965-- REDIR: 0x56b0d30 (__memmove_ssse3_back) redirected to 0x4c2cd20 (memcpy at GLIBC_2.2.5)
--965-- REDIR: 0x55f06e0 (__GI_memset) redirected to 0x4c2e080 (memset)
==965== Invalid free() / delete / delete[] / realloc()
==965==    at 0x4C2A4BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==965==    by 0x10F276: std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::_M_clear() (new_allocator.h:100)
==965==    by 0x10F2B8: dwarf2reader::CompilationUnit::~CompilationUnit() (stl_list.h:401)
==965==    by 0x10FB20: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:283)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965==  Address 0x5c49a90 is 48 bytes inside a block of size 8,192 alloc'd
==965==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==965==    by 0x126589: __gnu_cxx::new_allocator<dwarf2reader::CompilationUnit::Abbrev>::allocate(unsigned long, void const*) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x124674: std::_Vector_base<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::_M_allocate(unsigned long) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x122A42: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::_M_insert_aux(__gnu_cxx::__normal_iterator<dwarf2reader::CompilationUnit::Abbrev*, std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> > >, dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x121BFB: std::vector<dwarf2reader::CompilationUnit::Abbrev, std::allocator<dwarf2reader::CompilationUnit::Abbrev> >::push_back(dwarf2reader::CompilationUnit::Abbrev const&) (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x119E9A: dwarf2reader::CompilationUnit::ReadAbbrevs() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x11A7D9: dwarf2reader::CompilationUnit::Start() (in /home/chr1s/Desktop/buildd-dyn-gcc4.7/dump_syms)
==965==    by 0x10FB10: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:282)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965== 
==965== Invalid read of size 8
==965==    at 0x10F26F: std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::_M_clear() (list.tcc:74)
==965==    by 0x10F2B8: dwarf2reader::CompilationUnit::~CompilationUnit() (stl_list.h:401)
==965==    by 0x10FB20: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:283)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965==  Address 0x5c4bf80 is 0 bytes inside a block of size 24 free'd
==965==    at 0x4C2A4BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==965==    by 0x10F276: std::_List_base<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm>, std::allocator<std::pair<dwarf2reader::DwarfAttribute, dwarf2reader::DwarfForm> > >::_M_clear() (new_allocator.h:100)
==965==    by 0x10F2B8: dwarf2reader::CompilationUnit::~CompilationUnit() (stl_list.h:401)
==965==    by 0x10FB20: (anonymous namespace)::LoadDwarf(std::string const&, Elf64_Ehdr const*, bool, google_breakpad::Module*) (dump_symbols.cc:283)
==965==    by 0x10FE86: (anonymous namespace)::LoadSymbols(std::string const&, bool, Elf64_Ehdr*, bool, (anonymous namespace)::LoadSymbolsInfo*, google_breakpad::Module*) (dump_symbols.cc:559)
==965==    by 0x110409: google_breakpad::WriteSymbolFile(std::string const&, std::string const&, _IO_FILE*) (dump_symbols.cc:712)
==965==    by 0x10E0CE: main (dump_syms.cc:49)
==965== 

I wonder if this is actually a STL issue

** Affects: firefox (Ubuntu)
     Importance: High
         Status: Triaged

** Affects: thunderbird (Ubuntu)
     Importance: High
         Status: Triaged

** Affects: firefox (Ubuntu Quantal)
     Importance: High
         Status: Triaged

** Affects: thunderbird (Ubuntu Quantal)
     Importance: High
         Status: Triaged

** Also affects: firefox (Ubuntu Quantal)
   Importance: Undecided
       Status: New

** Changed in: firefox (Ubuntu Quantal)
   Importance: Undecided => High

** Changed in: firefox (Ubuntu Quantal)
       Status: New => Triaged

** Changed in: firefox (Ubuntu Quantal)
    Milestone: None => quantal-alpha-1

** Also affects: thunderbird (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: thunderbird (Ubuntu Quantal)
   Importance: Undecided => High

** Changed in: thunderbird (Ubuntu Quantal)
       Status: New => Triaged

** Changed in: thunderbird (Ubuntu Quantal)
    Milestone: None => quantal-alpha-1

-- 
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to firefox in Ubuntu.
https://bugs.launchpad.net/bugs/1002590

Title:
  No crashreporter in Firefox or Thunderbird

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1002590/+subscriptions




More information about the Ubuntu-mozillateam-bugs mailing list