accel
accel copied to clipboard
Panic at Termination on Windows
When I run the example program add.rs
on Windows, it adds the numbers correctly and then panics when terminating the program:
thread '<unnamed>' panicked at 'Failed to unload module: cudaError(CUDA_ERROR_DEINITIALIZED)', libcore\result.rs:945:5
stack backtrace:
0: std::sys::windows::backtrace::unwind_backtrace
at C:\projects\rust\src\libstd\sys\windows\backtrace\mod.rs:65
1: std::sys_common::backtrace::_print
at C:\projects\rust\src\libstd\sys_common\backtrace.rs:71
2: std::sys_common::backtrace::print
at C:\projects\rust\src\libstd\sys_common\backtrace.rs:59
3: std::panicking::default_hook::{{closure}}
at C:\projects\rust\src\libstd\panicking.rs:211
4: std::panicking::default_hook
at C:\projects\rust\src\libstd\panicking.rs:227
5: std::panicking::rust_panic_with_hook
at C:\projects\rust\src\libstd\panicking.rs:463
6: std::panicking::begin_panic_fmt
at C:\projects\rust\src\libstd\panicking.rs:350
7: std::panicking::rust_begin_panic
at C:\projects\rust\src\libstd\panicking.rs:328
8: core::panicking::panic_fmt
at C:\projects\rust\src\libcore\panicking.rs:71
9: core::result::unwrap_failed<accel::error::Error>
at C:\projects\rust\src\libcore\macros.rs:26
10: core::result::Result<(), accel::error::Error>::expect<(),accel::error::Error>
at C:\projects\rust\src\libcore\result.rs:809
11: accel::module::{{impl}}::drop
at .\src\module.rs:233
12: core::ptr::drop_in_place<accel::module::Module>
at C:\projects\rust\src\libcore\ptr.rs:59
13: core::ptr::drop_in_place<core::cell::UnsafeCell<accel::module::Module>>
at C:\projects\rust\src\libcore\ptr.rs:59
14: core::ptr::drop_in_place<core::cell::RefCell<accel::module::Module>>
at C:\projects\rust\src\libcore\ptr.rs:59
15: core::ptr::drop_in_place<core::option::Option<core::cell::RefCell<accel::module::Module>>>
at C:\projects\rust\src\libcore\ptr.rs:59
16: std::thread::local::fast::destroy_value<core::cell::RefCell<accel::module::Module>>
at C:\projects\rust\src\libstd\thread\local.rs:402
17: std::sys_common::thread_local::register_dtor_fallback::run_dtors
at C:\projects\rust\src\libstd\sys_common\thread_local.rs:266
18: std::sys::windows::thread_local::run_dtors
at C:\projects\rust\src\libstd\sys\windows\thread_local.rs:244
19: std::sys::windows::thread_local::on_tls_callback
at C:\projects\rust\src\libstd\sys\windows\thread_local.rs:215
20: RtlDeactivateActivationContextUnsafeFast
21: RtlDeactivateActivationContextUnsafeFast
22: LdrShutdownProcess
23: RtlExitUserProcess
24: ExitProcess
25: exit
26: exit
27: __scrt_common_main_seh
at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:290
28: BaseThreadInitThunk
29: RtlUserThreadStart
It's trying to unload the module and failing with CUDA_ERROR_DEINITIALIZED
. I don't know why this is happening, else I would submit a pull request to fix it. I've been able to work around it by commenting out the code in module.rs
which checks for errors when the module is dropped, but I don't think that's the right fix.