tokio: Memory leak

Version

0.1.18

~/D/emmett > cargo tree | grep tokio
│   │   │   └── tokio-io v0.1.12
│   │   ├── tokio v0.1.20
│   │   │   ├── tokio-codec v0.1.1
│   │   │   │   └── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-current-thread v0.1.6
│   │   │   │   └── tokio-executor v0.1.7
│   │   │   ├── tokio-executor v0.1.7 (*)
│   │   │   ├── tokio-fs v0.1.6
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   └── tokio-threadpool v0.1.14
│   │   │   │       └── tokio-executor v0.1.7 (*)
│   │   │   │   └── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-reactor v0.1.9
│   │   │   │   ├── tokio-executor v0.1.7 (*)
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   └── tokio-sync v0.1.5
│   │   │   ├── tokio-sync v0.1.5 (*)
│   │   │   ├── tokio-tcp v0.1.3
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   └── tokio-reactor v0.1.9 (*)
│   │   │   ├── tokio-threadpool v0.1.14 (*)
│   │   │   ├── tokio-timer v0.2.10
│   │   │   │   └── tokio-executor v0.1.7 (*)
│   │   │   ├── tokio-trace-core v0.1.0
│   │   │   ├── tokio-udp v0.1.3
│   │   │   │   ├── tokio-codec v0.1.1 (*)
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   └── tokio-reactor v0.1.9 (*)
│   │   │   └── tokio-uds v0.2.5
│   │   │       ├── tokio-codec v0.1.1 (*)
│   │   │       ├── tokio-io v0.1.12 (*)
│   │   │       └── tokio-reactor v0.1.9 (*)
│   │   ├── tokio-executor v0.1.7 (*)
│   │   ├── tokio-io v0.1.12 (*)
│   │   ├── tokio-reactor v0.1.9 (*)
│   │   ├── tokio-tcp v0.1.3 (*)
│   │   ├── tokio-threadpool v0.1.14 (*)
│   │   ├── tokio-timer v0.2.10 (*)
│   │   └── tokio-io v0.1.12 (*)
│   ├── tokio v0.1.20 (*)
│   ├── tokio-executor v0.1.7 (*)
│   ├── tokio-io v0.1.12 (*)
│   ├── tokio-threadpool v0.1.14 (*)
│   ├── tokio-timer v0.2.10 (*)
│   │   ├── tokio-process v0.2.3
│   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-reactor v0.1.9 (*)
│   │   │   └── tokio-signal v0.2.7
│   │   │       ├── tokio-executor v0.1.7 (*)
│   │   │       ├── tokio-io v0.1.12 (*)
│   │   │       └── tokio-reactor v0.1.9 (*)
│   │   └── tokio-timer v0.2.10 (*)
│   ├── tokio v0.1.20 (*)
│   ├── tokio-timer v0.2.10 (*)
├── tokio v0.1.20 (*)
├── tokio-process v0.2.3 (*)

Platform

Both:

Darwin hostname 18.5.0 Darwin Kernel Version 18.5.0: Mon Mar 11 20:40:32 PDT 2019; root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64

and

Linux hostname 4.15.0-30-generic #32-Ubuntu SMP Thu Jul 26 17:42:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Description

I’m using Tokio for creating an ETL tool: https://gitlab.com/andrewbanchich/emmett

I noticed when I run the program that the memory used steadily increases maybe 200KB every seconds for as long as i keep it running.

I’m not sure if this is something with Tokio or if I’m just doing something wrong (I’m guessing it’s the latter).

To reproduce, you can clone the repo, cd into it, and do cargo run from that directory. It needs to be in the project directory because I’m currently reading the test config files in the example_configs directory.

Basic overview: each Pipeline has a block of several Inputs, Filters, and Outputs, each of which are implemented as Streams. Each one of these is a spawned task and they communicate through Tokio’s mpsc channels, except for Outputs which need crossbeam-channel.

I tried removing the outputs and crossbeam entirely and I am still seeing the issue.

Here is the valgrind output:

