**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash: - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimites.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4`, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly.
Bug 1788004 Comment 19 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimites.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4`, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimites.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4`, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4`, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4` crash, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4` crash, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly. Edit: Actually I seem to be able to reproduce the `uuid::Uuid::new_v4` crash e.g. on Firefox 109.0.1 crash just by following exactly the same STR.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** These STR only apply to Windows 7, which is the main concern for this crash. Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4` crash, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly. Edit: Actually I seem to be able to reproduce the `uuid::Uuid::new_v4` crash e.g. on Firefox 109.0.1 crash just by following exactly the same STR.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** **Important: These STR only apply to Windows 7**, which is the main concern for this crash. Steps to reproduce the `std::sys::windows::rand::fallback_rng` crash (which currently impacts Firefox 110.0 Release and 111.0 beta): - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts. To reproduce the `uuid::Uuid::new_v4` crash, we would need do the same, except that Firefox accepts to start and we need to force a call to `glean_core::metrics::ping::PingType::submit_sync(glean_core::core::Glean*, enum2$<core::option::Option<str> >)`, and I'm not sure how to do that. The `std::sys::windows::rand::fallback_rng` crash is much more impactful (Firefox does not even start) so I'll see if we can have a hook in `BCryptGenRandom` that does the `RtlGenRandom` fallback directly. Edit: Actually I seem to be able to reproduce the `uuid::Uuid::new_v4` crash e.g. on Firefox 109.0.1 crash just by following exactly the same STR.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** **Important: These STR only apply to Windows 7**, which is the main concern for this crash. Steps to reproduce: - Take a snapshot of your VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts.
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** **Important: These STR only apply to Windows 7**, which is the main concern for this crash. It is expected that Firefox can start after following these STR on Windows 7. It is **not** expected that Firefox can start after following these STR on Windows 10 and 11. Steps to reproduce: - Take a snapshot of your Windows 7 VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately. Expected: - Firefox starts (on Windows 7).
**Important: These STR can leave your system in an unbootable and/or corrupt state. Please follow them in a virtual machine.** **Important: These STR only apply to Windows 7**, which is the main concern for this crash. Steps to reproduce: - Take a snapshot of your Windows 7 VM, and boot it. - Install the Firefox version you want to test. - If testing Firefox 32-bit on Windows 64-bit, navigate to `C:\Windows\SysWOW64`. In all other cases, navigate to `C:\Windows\System32` instead. In case of doubt, do the steps in both folders. - Right click on `bcryptprimitives.dll`, click `Properties`, then under `Security` click `Advanced`. - Under `Owner`, click `Edit...`, select your current user, click `OK`, click `OK`. - Close `Advanced Security Settings`. - Back in `bcryptprimitives.dll Properties`, under `Security`, click `Edit...`, select `Users`, click the `Allow` box next to `Full control`, click `OK`, click `Yes`. - Back in the file explorer, rename `bcryptprimitives.dll` to `bcryptprimitivesnotfound.dll`, click `Continue`. - Run Firefox. - After noticing the problem, restore your VM snapshot. Problem: - Firefox refuses to start and crashes immediately (on Windows 7). Expected: - Firefox starts (on Windows 7).