Hi all, for some reason pan crashes when I want to open a group containing lots of messages.
I ran 0.139 in gdb to see if I could collect a stack dump but when the crash occurs, there is no stack to be inspected. I compiled the 139 release using CLAGS and CXXFLAGS=-g but it does not seem to be enough. I also ran it through valgrind but it takes to damn long ... however I noticed lots of overruns (accessing bytes outside of the allocated memory) at the end you can find one such an example Help ! W ==4639== Invalid read of size 8 ==4639== at 0x70C3120: wcslen (wcslen.S:127) ==4639== by 0x70CC3FE: wcsxfrm_l (strxfrm_l.c:107) ==4639== by 0x61057BE: g_utf8_collate_key (in /lib/x86_64-linux- gnu/libglib-2.0.so.0.3200.3) ==4639== by 0x60191D: pan::HeaderPane::Row::do_collate(pan::StringView const&) (header-pane.h:221) ==4639== by 0x6019A2: pan::HeaderPane::Row::get_collated_subject() const (header-pane.h:231) ==4639== by 0x5F7E09: pan::HeaderPane::column_compare_func(_GtkTreeModel*, _GtkTreeIter*, _GtkTreeIter*, void*) (header-pane.cc:439) ==4639== by 0x6145AA: PanTreeStore::RowCompareByColumn::operator() (PanTreeStore::Row const*, PanTreeStore::Row const*) const (pan-tree.cc:856) ==4639== by 0x61AC8D: __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > > std::__unguarded_partition<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::Row*, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::Row* const&, PanTreeStore::RowCompareByColumn) (stl_algo.h:2233) ==4639== by 0x618FCD: __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > > std::__unguarded_partition_pivot<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn) (stl_algo.h:2265) ==4639== by 0x617012: void std::__introsort_loop<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, long, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, long, PanTreeStore::RowCompareByColumn) (stl_algo.h:2306) ==4639== by 0x615458: void std::sort<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn) (stl_algo.h:5445) ==4639== by 0x6123C9: PanTreeStore::insert_sorted(PanTreeStore::Row*, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > const&) (pan-tree.cc:916) ==4639== Address 0x7e618608 is 0 bytes after a block of size 280 alloc'd ==4639== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck- amd64-linux.so) ==4639== by 0x60E1A78: g_malloc (in /lib/x86_64-linux- gnu/libglib-2.0.so.0.3200.3) ==4639== by 0x6106381: ??? (in /lib/x86_64-linux- gnu/libglib-2.0.so.0.3200.3) ==4639== by 0x610578A: g_utf8_collate_key (in /lib/x86_64-linux- gnu/libglib-2.0.so.0.3200.3) ==4639== by 0x60191D: pan::HeaderPane::Row::do_collate(pan::StringView const&) (header-pane.h:221) ==4639== by 0x6019A2: pan::HeaderPane::Row::get_collated_subject() const (header-pane.h:231) ==4639== by 0x5F7E09: pan::HeaderPane::column_compare_func(_GtkTreeModel*, _GtkTreeIter*, _GtkTreeIter*, void*) (header-pane.cc:439) ==4639== by 0x6145AA: PanTreeStore::RowCompareByColumn::operator() (PanTreeStore::Row const*, PanTreeStore::Row const*) const (pan-tree.cc:856) ==4639== by 0x61AC8D: __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > > std::__unguarded_partition<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::Row*, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::Row* const&, PanTreeStore::RowCompareByColumn) (stl_algo.h:2233) ==4639== by 0x618FCD: __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > > std::__unguarded_partition_pivot<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn) (stl_algo.h:2265) ==4639== by 0x617012: void std::__introsort_loop<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, long, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, long, PanTreeStore::RowCompareByColumn) (stl_algo.h:2306) ==4639== by 0x615458: void std::sort<__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn>(__gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, __gnu_cxx::__normal_iterator<PanTreeStore::Row**, std::vector<PanTreeStore::Row*, std::allocator<PanTreeStore::Row*> > >, PanTreeStore::RowCompareByColumn) (stl_algo.h:5445) _______________________________________________ Pan-users mailing list Pan-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/pan-users