emilk/egui · error
failed to spawn thread
Error message
failed to spawn thread
What it means
Error "failed to spawn thread" thrown in emilk/egui.
Source
Thrown at crates/egui_extras/src/loaders/image_loader.rs:132
true
} else {
log::trace!("ImageLoader - canceled loading {uri:?}\nNote: This can happen if `forget_image` is called while the image is still loading.");
false
}
};
// We may not lock Context while the cache lock is held, since this can
// deadlock.
// Example deadlock scenario:
// - loader thread: lock cache
// - main thread: lock ctx (e.g. in `Context::has_pending_images`)
// - loader thread: try to lock ctx (in `request_repaint`)
// - main thread: try to lock cache (from `Self::has_pending`)
if repaint {
ctx.request_repaint();
}
}
})
.expect("failed to spawn thread");
Ok(ImagePoll::Pending { size: None })
}
#[cfg(target_arch = "wasm32")]
fn load_image(
_ctx: &egui::Context,
uri: &str,
cache: &Arc<Mutex<HashMap<String, Entry>>>,
bytes: &Bytes,
) -> ImageLoadResult {
let mut cache_lock = cache.lock();
log::trace!("started loading {uri:?}");
let result = crate::image::load_image_bytes(bytes)
.map(Arc::new)
.map_err(|err| err.to_string());
log::trace!("finished loading {uri:?}");
cache_lock.insert(uri.into(), core::task::Poll::Ready(result.clone()));View on GitHub (pinned to d802a982ce)
When it happens
Trigger: Thrown at crates/egui_extras/src/loaders/image_loader.rs:132 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of emilk/egui@d802a982ce (2026-08-16).
Data as JSON: /api/errors/74f1abdc3b9a60db.
Report an issue: GitHub.