antoyo / futures-glib-rs

4 stars 5 forks source link

invalid index #1

Closed antoyo closed 7 years ago

antoyo commented 7 years ago

My hyper example can fail with the following:

thread 'main' panicked at 'invalid index', /checkout/src/libcore/option.rs:794
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: core::option::expect_failed
             at /checkout/src/libcore/option.rs:794
   1: <core::option::Option<T>>::expect
             at /checkout/src/libcore/option.rs:297
   2: <slab::Slab<T, I> as core::ops::IndexMut<I>>::index_mut
             at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.3.0/src/lib.rs:283
   3: <futures_glib::future::Inner as futures_glib::SourceFuncs>::dispatch
             at /home/user/.cargo/git/checkouts/futures-glib-rs-522395b3625f7353/b780e29/src/future.rs:106
   4: futures_glib::dispatch
             at /home/user/.cargo/git/checkouts/futures-glib-rs-522395b3625f7353/b780e29/src/lib.rs:733
   5: g_main_context_dispatch
   6: <unknown>
   7: g_main_loop_run
   8: futures_glib::MainLoop::run
             at /home/user/.cargo/git/checkouts/futures-glib-rs-522395b3625f7353/b780e29/src/lib.rs:295
   9: client::main

The line is:

                let slot = &mut queue[index];