root@hostname:~/emmett# valgrind --leak-check=full --show-reachable=yes emmett
==31479== Memcheck, a memory error detector
==31479== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==31479== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==31479== Command: emmett
==31479==
^C==31479==
==31479== Process terminating with default action of signal 2 (SIGINT)
==31479==    at 0x59379F3: futex_wait_cancelable (futex-internal.h:88)
==31479==    by 0x59379F3: __pthread_cond_wait_common (pthread_cond_wait.c:502)
==31479==    by 0x59379F3: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:655)
==31479==    by 0x48E44B: futures::task_impl::std::ThreadNotify::park (in /root/.cargo/bin/emmett)
==31479==    by 0x1675A9: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x205BC7: tokio_executor::enter::Enter::block_on (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85F2: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== HEAP SUMMARY:
==31479==     in use at exit: 48,044 bytes in 397 blocks
==31479==   total heap usage: 592 allocs, 195 frees, 87,525 bytes allocated
==31479==
==31479== 3 bytes in 1 blocks are still reachable in loss record 1 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x2036C3: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 3 bytes in 1 blocks are still reachable in loss record 2 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x20382B: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 5 bytes in 1 blocks are still reachable in loss record 3 of 97
==31479==    at 0x4C31D2F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x497774: realloc (alloc.rs:111)
==31479==    by 0x497774: realloc (alloc.rs:166)
==31479==    by 0x497774: reserve_internal<u8,alloc::alloc::Global> (raw_vec.rs:666)
==31479==    by 0x497774: reserve_exact<u8,alloc::alloc::Global> (raw_vec.rs:411)
==31479==    by 0x497774: reserve_exact<u8> (vec.rs:482)
==31479==    by 0x497774: std::ffi::c_str::CString::from_vec_unchecked (c_str.rs:353)
==31479==    by 0x4964A3: _new (c_str.rs:328)
==31479==    by 0x4964A3: new<alloc::string::String> (c_str.rs:322)
==31479==    by 0x4964A3: {{closure}} (mod.rs:1115)
==31479==    by 0x4964A3: map<alloc::string::String,std::ffi::c_str::CString,closure> (option.rs:414)
==31479==    by 0x4964A3: std::thread::Thread::new (mod.rs:1114)
==31479==    by 0x4A2B0E: std::rt::lang_start_internal (rt.rs:40)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 8 bytes in 1 blocks are still reachable in loss record 4 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4528A3: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 8 bytes in 1 blocks are still reachable in loss record 5 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4547C6: <tokio_timer::timer::Timer<T, N>>::new_with_now (in /root/.cargo/bin/emmett)
==31479==    by 0x452936: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 8 bytes in 1 blocks are still reachable in loss record 6 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x452A14: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 8 bytes in 1 blocks are still reachable in loss record 7 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x44FD1D: <tokio_threadpool::park::boxed::BoxedPark<T> as tokio_executor::park::Park>::unpark (in /root/.cargo/bin/emmett)
==31479==    by 0x46AE38: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 9 bytes in 1 blocks are still reachable in loss record 8 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x20375D: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 9 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x455130: tokio_trace_core::dispatcher::Dispatch::none (in /root/.cargo/bin/emmett)
==31479==    by 0x448669: tokio_trace_core::dispatcher::CURRENT_DISPATCH::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x44A195: <std::thread::local::LocalKey<T>>::try_with (in /root/.cargo/bin/emmett)
==31479==    by 0x448515: tokio_trace_core::dispatcher::get_default (in /root/.cargo/bin/emmett)
==31479==    by 0x452EB5: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 10 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47378A: <crossbeam_deque::Worker<T>>::new_fifo (in /root/.cargo/bin/emmett)
==31479==    by 0x46C784: tokio_threadpool::worker::entry::WorkerEntry::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46AE51: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 11 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A944C: alloc (alloc.rs:75)
==31479==    by 0x4A944C: exchange_malloc (alloc.rs:185)
==31479==    by 0x4A944C: std::sys::unix::thread::Thread::new (thread.rs:45)
==31479==    by 0x469F7E: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 12 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x455130: tokio_trace_core::dispatcher::Dispatch::none (in /root/.cargo/bin/emmett)
==31479==    by 0x448669: tokio_trace_core::dispatcher::CURRENT_DISPATCH::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x44A259: <std::thread::local::LocalKey<T>>::try_with (in /root/.cargo/bin/emmett)
==31479==    by 0x4485E4: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 13 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x46FE56: <slab::Slab<T>>::insert (in /root/.cargo/bin/emmett)
==31479==    by 0x468934: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 14 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F2701: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF175: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 16 bytes in 1 blocks are still reachable in loss record 15 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F2701: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 21 bytes in 1 blocks are still reachable in loss record 16 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4B9574: alloc (alloc.rs:75)
==31479==    by 0x4B9574: alloc (alloc.rs:151)
==31479==    by 0x4B9574: allocate_in<u8,alloc::alloc::Global> (raw_vec.rs:95)
==31479==    by 0x4B9574: with_capacity<u8> (raw_vec.rs:139)
==31479==    by 0x4B9574: with_capacity<u8> (vec.rs:355)
==31479==    by 0x4B9574: to_vec<u8> (slice.rs:159)
==31479==    by 0x4B9574: to_vec<u8> (slice.rs:380)
==31479==    by 0x4B9574: clone<u8> (vec.rs:1642)
==31479==    by 0x4B9574: <alloc::string::String as core::clone::Clone>::clone (string.rs:1684)
==31479==    by 0x46B143: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 23 bytes in 1 blocks are still reachable in loss record 17 of 97
==31479==    at 0x4C31D2F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4919FB: realloc (alloc.rs:111)
==31479==    by 0x4919FB: realloc (alloc.rs:166)
==31479==    by 0x4919FB: shrink_to_fit<u8,alloc::alloc::Global> (raw_vec.rs:604)
==31479==    by 0x4919FB: shrink_to_fit<u8> (vec.rs:579)
==31479==    by 0x4919FB: <alloc::vec::Vec<T>>::into_boxed_slice (vec.rs:635)
==31479==    by 0x497801: std::ffi::c_str::CString::from_vec_unchecked (c_str.rs:355)
==31479==    by 0x4964A3: _new (c_str.rs:328)
==31479==    by 0x4964A3: new<alloc::string::String> (c_str.rs:322)
==31479==    by 0x4964A3: {{closure}} (mod.rs:1115)
==31479==    by 0x4964A3: map<alloc::string::String,std::ffi::c_str::CString,closure> (option.rs:414)
==31479==    by 0x4964A3: std::thread::Thread::new (mod.rs:1114)
==31479==    by 0x469EBC: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 24 bytes in 1 blocks are still reachable in loss record 18 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x467CC5: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==    by 0x47001B: _ZN3std9panicking3try7do_call17h0eb896e5d075b302E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 24 bytes in 1 blocks are still reachable in loss record 19 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x203E57: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 20 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x4A07AB: register_dtor (fast_thread_local.rs:29)
==31479==    by 0x4A07AB: register_dtor<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> (local.rs:387)
==31479==    by 0x4A07AB: get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> (local.rs:378)
==31479==    by 0x4A07AB: __getit (local.rs:186)
==31479==    by 0x4A07AB: try_with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,()> (local.rs:297)
==31479==    by 0x4A07AB: with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,()> (local.rs:246)
==31479==    by 0x4A07AB: std::sys_common::thread_info::set (thread_info.rs:37)
==31479==    by 0x4A2B37: std::rt::lang_start_internal (rt.rs:41)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 21 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x551F7E4: _dlerror_run (dlerror.c:140)
==31479==    by 0x551F165: dlsym (dlsym.c:70)
==31479==    by 0x481203: mio::sys::unix::epoll::Selector::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47F2B0: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 22 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x45527E: tokio_trace_core::dispatcher::CURRENT_DISPATCH::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x44A12B: <std::thread::local::LocalKey<T>>::try_with (in /root/.cargo/bin/emmett)
==31479==    by 0x448515: tokio_trace_core::dispatcher::get_default (in /root/.cargo/bin/emmett)
==31479==    by 0x452EB5: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 23 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x462C0F: <tokio_reactor::sharded_rwlock::RwLock<T>>::read (in /root/.cargo/bin/emmett)
==31479==    by 0x45D353: <tokio_reactor::Inner as core::ops::drop::Drop>::drop (in /root/.cargo/bin/emmett)
==31479==    by 0x44D56C: <alloc::sync::Arc<T>>::drop_slow (in /root/.cargo/bin/emmett)
==31479==    by 0x44C70E: tokio::runtime::threadpool::Runtime::shutdown_on_idle (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85E7: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 24 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x48E88E: futures::task_impl::std::CURRENT_THREAD_NOTIFY::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x167565: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x205BC7: tokio_executor::enter::Enter::block_on (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85F2: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 25 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x4A07AB: register_dtor (fast_thread_local.rs:29)
==31479==    by 0x4A07AB: register_dtor<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> (local.rs:387)
==31479==    by 0x4A07AB: get<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>> (local.rs:378)
==31479==    by 0x4A07AB: __getit (local.rs:186)
==31479==    by 0x4A07AB: try_with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,()> (local.rs:297)
==31479==    by 0x4A07AB: with<core::cell::RefCell<core::option::Option<std::sys_common::thread_info::ThreadInfo>>,closure,()> (local.rs:246)
==31479==    by 0x4A07AB: std::sys_common::thread_info::set (thread_info.rs:37)
==31479==    by 0x46AA40: <F as alloc::boxed::FnBox<A>>::call_box (in /root/.cargo/bin/emmett)
==31479==    by 0x4A990D: call_once<(),()> (boxed.rs:759)
==31479==    by 0x4A990D: start_thread (thread.rs:14)
==31479==    by 0x4A990D: std::sys::unix::thread::Thread::new::thread_start (thread.rs:81)
==31479==    by 0x59316DA: start_thread (pthread_create.c:463)
==31479==    by 0x5E8288E: clone (clone.S:95)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 26 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x45D4AE: tokio_reactor::CURRENT_REACTOR::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x449F3E: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==    by 0x47001B: _ZN3std9panicking3try7do_call17h0eb896e5d075b302E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x46AA7F: <F as alloc::boxed::FnBox<A>>::call_box (in /root/.cargo/bin/emmett)
==31479==    by 0x4A990D: call_once<(),()> (boxed.rs:759)
==31479==    by 0x4A990D: start_thread (thread.rs:14)
==31479==    by 0x4A990D: std::sys::unix::thread::Thread::new::thread_start (thread.rs:81)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 27 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x457A2E: tokio_timer::timer::handle::CURRENT_TIMER::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x449C58: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==    by 0x47001B: _ZN3std9panicking3try7do_call17h0eb896e5d075b302E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 28 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x45527E: tokio_trace_core::dispatcher::CURRENT_DISPATCH::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x44A234: <std::thread::local::LocalKey<T>>::try_with (in /root/.cargo/bin/emmett)
==31479==    by 0x4485E4: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 29 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x475482: rand::rngs::thread::thread_rng (in /root/.cargo/bin/emmett)
==31479==    by 0x46E94A: tokio_threadpool::pool::Pool::rand_usize::RNG::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x467EA4: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 30 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x5DA47C1: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
==31479==    by 0x47C0EE: crossbeam_epoch::default::HANDLE::__getit (in /root/.cargo/bin/emmett)
==31479==    by 0x473A13: <crossbeam_deque::Stealer<T>>::steal_batch_and_pop (in /root/.cargo/bin/emmett)
==31479==    by 0x467F65: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 32 bytes in 1 blocks are still reachable in loss record 31 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x2049F9: emmett::pipeline::outputs::OutputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x1777B2: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 32 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x496505: alloc (alloc.rs:75)
==31479==    by 0x496505: exchange_malloc (alloc.rs:185)
==31479==    by 0x496505: new<()> (mutex.rs:170)
==31479==    by 0x496505: std::thread::Thread::new (mod.rs:1122)
==31479==    by 0x4A2B0E: std::rt::lang_start_internal (rt.rs:40)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 33 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4821E9: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47F5A0: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 34 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x469211: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x471AFF: tokio_threadpool::shutdown::ShutdownTrigger::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B092: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 35 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x496505: alloc (alloc.rs:75)
==31479==    by 0x496505: exchange_malloc (alloc.rs:185)
==31479==    by 0x496505: new<()> (mutex.rs:170)
==31479==    by 0x496505: std::thread::Thread::new (mod.rs:1122)
==31479==    by 0x469EBC: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 36 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x469EE1: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 37 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x45E944: std::sync::once::Once::call_once::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x49DFB5: std::sync::once::Once::call_inner (once.rs:387)
==31479==    by 0x462FC1: tokio_reactor::sharded_rwlock::REGISTRATION::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x462C29: <tokio_reactor::sharded_rwlock::RwLock<T>>::read (in /root/.cargo/bin/emmett)
==31479==    by 0x45D353: <tokio_reactor::Inner as core::ops::drop::Drop>::drop (in /root/.cargo/bin/emmett)
==31479==    by 0x44D56C: <alloc::sync::Arc<T>>::drop_slow (in /root/.cargo/bin/emmett)
==31479==    by 0x44C70E: tokio::runtime::threadpool::Runtime::shutdown_on_idle (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85E7: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 38 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1A99F9: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1FFA5C: futures::task_impl::std::CURRENT_THREAD_NOTIFY::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x167621: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x205BC7: tokio_executor::enter::Enter::block_on (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85F2: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 39 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F26C2: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF175: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 40 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1A9AC1: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1F2740: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF175: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 41 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1A9BF1: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1F0D36: <futures::sync::mpsc::Sender<T> as core::clone::Clone>::clone (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF35C: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 42 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F26C2: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 43 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1A9AC1: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1F2740: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 40 bytes in 1 blocks are still reachable in loss record 44 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1A9BF1: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1F288C: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 44 bytes in 1 blocks are still reachable in loss record 45 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x203D67: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 46 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x496578: alloc (alloc.rs:75)
==31479==    by 0x496578: exchange_malloc (alloc.rs:185)
==31479==    by 0x496578: new (condvar.rs:131)
==31479==    by 0x496578: std::thread::Thread::new (mod.rs:1123)
==31479==    by 0x4A2B0E: std::rt::lang_start_internal (rt.rs:40)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 47 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x49DAB7: alloc (alloc.rs:75)
==31479==    by 0x49DAB7: exchange_malloc (alloc.rs:185)
==31479==    by 0x49DAB7: std::sync::condvar::Condvar::new (condvar.rs:131)
==31479==    by 0x47F5AB: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 48 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x46B0A2: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 49 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x496578: alloc (alloc.rs:75)
==31479==    by 0x496578: exchange_malloc (alloc.rs:185)
==31479==    by 0x496578: new (condvar.rs:131)
==31479==    by 0x496578: std::thread::Thread::new (mod.rs:1123)
==31479==    by 0x469EBC: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 50 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x469F44: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 48 bytes in 1 blocks are still reachable in loss record 51 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x49DAB7: alloc (alloc.rs:75)
==31479==    by 0x49DAB7: exchange_malloc (alloc.rs:185)
==31479==    by 0x49DAB7: std::sync::condvar::Condvar::new (condvar.rs:131)
==31479==    by 0x1FFA67: futures::task_impl::std::CURRENT_THREAD_NOTIFY::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x167621: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x205BC7: tokio_executor::enter::Enter::block_on (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85F2: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 56 bytes in 1 blocks are still reachable in loss record 52 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1FFA8A: futures::task_impl::std::CURRENT_THREAD_NOTIFY::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x167621: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x205BC7: tokio_executor::enter::Enter::block_on (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85F2: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 53 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47F312: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 54 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47F390: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 55 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47F408: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 56 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47F517: mio::poll::Poll::new (in /root/.cargo/bin/emmett)
==31479==    by 0x45B24E: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 57 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x480704: mio::poll::Registration::new2 (in /root/.cargo/bin/emmett)
==31479==    by 0x45B2A3: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 64 bytes in 1 blocks are still reachable in loss record 58 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x45D543: <alloc::raw_vec::RawVec<T, A>>::reserve (in /root/.cargo/bin/emmett)
==31479==    by 0x45B445: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 72 bytes in 1 blocks are still reachable in loss record 59 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x45480D: <tokio_timer::timer::Timer<T, N>>::new_with_now (in /root/.cargo/bin/emmett)
==31479==    by 0x452936: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 80 bytes in 1 blocks are still reachable in loss record 60 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4965C6: alloc (alloc.rs:75)
==31479==    by 0x4965C6: exchange_malloc (alloc.rs:185)
==31479==    by 0x4965C6: new<std::thread::Inner> (sync.rs:288)
==31479==    by 0x4965C6: std::thread::Thread::new (mod.rs:1118)
==31479==    by 0x4A2B0E: std::rt::lang_start_internal (rt.rs:40)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 80 bytes in 1 blocks are still reachable in loss record 61 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4965C6: alloc (alloc.rs:75)
==31479==    by 0x4965C6: exchange_malloc (alloc.rs:185)
==31479==    by 0x4965C6: new<std::thread::Inner> (sync.rs:288)
==31479==    by 0x4965C6: std::thread::Thread::new (mod.rs:1118)
==31479==    by 0x469EBC: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 96 bytes in 1 blocks are still reachable in loss record 62 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x452F0E: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 96 bytes in 1 blocks are still reachable in loss record 63 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x453675: tokio_threadpool::builder::Builder::custom_park::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x46AE22: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 96 bytes in 1 blocks are still reachable in loss record 64 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x46B4CC: tokio_threadpool::task::blocking::Blocking::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46D836: tokio_threadpool::pool::Pool::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B261: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 96 bytes in 1 blocks are still reachable in loss record 65 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x204927: emmett::pipeline::outputs::OutputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x1777B2: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 66 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F0D46: <futures::sync::mpsc::Sender<T> as core::clone::Clone>::clone (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF35C: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 67 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47185B: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x4716ED: <tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x47D5F0: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x47D1FC: <tokio_executor::global::DefaultExecutor as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF624: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 68 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F289C: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 69 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47185B: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x4716ED: <tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x47D5F0: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x47D1FC: <tokio_executor::global::DefaultExecutor as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1E1E9B: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 70 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47185B: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x4716ED: <tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x47D5F0: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x47D1FC: <tokio_executor::global::DefaultExecutor as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x204977: emmett::pipeline::outputs::OutputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x1777B2: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 112 bytes in 1 blocks are still reachable in loss record 71 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47185B: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x4716ED: <tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x47D5F0: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x47D1FC: <tokio_executor::global::DefaultExecutor as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x204A2A: emmett::pipeline::outputs::OutputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x1777B2: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 120 bytes in 1 blocks are still reachable in loss record 72 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x471B0F: tokio_threadpool::shutdown::ShutdownTrigger::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B092: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 160 bytes in 1 blocks are still reachable in loss record 73 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x45B55A: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 176 bytes in 1 blocks are still reachable in loss record 74 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F27B7: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1AF175: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 176 bytes in 1 blocks are still reachable in loss record 75 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1F27B7: futures::sync::mpsc::channel (in /root/.cargo/bin/emmett)
==31479==    by 0x1E06F4: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==
==31479== 184 bytes in 1 blocks are still reachable in loss record 76 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x45B3C6: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 192 bytes in 1 blocks are still reachable in loss record 77 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x473835: <crossbeam_deque::Worker<T>>::new_fifo (in /root/.cargo/bin/emmett)
==31479==    by 0x46C784: tokio_threadpool::worker::entry::WorkerEntry::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46AE51: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 192 bytes in 1 blocks are still reachable in loss record 78 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x46AFDA: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 256 bytes in 1 blocks are still reachable in loss record 79 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x20443E: emmett::pipeline::outputs::OutputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x1777B2: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==
==31479== 288 bytes in 1 blocks are possibly lost in loss record 80 of 97
==31479==    at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x40134A6: allocate_dtv (dl-tls.c:286)
==31479==    by 0x40134A6: _dl_allocate_tls (dl-tls.c:530)
==31479==    by 0x5932227: allocate_stack (allocatestack.c:627)
==31479==    by 0x5932227: pthread_create@@GLIBC_2.2.5 (pthread_create.c:644)
==31479==    by 0x4A95A1: std::sys::unix::thread::Thread::new (thread.rs:69)
==31479==    by 0x469F7E: std::thread::Builder::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x46E512: tokio_threadpool::pool::Pool::spawn_thread (in /root/.cargo/bin/emmett)
==31479==    by 0x46E90D: tokio_threadpool::pool::Pool::signal_work (in /root/.cargo/bin/emmett)
==31479==    by 0x471932: <&'a tokio_threadpool::sender::Sender as tokio_executor::executor::Executor>::spawn (in /root/.cargo/bin/emmett)
==31479==    by 0x1D8593: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 320 bytes in 1 blocks are still reachable in loss record 81 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x47BDF7: crossbeam_epoch::collector::Collector::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47BC4F: std::sync::once::Once::call_once::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x49DFB5: std::sync::once::Once::call_inner (once.rs:387)
==31479==    by 0x47C087: <crossbeam_epoch::default::COLLECTOR as core::ops::deref::Deref>::deref (in /root/.cargo/bin/emmett)
==31479==    by 0x473A7F: <crossbeam_deque::Stealer<T>>::steal_batch_and_pop (in /root/.cargo/bin/emmett)
==31479==    by 0x467F65: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 320 bytes in 1 blocks are still reachable in loss record 82 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x457846: tokio_timer::interval::Interval::new_interval (in /root/.cargo/bin/emmett)
==31479==    by 0x203805: <emmett::pipeline::inputs::http_poller::HttpPoller as core::convert::TryFrom<toml::value::Value>>::try_from (in /root/.cargo/bin/emmett)
==31479==    by 0x178989: <toml::value::Value as emmett::pipeline::InputPlugin>::to_input (in /root/.cargo/bin/emmett)
==31479==    by 0x22312A: emmett::pipeline::Pipeline::from_toml (in /root/.cargo/bin/emmett)
==31479==    by 0x17775B: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 384 bytes in 1 blocks are still reachable in loss record 83 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1E1E6E: emmett::pipeline::filters::FilterBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177794: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 448 bytes in 1 blocks are still reachable in loss record 84 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x47256B: <T as core::convert::Into<U>>::into (in /root/.cargo/bin/emmett)
==31479==    by 0x46AF73: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 448 bytes in 1 blocks are still reachable in loss record 85 of 97
==31479==    at 0x4C31E76: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4C31F91: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4A1838: aligned_malloc (alloc.rs:84)
==31479==    by 0x4A1838: alloc (alloc.rs:19)
==31479==    by 0x4A1838: __rdl_alloc (alloc.rs:233)
==31479==    by 0x46B271: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 512 bytes in 1 blocks are still reachable in loss record 86 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47376E: <crossbeam_deque::Worker<T>>::new_fifo (in /root/.cargo/bin/emmett)
==31479==    by 0x46C784: tokio_threadpool::worker::entry::WorkerEntry::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46AE51: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 632 bytes in 1 blocks are still reachable in loss record 87 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x1AF5F7: emmett::pipeline::inputs::InputBlock::run (in /root/.cargo/bin/emmett)
==31479==    by 0x177776: <futures::future::lazy::Lazy<F, R> as futures::future::Future>::poll (in /root/.cargo/bin/emmett)
==31479==    by 0x46C1B1: futures::task_impl::std::set (in /root/.cargo/bin/emmett)
==31479==    by 0x46CCA5: <futures::task_impl::Spawn<T>>::poll_future_notify (in /root/.cargo/bin/emmett)
==31479==    by 0x470060: _ZN3std9panicking3try7do_call17h3cb87a494a60a504E.llvm.12291275167426552652 (in /root/.cargo/bin/emmett)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x47037F: tokio_threadpool::task::Task::run (in /root/.cargo/bin/emmett)
==31479==    by 0x468964: tokio_threadpool::worker::Worker::run_task (in /root/.cargo/bin/emmett)
==31479==    by 0x467E5D: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 768 bytes in 1 blocks are still reachable in loss record 88 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x463757: <std::collections::hash::table::RawTable<K, V>>::new_uninitialized_internal (in /root/.cargo/bin/emmett)
==31479==    by 0x45F08C: <std::collections::hash::map::HashMap<K, V, S>>::try_resize (in /root/.cargo/bin/emmett)
==31479==    by 0x45F547: <std::collections::hash::map::HashMap<K, V, S>>::insert (in /root/.cargo/bin/emmett)
==31479==    by 0x462F65: tokio_reactor::sharded_rwlock::REGISTRATION::__init (in /root/.cargo/bin/emmett)
==31479==    by 0x462C29: <tokio_reactor::sharded_rwlock::RwLock<T>>::read (in /root/.cargo/bin/emmett)
==31479==    by 0x45D353: <tokio_reactor::Inner as core::ops::drop::Drop>::drop (in /root/.cargo/bin/emmett)
==31479==    by 0x44D56C: <alloc::sync::Arc<T>>::drop_slow (in /root/.cargo/bin/emmett)
==31479==    by 0x44C70E: tokio::runtime::threadpool::Runtime::shutdown_on_idle (in /root/.cargo/bin/emmett)
==31479==    by 0x1D85E7: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==
==31479== 1,016 bytes in 1 blocks are still reachable in loss record 89 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x46AFA8: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== 2,080 bytes in 1 blocks are still reachable in loss record 90 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47C39C: <crossbeam_epoch::atomic::Owned<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47BD55: crossbeam_epoch::collector::Collector::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47BC4F: std::sync::once::Once::call_once::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x49DFB5: std::sync::once::Once::call_inner (once.rs:387)
==31479==    by 0x47C087: <crossbeam_epoch::default::COLLECTOR as core::ops::deref::Deref>::deref (in /root/.cargo/bin/emmett)
==31479==    by 0x473A7F: <crossbeam_deque::Stealer<T>>::steal_batch_and_pop (in /root/.cargo/bin/emmett)
==31479==    by 0x467F65: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==
==31479== 2,112 bytes in 1 blocks are still reachable in loss record 91 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47B5C1: crossbeam_epoch::internal::Local::register (in /root/.cargo/bin/emmett)
==31479==    by 0x473A88: <crossbeam_deque::Stealer<T>>::steal_batch_and_pop (in /root/.cargo/bin/emmett)
==31479==    by 0x467F65: tokio_threadpool::worker::Worker::run (in /root/.cargo/bin/emmett)
==31479==    by 0x4485F6: tokio_trace_core::dispatcher::with_default (in /root/.cargo/bin/emmett)
==31479==    by 0x449CE5: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x449BAD: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44A003: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x44BB36: tokio::runtime::threadpool::builder::Builder::build::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x470942: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x470A7D: <std::thread::local::LocalKey<T>>::with (in /root/.cargo/bin/emmett)
==31479==    by 0x472A70: std::sys_common::backtrace::__rust_begin_short_backtrace (in /root/.cargo/bin/emmett)
==31479==
==31479== 3,168 bytes in 1 blocks are still reachable in loss record 92 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x450B3A: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (in /root/.cargo/bin/emmett)
==31479==    by 0x450C88: <tokio_timer::wheel::Wheel<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x454853: <tokio_timer::timer::Timer<T, N>>::new_with_now (in /root/.cargo/bin/emmett)
==31479==    by 0x452936: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 4,040 bytes in 1 blocks are still reachable in loss record 93 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x4726DA: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (in /root/.cargo/bin/emmett)
==31479==    by 0x46D787: tokio_threadpool::pool::Pool::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B261: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==
==31479== 4,040 bytes in 101 blocks are still reachable in loss record 94 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47E439: <std::sync::mutex::Mutex<T>>::new (in /root/.cargo/bin/emmett)
==31479==    by 0x47DB2C: crossbeam_utils::sync::parker::Parker::new (in /root/.cargo/bin/emmett)
==31479==    by 0x472732: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (in /root/.cargo/bin/emmett)
==31479==    by 0x46D787: tokio_threadpool::pool::Pool::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B261: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 4,848 bytes in 101 blocks are still reachable in loss record 95 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x49DAB7: alloc (alloc.rs:75)
==31479==    by 0x49DAB7: exchange_malloc (alloc.rs:185)
==31479==    by 0x49DAB7: std::sync::condvar::Condvar::new (condvar.rs:131)
==31479==    by 0x47DB37: crossbeam_utils::sync::parker::Parker::new (in /root/.cargo/bin/emmett)
==31479==    by 0x472732: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (in /root/.cargo/bin/emmett)
==31479==    by 0x46D787: tokio_threadpool::pool::Pool::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B261: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==
==31479== 5,656 bytes in 101 blocks are still reachable in loss record 96 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x47DB5A: crossbeam_utils::sync::parker::Parker::new (in /root/.cargo/bin/emmett)
==31479==    by 0x472732: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (in /root/.cargo/bin/emmett)
==31479==    by 0x46D787: tokio_threadpool::pool::Pool::new (in /root/.cargo/bin/emmett)
==31479==    by 0x46B261: tokio_threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x453033: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==
==31479== 12,288 bytes in 1 blocks are still reachable in loss record 97 of 97
==31479==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==31479==    by 0x48061D: mio::poll::Events::with_capacity (in /root/.cargo/bin/emmett)
==31479==    by 0x45B36D: tokio_reactor::Reactor::new (in /root/.cargo/bin/emmett)
==31479==    by 0x4527AD: tokio::runtime::threadpool::builder::Builder::build (in /root/.cargo/bin/emmett)
==31479==    by 0x44C5C4: tokio::runtime::threadpool::Runtime::new (in /root/.cargo/bin/emmett)
==31479==    by 0x1D84B6: tokio::runtime::threadpool::run (in /root/.cargo/bin/emmett)
==31479==    by 0x19114B: emmett::main (in /root/.cargo/bin/emmett)
==31479==    by 0x1D11E2: std::rt::lang_start::{{closure}} (in /root/.cargo/bin/emmett)
==31479==    by 0x4A1FE2: {{closure}} (rt.rs:49)
==31479==    by 0x4A1FE2: std::panicking::try::do_call (panicking.rs:297)
==31479==    by 0x4AA589: __rust_maybe_catch_panic (lib.rs:87)
==31479==    by 0x4A2BAC: try<i32,closure> (panicking.rs:276)
==31479==    by 0x4A2BAC: catch_unwind<closure,i32> (panic.rs:388)
==31479==    by 0x4A2BAC: std::rt::lang_start_internal (rt.rs:48)
==31479==    by 0x191181: main (in /root/.cargo/bin/emmett)
==31479==
==31479== LEAK SUMMARY:
==31479==    definitely lost: 0 bytes in 0 blocks
==31479==    indirectly lost: 0 bytes in 0 blocks
==31479==      possibly lost: 288 bytes in 1 blocks
==31479==    still reachable: 47,756 bytes in 396 blocks
==31479==         suppressed: 0 bytes in 0 blocks
==31479==
==31479== For counts of detected and suppressed errors, rerun with: -v
==31479== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 20 (7 by maintainers)

Most upvoted comments

Symptoms of memory leaks can roughly be attributed to one of 3 cases:

  • An actual memory leak.
  • Zombie tasks (tasks that have been spawned but never hit a terminal condition).
  • The memory allocator holding on to memory and not releasing it back to the OS.

To identify an actual memory leak, one must run the application under valgrind and then perform a clean shutdown. If a clean shutdown is not performed, then valgrind will report “leaked” memory simply because the cleanup steps were not able to free the memory.

To identify leaked tasks is a bit harder right now as Tokio itself doesn’t provide the necessary instrumentation yet. THe best strategy is to include some form of counter in your tasks before spawning and track spawns & drops.

To check if the allocator is holding memory, switch to jemalloc and tune it to aggressively release memory back to the OS.