Menu

#310 Hfst-optimized-lookup segfaults on CentOS

future
open
nobody
None
1
2015-09-11
2015-09-11
sjurum
No

To repeat:

1) build an OL fst
2) analyse some input

Result: it crashes immediately.

Expected: analysis

Hfst revision: 4432
OS: Linux version 2.6.32-431.23.3.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Thu Jul 31 17:20:51 UTC 2014

Output from valgrind:

$ valgrind hfst-optimized-lookup src/analyser-gt-desc.hfstol 
==8857== Memcheck, a memory error detector
==8857== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==8857== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==8857== Command: hfst-optimized-lookup src/analyser-gt-desc.hfstol
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x41ADD1: __intel_proc_init_ftzdazule (in /home/sjur/bin/hfst-optimized-lookup)
==8857==    by 0x401C3F: main (hfst-optimized-lookup.cc:78)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x41ADE7: __intel_proc_init_ftzdazule (in /home/sjur/bin/hfst-optimized-lookup)
==8857==    by 0x401C3F: main (hfst-optimized-lookup.cc:78)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x41AE36: __intel_sse2_strlen (in /home/sjur/bin/hfst-optimized-lookup)
==8857==    by 0x4034D2: TransducerAlphabet::get_next_symbol(_IO_FILE*, unsigned short) (hfst-optimized-lookup.cc:265)
==8857==    by 0x40BDD9: TransducerAlphabet::TransducerAlphabet(_IO_FILE*, unsigned short) (hfst-optimized-lookup.h:258)
==8857==    by 0x402246: setup(_IO_FILE*) (hfst-optimized-lookup.cc:431)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4034D7: TransducerAlphabet::get_next_symbol(_IO_FILE*, unsigned short) (hfst-optimized-lookup.cc:265)
==8857==    by 0x40BDD9: TransducerAlphabet::TransducerAlphabet(_IO_FILE*, unsigned short) (hfst-optimized-lookup.h:258)
==8857==    by 0x402246: setup(_IO_FILE*) (hfst-optimized-lookup.cc:431)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Use of uninitialised value of size 8
==8857==    at 0x4034E6: TransducerAlphabet::get_next_symbol(_IO_FILE*, unsigned short) (hfst-optimized-lookup.cc:265)
==8857==    by 0x40BDD9: TransducerAlphabet::TransducerAlphabet(_IO_FILE*, unsigned short) (hfst-optimized-lookup.h:258)
==8857==    by 0x402246: setup(_IO_FILE*) (hfst-optimized-lookup.cc:431)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x41AED5: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08B6A: memcpy (mc_replace_strmem.c:119)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08B8C: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D03: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D09: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Use of uninitialised value of size 8
==8857==    at 0x4A08D21: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Use of uninitialised value of size 8
==8857==    at 0x4A08D28: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D2A: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D13: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D30: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Use of uninitialised value of size 8
==8857==    at 0x4A08D4C: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Use of uninitialised value of size 8
==8857==    at 0x4A08D53: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D56: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Conditional jump or move depends on uninitialised value(s)
==8857==    at 0x4A08D76: memcpy (mc_replace_strmem.c:882)
==8857==    by 0x41AF4D: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
==8857== Invalid read of size 8
==8857==    at 0x40F97B: Encoder::Encoder(std::map<unsigned short, char const*, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, char const*> > >*, unsigned short) (hfst-optimized-lookup.cc:353)
==8857==    by 0x40F164: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:973)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857==  Address 0x4c27aa0 is 0 bytes inside a block of size 2 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x41AEED: __intel_sse2_strdup (in /home/sjur/bin/hfst-optimized-lookup)
==8857== 
guelie
==8857== Invalid write of size 2
==8857==    at 0x4090E9: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1238)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==  Address 0xd8fdb50 is 0 bytes after a block of size 2,000 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x40F1B3: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:975)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Invalid write of size 2
==8857==    at 0x40900E: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1220)
==8857==    by 0x403F84: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1276)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==  Address 0xd8fdb56 is 6 bytes after a block of size 2,000 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x40F1B3: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:975)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Invalid write of size 2
==8857==    at 0x40900E: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1220)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403F84: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1276)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==  Address 0xd8fdb58 is 8 bytes after a block of size 2,000 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x40F1B3: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:975)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Invalid write of size 2
==8857==    at 0x4090E9: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1238)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403F84: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1276)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==  Address 0xd8fdb5a is 10 bytes after a block of size 2,000 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x40F1B3: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:975)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Invalid write of size 2
==8857==    at 0x40900E: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1220)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403F84: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1276)
==8857==    by 0x409120: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1240)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403F84: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1276)
==8857==  Address 0xd8fdb60 is 16 bytes after a block of size 2,000 alloc'd
==8857==    at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==8857==    by 0x40F1B3: TransducerW::TransducerW(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:975)
==8857==    by 0x40E52E: TransducerWFd::TransducerWFd(_IO_FILE*, TransducerHeader, TransducerAlphabet) (hfst-optimized-lookup.h:967)
==8857==    by 0x402C07: setup(_IO_FILE*) (hfst-optimized-lookup.cc:489)
==8857==    by 0x402172: main (hfst-optimized-lookup.cc:194)
==8857== 
==8857== Invalid write of size 2
==8857==    at 0x404089: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1300)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==    by 0x403E07: TransducerW::get_analyses(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1499)
==8857==    by 0x40904F: TransducerWFd::try_epsilon_transitions(unsigned short*, unsigned short*, unsigned short*, unsigned int) (hfst-optimized-lookup.cc:1222)
==8857==  Address 0xd8fdb6a is not stack'd, malloc'd or (recently) free'd
==8857== 
terminate called without an active exception
==8857== 
==8857== HEAP SUMMARY:
==8857==     in use at exit: 52,450,797 bytes in 1,281,305 blocks
==8857==   total heap usage: 1,289,700 allocs, 8,395 frees, 69,607,352 bytes allocated
==8857== 
==8857== LEAK SUMMARY:
==8857==    definitely lost: 107 bytes in 2 blocks
==8857==    indirectly lost: 0 bytes in 0 blocks
==8857==      possibly lost: 496 bytes in 16 blocks
==8857==    still reachable: 52,450,194 bytes in 1,281,287 blocks
==8857==         suppressed: 0 bytes in 0 blocks
==8857== Rerun with --leak-check=full to see details of leaked memory
==8857== 
==8857== For counts of detected and suppressed errors, rerun with: -v
==8857== Use --track-origins=yes to see where uninitialised values come from
==8857== ERROR SUMMARY: 9193 errors from 26 contexts (suppressed: 6 from 6)
Aborted

Discussion

MongoDB Logo MongoDB