[Taginfo-dev] New taginfo -- segfault

Jochen Topf jochen at remote.org
Sun Jan 22 20:21:15 GMT 2012


Hi!

I am not sure I understand. Are you running an old tagstats or are you running
the new one? You should run the current tagstats (because taginfo needs all
the statistics it generates) and compile it yourself.

The biggest changes in tagstats a few months back were the statistics for tag
combinations and the distribution maps for ways. Both mean that tagstats needs
more memory. Maybe you are running out of memory.

Jochen

On Sun, Jan 22, 2012 at 08:25:42PM +0100, David Paleino wrote:
> Date: Sun, 22 Jan 2012 20:25:42 +0100
> From: David Paleino <d.paleino at gmail.com>
> To: taginfo-dev at openstreetmap.org
> Subject: [Taginfo-dev] New taginfo -- segfault
> 
> Hello people,
> I just updated the Italian instance of taginfo [0], and now tagstats segfaults.
> 
>   [0]: http://taginfo.hanskalabs.net/
> 
> While I could drop all my "customizations", and put them into the config.json,
> my limited C++-fu doesn't let me understand what's going on here:
> 
> $ ./tagstats -d -t 47.2 -l 6.4 -b 35.2 -r 18.6 ~/osm-dumps/italy.osm.pbf
> > taginfo-db.db 
> sizeof(value_hash_map_t) = 88
> sizeof(Counter) = 12
> sizeof(key_combination_hash_map_t) = 88
> sizeof(user_hash_map_t) = 88
> sizeof(GeoDistribution) = 16
> sizeof(KeyStats) = 320
> 
> string_store: chunk_size=10MB chunks=1 memory=10MB bytes_in_last=0kB
> VmPeak:	  125592 kB
> VmSize:	  125592 kB
> init done
> 
> Errore di segmentazione
> $
> 
> (roughly, "Segmentation error").
> 
> Running it through gdb gives this, which is quite obscure to my eyes:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000408555 in
> std::__uninitialized_fill_n_a<google::sparsegroup<unsigned short, (unsigned
> short)48, google::libc_allocator_with_realloc<unsigned short> >*, unsigned
> long, google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> >, google::libc_allocator_with_realloc<google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> > > > ()
> (gdb) bt full
> #0  0x0000000000408555 in
> std::__uninitialized_fill_n_a<google::sparsegroup<unsigned short, (unsigned
> short)48, google::libc_allocator_with_realloc<unsigned short> >*, unsigned
> long, google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> >, google::libc_allocator_with_realloc<google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> > > > ()
> No symbol table info available.
> #1  0x0000000000418e31 in std::vector<google::sparsegroup<unsigned short,
> (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> >,
> google::libc_allocator_with_realloc<google::sparsegroup<unsigned short,
> (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> >*, std::vector<google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> >, google::libc_allocator_with_realloc<google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> > > > >, unsigned long, google::sparsegroup<unsigned short, (unsigned short)48, google::libc_allocator_with_realloc<unsigned short> > const&) ()
> No symbol table info available.
> #2  0x0000000000419446 in google::sparsetable<unsigned short, (unsigned
> short)48, google::libc_allocator_with_realloc<unsigned short>
> >::resize(unsigned long) ()
> No symbol table info available.
> #3  0x0000000000424309 in
> TagStatsHandler::node(boost::shared_ptr<Osmium::OSM::Node const> const&) ()
> No symbol table info available.
> #4  0x0000000000426cf5 in void
> Osmium::Input::PBF<TagStatsHandler>::parse_dense_node_group<void
> (TagStatsHandler::*)(boost::shared_ptr<Osmium::OSM::Node const>
> const&)>(OSMPBF::PrimitiveGroup const&, OSMPBF::StringTable const&, void (TagStatsHandler::*)(boost::shared_ptr<Osmium::OSM::Node const> const&)) ()
> No symbol table info available.
> #5  0x0000000000429801 in Osmium::Input::PBF<TagStatsHandler>::parse() ()
> No symbol table info available.
> #6  0x0000000000412118 in void
> Osmium::OSMFile::read<TagStatsHandler>(TagStatsHandler&) ()
> No symbol table info available.
> #7  0x000000000040676b in main ()
> No symbol table info available.
> (gdb) 
> 
> Any hint on what could've gone wrong? I'm currently at
> ab2cca4d45f61071402c7e644f70d66a386b421e.
> 
> 
> Thank you very much,
> David
> 
> -- 
>  . ''`.   Debian developer | http://wiki.debian.org/DavidPaleino
>  : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
>  `. `'`  GPG: 1392B174 ----|---- http://deb.li/dapal
>    `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174



> _______________________________________________
> Taginfo-dev mailing list
> Taginfo-dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/taginfo-dev


-- 
Jochen Topf  jochen at remote.org  http://www.remote.org/jochen/  +49-721-388298




More information about the Taginfo-dev mailing list