im using pocketsphinx for a telephony application. when the call is initiated a decoder instance is created by calling ps_init, and once the call is terminated, the decoder instance is released by calling ps_free.
however what i notice is that after some number of iterations, the kernel memory is getting exhausted.
i could see the virtual memory size is increasing for every iteration by 10Kb atleast
i used a memory leak analyser tool valgrind to see if there are any apparent issues. The report shows that some of the CMU resources initialized during ps_init are not released properly even after calling ps_free.
the report is enclosed to give an idea on the call stack
i would like to understand if this is a bug on CMU ?
a snapshot of the valgrind report for the leak points is show below along with call stack.
==9278==
==9278== Thread 1:
==9278== 5 bytes in 1 blocks are still reachable in loss record 1 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 5 bytes in 1 blocks are still reachable in loss record 2 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 3 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 4 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 5 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 6 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 7 bytes in 1 blocks are still reachable in loss record 7 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 9 bytes in 1 blocks are still reachable in loss record 8 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 9 bytes in 1 blocks are still reachable in loss record 9 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BCC: ps_expand_file_config (pocketsphinx.c:111)
==9278== by 0x4066E4F: ps_reinit (pocketsphinx.c:145)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 12 bytes in 1 blocks are still reachable in loss record 10 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 11 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 12 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 13 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 18 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 19 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 20 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 21 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 22 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 23 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 24 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 25 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 26 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 27 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 28 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 29 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 30 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 31 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BCC: ps_expand_file_config (pocketsphinx.c:111)
==9278== by 0x4066E4F: ps_reinit (pocketsphinx.c:145)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 27 bytes in 4 blocks are still reachable in loss record 32 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278==
==9278==
==9278== 66 bytes in 1 blocks are still reachable in loss record 41 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 67 bytes in 1 blocks are still reachable in loss record 42 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 67 bytes in 9 blocks are still reachable in loss record 43 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278==
==9278== 69 bytes in 1 blocks are still reachable in loss record 44 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 71 bytes in 1 blocks are still reachable in loss record 45 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 71 bytes in 1 blocks are still reachable in loss record 46 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 73 bytes in 1 blocks are still reachable in loss record 47 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 77 bytes in 1 blocks are still reachable in loss record 48 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 79 bytes in 1 blocks are still reachable in loss record 49 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 81 bytes in 1 blocks are still reachable in loss record 51 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 112 bytes in 18 blocks are still reachable in loss record 56 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4082D5E: cmd_ln_parse_file_r (cmd_ln.c:843)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 120 bytes in 1 blocks are still reachable in loss record 57 of 69
==9278== at 0x4027477: realloc (vg_replace_malloc.c:662)
==9278== by 0x407C7A8: ckd_realloc (ckd_alloc.c:194)
==9278== by 0x4082A71: parse_options (cmd_ln.c:456)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 144 bytes in 9 blocks are still reachable in loss record 58 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 152 bytes in 1 blocks are possibly lost in loss record 59 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x4011FC9: _dl_allocate_tls (in /lib/ld-2.12.so)
==9278== by 0x40CD43F: pthread_create@@GLIBC_2.1 (in /lib/libpthread-2.12.so)
==9278== by 0x804B846: start_worker(unsigned short) (CmnMsDef_Thread.h:993)
==9278== by 0x804CE76: process_message(unsigned char) (ms_hwd_engine.cpp:290)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 352 bytes in 1 blocks are still reachable in loss record 60 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x427F36E: __fopen_internal (in /lib/libc-2.12.so)
==9278== by 0x427F43B: fopen@@GLIBC_2.1 (in /lib/libc-2.12.so)
==9278== by 0x408343E: err_set_logfile (err.c:244)
==9278== by 0x4066C81: ps_reinit (pocketsphinx.c:232)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char*) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
im little bit confused on the documentation for ps_init when it says "The decoder retains ownership of the pointer config, so you must not attempt to free it manually"
you are right, im not freeing the cmd_ln_t object. i was assuming ps_free shall take care of it.
Anyways after releasing the config object, and i see the valgrind report is better now..However there is still one leak being pointed out as follows.
==5555== Thread 1:
==5555== 352 bytes in 1 blocks are still reachable in loss record 1 of 2
==5555== at 0x4027282: malloc (vg_replace_malloc.c:270)
==5555== by 0x427F36E: __fopen_internal (in /lib/libc-2.12.so)
==5555== by 0x427F43B: fopen@@GLIBC_2.1 (in /lib/libc-2.12.so)
==5555== by 0x408343E: err_set_logfile (err.c:244)
==5555== by 0x4066C81: ps_reinit (pocketsphinx.c:232)
==5555== by 0x406753B: ps_init (pocketsphinx.c:398)
==5555== by 0x804AEF1: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:70)
==5555== by 0x804B22E: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==5555== by 0x804CF21: process_message(unsigned char*) (ms_hwd_engine.cpp:262)
==5555== by 0x804D32D: processing_loop() (ms_hwd_engine.cpp:633)
==5555== by 0x804F0BB: main (ms_hwd_app.cpp:35)
looks like the logfp handle is not getting closed. ive manually closed the handle using err_get_logfp. Howevre i would like to understand if calls to ps_free or cmd_ln_free_r should have taken care of this ?
Last edit: Arun venkatesh 2018-01-31
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
im using pocketsphinx for a telephony application. when the call is initiated a decoder instance is created by calling ps_init, and once the call is terminated, the decoder instance is released by calling ps_free.
however what i notice is that after some number of iterations, the kernel memory is getting exhausted.
i could see the virtual memory size is increasing for every iteration by 10Kb atleast
i used a memory leak analyser tool valgrind to see if there are any apparent issues. The report shows that some of the CMU resources initialized during ps_init are not released properly even after calling ps_free.
the report is enclosed to give an idea on the call stack
i would like to understand if this is a bug on CMU ?
a snapshot of the valgrind report for the leak points is show below along with call stack.
==9278==
==9278== Thread 1:
==9278== 5 bytes in 1 blocks are still reachable in loss record 1 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 5 bytes in 1 blocks are still reachable in loss record 2 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 3 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 4 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 5 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 6 bytes in 1 blocks are still reachable in loss record 6 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 7 bytes in 1 blocks are still reachable in loss record 7 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 9 bytes in 1 blocks are still reachable in loss record 8 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 9 bytes in 1 blocks are still reachable in loss record 9 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BCC: ps_expand_file_config (pocketsphinx.c:111)
==9278== by 0x4066E4F: ps_reinit (pocketsphinx.c:145)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 12 bytes in 1 blocks are still reachable in loss record 10 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 11 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 12 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 13 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 18 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 19 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 20 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 21 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 22 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 23 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 24 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 25 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 26 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 27 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 28 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 29 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 30 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x4084720: enter (hash_table.c:404)
==9278== by 0x4084AE3: hash_table_enter (hash_table.c:508)
==9278== by 0x4081C72: cmd_ln_set_str_extra_r (cmd_ln.c:1007)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 16 bytes in 1 blocks are still reachable in loss record 31 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BCC: ps_expand_file_config (pocketsphinx.c:111)
==9278== by 0x4066E4F: ps_reinit (pocketsphinx.c:145)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 27 bytes in 4 blocks are still reachable in loss record 32 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278==
==9278==
==9278== 66 bytes in 1 blocks are still reachable in loss record 41 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D08: ps_reinit (pocketsphinx.c:136)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 67 bytes in 1 blocks are still reachable in loss record 42 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D2C: ps_reinit (pocketsphinx.c:137)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 67 bytes in 9 blocks are still reachable in loss record 43 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081693: cmd_ln_val_init (cmd_ln.c:427)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278==
==9278== 69 bytes in 1 blocks are still reachable in loss record 44 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DBC: ps_reinit (pocketsphinx.c:141)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 71 bytes in 1 blocks are still reachable in loss record 45 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D50: ps_reinit (pocketsphinx.c:138)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 71 bytes in 1 blocks are still reachable in loss record 46 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066DE0: ps_reinit (pocketsphinx.c:142)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 73 bytes in 1 blocks are still reachable in loss record 47 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E2B: ps_reinit (pocketsphinx.c:144)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 77 bytes in 1 blocks are still reachable in loss record 48 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D98: ps_reinit (pocketsphinx.c:140)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 79 bytes in 1 blocks are still reachable in loss record 49 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066E04: ps_reinit (pocketsphinx.c:143)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 81 bytes in 1 blocks are still reachable in loss record 51 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4081A78: cmd_ln_val_init (cmd_ln.c:409)
==9278== by 0x4081C59: cmd_ln_set_str_extra_r (cmd_ln.c:1006)
==9278== by 0x4066BFC: ps_expand_file_config (pocketsphinx.c:109)
==9278== by 0x4066D74: ps_reinit (pocketsphinx.c:139)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278==
==9278== 112 bytes in 18 blocks are still reachable in loss record 56 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x407C811: ckd_malloc (ckd_alloc.c:177)
==9278== by 0x407C893: ckd_salloc (ckd_alloc.c:215)
==9278== by 0x4082D5E: cmd_ln_parse_file_r (cmd_ln.c:843)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 120 bytes in 1 blocks are still reachable in loss record 57 of 69
==9278== at 0x4027477: realloc (vg_replace_malloc.c:662)
==9278== by 0x407C7A8: ckd_realloc (ckd_alloc.c:194)
==9278== by 0x4082A71: parse_options (cmd_ln.c:456)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 144 bytes in 9 blocks are still reachable in loss record 58 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x407C8EB: ckd_calloc (ckd_alloc.c:157)
==9278== by 0x408165D: cmd_ln_val_init (cmd_ln.c:424)
==9278== by 0x4082498: cmd_ln_parse_r (cmd_ln.c:627)
==9278== by 0x4082A1C: parse_options (cmd_ln.c:442)
==9278== by 0x4082CDC: cmd_ln_parse_file_r (cmd_ln.c:891)
==9278== by 0x4066E86: ps_reinit (pocketsphinx.c:149)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278==
==9278== 152 bytes in 1 blocks are possibly lost in loss record 59 of 69
==9278== at 0x4026011: calloc (vg_replace_malloc.c:593)
==9278== by 0x4011FC9: _dl_allocate_tls (in /lib/ld-2.12.so)
==9278== by 0x40CD43F: pthread_create@@GLIBC_2.1 (in /lib/libpthread-2.12.so)
==9278== by 0x804B846: start_worker(unsigned short) (CmnMsDef_Thread.h:993)
==9278== by 0x804CE76: process_message(unsigned char) (ms_hwd_engine.cpp:290)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
==9278== 352 bytes in 1 blocks are still reachable in loss record 60 of 69
==9278== at 0x4027282: malloc (vg_replace_malloc.c:270)
==9278== by 0x427F36E: __fopen_internal (in /lib/libc-2.12.so)
==9278== by 0x427F43B: fopen@@GLIBC_2.1 (in /lib/libc-2.12.so)
==9278== by 0x408343E: err_set_logfile (err.c:244)
==9278== by 0x4066C81: ps_reinit (pocketsphinx.c:232)
==9278== by 0x406753B: ps_init (pocketsphinx.c:398)
==9278== by 0x804AD65: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:54)
==9278== by 0x804B0A2: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==9278== by 0x804CD80: process_message(unsigned char*) (ms_hwd_engine.cpp:262)
==9278== by 0x804D18C: processing_loop() (ms_hwd_engine.cpp:633)
==9278== by 0x804EF1B: main (ms_hwd_app.cpp:35)
==9278==
The command
returns
So it is not an issue with pocketsphinx. Most likely you do not properly free cmd_ln_t object in your own code .
thanks Nick
im little bit confused on the documentation for ps_init when it says "The decoder retains ownership of the pointer config, so you must not attempt to free it manually"
you are right, im not freeing the cmd_ln_t object. i was assuming ps_free shall take care of it.
Anyways after releasing the config object, and i see the valgrind report is better now..However there is still one leak being pointed out as follows.
==5555== Thread 1:
==5555== 352 bytes in 1 blocks are still reachable in loss record 1 of 2
==5555== at 0x4027282: malloc (vg_replace_malloc.c:270)
==5555== by 0x427F36E: __fopen_internal (in /lib/libc-2.12.so)
==5555== by 0x427F43B: fopen@@GLIBC_2.1 (in /lib/libc-2.12.so)
==5555== by 0x408343E: err_set_logfile (err.c:244)
==5555== by 0x4066C81: ps_reinit (pocketsphinx.c:232)
==5555== by 0x406753B: ps_init (pocketsphinx.c:398)
==5555== by 0x804AEF1: Worker::Worker(unsigned short, bool) (ms_hwd_worker.cpp:70)
==5555== by 0x804B22E: create_worker(unsigned short, bool) (ms_hwd_engine.cpp:763)
==5555== by 0x804CF21: process_message(unsigned char*) (ms_hwd_engine.cpp:262)
==5555== by 0x804D32D: processing_loop() (ms_hwd_engine.cpp:633)
==5555== by 0x804F0BB: main (ms_hwd_app.cpp:35)
looks like the logfp handle is not getting closed. ive manually closed the handle using err_get_logfp. Howevre i would like to understand if calls to ps_free or cmd_ln_free_r should have taken care of this ?
Last edit: Arun venkatesh 2018-01-31