DataSoft/Nova — Issue #68: Nova Serialization Broken on 64 bit machine
Author: PherricOxide
Created: 2012-02-27 04:29:47+00:00
State: open
Labels: Component:Lib, Type:Bug

The current master branch as of 2/26 seems to be broken on 64 bit Ubuntu 11.10 (found when I tried to run Nova on my home desktop). DeserializeFeatureData causes a google hash map error inside the ClassificationEngine. The exact location seems to vary, but it's usually around dserializing the port table or the IP table. I skimmed through the serialization code but didn't find anything that stood out as the problem.

$ uname -a
Linux depmod 3.0.0-16-generic 28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

# Stack trace

Thread [1] 20610 (Suspended : Signal : SIGABRT:Aborted)
raise() at 0x7ffff6c9e3a5
abort() at 0x7ffff6ca1b0b
__assert_fail() at 0x7ffff6c96d4d
google::dense_hashtable, unsigned short, std::tr1::hash, google::dense_hash_map, eqport, google::libc_allocator_with_realloc > >::SelectKey, google::dense_hash_map, eqport, google::libc_allocator_with_realloc > >::SetKey, eqport, google::libc_allocator_with_realloc > >::find_or_insert, eqport, google::libc_allocator_with_realloc > >::DefaultValue>() at densehashtable.h:964 0x4196fd
google::dense_hash_map, eqport, google::libc_allocator_with_realloc > >::operator[]() at dense_hash_map:270 0x417697
Nova::FeatureSet::DeserializeFeatureData() at FeatureSet.cpp:672 0x41698b
Nova::Suspect::DeserializeSuspectWithData() at Suspect.cpp:268 0x436f7d
Nova::ClassificationEngine::ReceiveSuspectData() at ClassificationEngine.cpp:1,555 0x409b99
main() at ClassificationEngine.cpp:280 0x40463f