Bug 1847619 Comment 6 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Following the repro steps in comment #0 triggers a failure from DOM Worker, which crashes the tab but does not give a good call stack info because the worker is in WASM.

And refreshing the tab causes parent process assertion failure:

```
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0>::operator()<nsresult>(const nsresult & aRv) Line 1159 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1159)
xul.dll!mozilla::dom::fs::data::`anonymous namespace'::SetUsageTrackingImpl<`lambda at C:/Users/sasch/Documents/GitHub/gecko-dev/dom/fs/parent/datamodel/FileSystemDatabaseManagerVersion001.cpp:1152:24' &>(const nsCOMPtr<mozIStorageConnection> & aConnection, const mozilla::dom::fs::FileId & aFileId, bool aTracked, mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0> & aOnMissingFile) Line 277 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:277)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking(const mozilla::dom::fs::FileId & aFileId, bool aTracked) Line 1162 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1162)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::BeginUsageTracking(const mozilla::dom::fs::FileId & aFileId) Line 1065 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1065)
xul.dll!mozilla::dom::fs::data::FileSystemDataManager::LockExclusive(const nsTString<char> & aEntryId) Line 418 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDataManager.cpp:418)
xul.dll!mozilla::dom::FileSystemAccessHandle::BeginInit() Line 172 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:172)
xul.dll!mozilla::dom::FileSystemAccessHandle::Create(RefPtr<mozilla::dom::fs::data::FileSystemDataManager> aDataManager, const nsTString<char> & aEntryId) Line 55 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:55)
xul.dll!mozilla::dom::FileSystemManagerParent::RecvGetAccessHandle(mozilla::dom::fs::FileSystemGetAccessHandleRequest && aRequest, std::function<void (mozilla::dom::fs::FileSystemGetAccessHandleResponse &&)> && aResolver) Line 126 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemManagerParent.cpp:126)
xul.dll!mozilla::dom::PFileSystemManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 589 (c:\Users\sasch\Documents\GitHub\gecko-dev\obj-dbg\ipc\ipdl\PFileSystemManagerParent.cpp:589)
xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1811 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1811)
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1739 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1739)
xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1537 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1537)
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1642 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1642)
xul.dll!mozilla::TaskQueue::Runner::Run() Line 264 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\TaskQueue.cpp:264)
xul.dll!nsThreadPool::Run() Line 345 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadPool.cpp:345)
xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThread.cpp:1194)
xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadUtils.cpp:480)
xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 300 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessagePump.cpp:300)
xul.dll!MessageLoop::RunInternal() Line 370 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:370)
xul.dll!MessageLoop::RunHandler() Line 364 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:364)
```

I'll check whether this happens with fresh 116 profile or not. One noticeable thing is that I get a lot of "Exception thrown at 0x0000004BC7ED689D in firefox.exe: 0xC000001D: Illegal Instruction." from wasm, I wonder this is related?
Following the repro steps in comment #0 triggers a failure from DOM Worker, which crashes the tab but does not give a good call stack info because the worker is in WASM.

And refreshing the tab causes parent process assertion failure:

```
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0>::operator()<nsresult>(const nsresult & aRv) Line 1159 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1159)
xul.dll!mozilla::dom::fs::data::`anonymous namespace'::SetUsageTrackingImpl<`lambda at C:/Users/sasch/Documents/GitHub/gecko-dev/dom/fs/parent/datamodel/FileSystemDatabaseManagerVersion001.cpp:1152:24' &>(const nsCOMPtr<mozIStorageConnection> & aConnection, const mozilla::dom::fs::FileId & aFileId, bool aTracked, mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0> & aOnMissingFile) Line 277 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:277)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking(const mozilla::dom::fs::FileId & aFileId, bool aTracked) Line 1162 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1162)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::BeginUsageTracking(const mozilla::dom::fs::FileId & aFileId) Line 1065 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1065)
xul.dll!mozilla::dom::fs::data::FileSystemDataManager::LockExclusive(const nsTString<char> & aEntryId) Line 418 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDataManager.cpp:418)
xul.dll!mozilla::dom::FileSystemAccessHandle::BeginInit() Line 172 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:172)
xul.dll!mozilla::dom::FileSystemAccessHandle::Create(RefPtr<mozilla::dom::fs::data::FileSystemDataManager> aDataManager, const nsTString<char> & aEntryId) Line 55 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:55)
xul.dll!mozilla::dom::FileSystemManagerParent::RecvGetAccessHandle(mozilla::dom::fs::FileSystemGetAccessHandleRequest && aRequest, std::function<void (mozilla::dom::fs::FileSystemGetAccessHandleResponse &&)> && aResolver) Line 126 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemManagerParent.cpp:126)
xul.dll!mozilla::dom::PFileSystemManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 589 (c:\Users\sasch\Documents\GitHub\gecko-dev\obj-dbg\ipc\ipdl\PFileSystemManagerParent.cpp:589)
xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1811 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1811)
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1739 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1739)
xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1537 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1537)
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1642 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1642)
xul.dll!mozilla::TaskQueue::Runner::Run() Line 264 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\TaskQueue.cpp:264)
xul.dll!nsThreadPool::Run() Line 345 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadPool.cpp:345)
xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThread.cpp:1194)
xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadUtils.cpp:480)
xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 300 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessagePump.cpp:300)
xul.dll!MessageLoop::RunInternal() Line 370 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:370)
xul.dll!MessageLoop::RunHandler() Line 364 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:364)
```

I'll check whether this happens with fresh 116 profile or not. (Edit: it does not) One noticeable thing is that I get a lot of "Exception thrown at 0x0000004BC7ED689D in firefox.exe: 0xC000001D: Illegal Instruction." from wasm, I wonder this is related?
Following the repro steps in comment #0 triggers a failure from DOM Worker, which crashes the tab but does not give a good call stack info because the worker is in WASM.

And refreshing the tab causes parent process assertion failure:

```
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0>::operator()<nsresult>(const nsresult & aRv) Line 1159 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1159)
xul.dll!mozilla::dom::fs::data::`anonymous namespace'::SetUsageTrackingImpl<`lambda at C:/Users/sasch/Documents/GitHub/gecko-dev/dom/fs/parent/datamodel/FileSystemDatabaseManagerVersion001.cpp:1152:24' &>(const nsCOMPtr<mozIStorageConnection> & aConnection, const mozilla::dom::fs::FileId & aFileId, bool aTracked, mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0> & aOnMissingFile) Line 277 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:277)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking(const mozilla::dom::fs::FileId & aFileId, bool aTracked) Line 1162 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1162)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::BeginUsageTracking(const mozilla::dom::fs::FileId & aFileId) Line 1065 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1065)
xul.dll!mozilla::dom::fs::data::FileSystemDataManager::LockExclusive(const nsTString<char> & aEntryId) Line 418 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDataManager.cpp:418)
xul.dll!mozilla::dom::FileSystemAccessHandle::BeginInit() Line 172 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:172)
xul.dll!mozilla::dom::FileSystemAccessHandle::Create(RefPtr<mozilla::dom::fs::data::FileSystemDataManager> aDataManager, const nsTString<char> & aEntryId) Line 55 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:55)
xul.dll!mozilla::dom::FileSystemManagerParent::RecvGetAccessHandle(mozilla::dom::fs::FileSystemGetAccessHandleRequest && aRequest, std::function<void (mozilla::dom::fs::FileSystemGetAccessHandleResponse &&)> && aResolver) Line 126 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemManagerParent.cpp:126)
xul.dll!mozilla::dom::PFileSystemManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 589 (c:\Users\sasch\Documents\GitHub\gecko-dev\obj-dbg\ipc\ipdl\PFileSystemManagerParent.cpp:589)
xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1811 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1811)
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1739 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1739)
xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1537 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1537)
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1642 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1642)
xul.dll!mozilla::TaskQueue::Runner::Run() Line 264 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\TaskQueue.cpp:264)
xul.dll!nsThreadPool::Run() Line 345 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadPool.cpp:345)
xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThread.cpp:1194)
xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadUtils.cpp:480)
xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 300 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessagePump.cpp:300)
xul.dll!MessageLoop::RunInternal() Line 370 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:370)
xul.dll!MessageLoop::RunHandler() Line 364 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:364)
```

I'll check whether this happens with fresh 116 profile or not. (Edit: it does not)

One noticeable thing is that I get a lot of "Exception thrown at 0x0000004BC7ED689D in firefox.exe: 0xC000001D: Illegal Instruction." from wasm, I wonder this is related?
Following the repro steps in comment #0 triggers a failure from DOM Worker, which crashes the tab but does not give a good call stack info because the worker is in WASM.

And refreshing the tab causes parent process assertion failure:

```
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0>::operator()<nsresult>(const nsresult & aRv) Line 1159 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1159)
xul.dll!mozilla::dom::fs::data::`anonymous namespace'::SetUsageTrackingImpl<`lambda at C:/Users/sasch/Documents/GitHub/gecko-dev/dom/fs/parent/datamodel/FileSystemDatabaseManagerVersion001.cpp:1152:24' &>(const nsCOMPtr<mozIStorageConnection> & aConnection, const mozilla::dom::fs::FileId & aFileId, bool aTracked, mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0> & aOnMissingFile) Line 277 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:277)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking(const mozilla::dom::fs::FileId & aFileId, bool aTracked) Line 1162 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1162)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::BeginUsageTracking(const mozilla::dom::fs::FileId & aFileId) Line 1065 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1065)
xul.dll!mozilla::dom::fs::data::FileSystemDataManager::LockExclusive(const nsTString<char> & aEntryId) Line 418 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDataManager.cpp:418)
xul.dll!mozilla::dom::FileSystemAccessHandle::BeginInit() Line 172 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:172)
xul.dll!mozilla::dom::FileSystemAccessHandle::Create(RefPtr<mozilla::dom::fs::data::FileSystemDataManager> aDataManager, const nsTString<char> & aEntryId) Line 55 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:55)
xul.dll!mozilla::dom::FileSystemManagerParent::RecvGetAccessHandle(mozilla::dom::fs::FileSystemGetAccessHandleRequest && aRequest, std::function<void (mozilla::dom::fs::FileSystemGetAccessHandleResponse &&)> && aResolver) Line 126 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemManagerParent.cpp:126)
xul.dll!mozilla::dom::PFileSystemManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 589 (c:\Users\sasch\Documents\GitHub\gecko-dev\obj-dbg\ipc\ipdl\PFileSystemManagerParent.cpp:589)
xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1811 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1811)
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1739 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1739)
xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1537 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1537)
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1642 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1642)
xul.dll!mozilla::TaskQueue::Runner::Run() Line 264 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\TaskQueue.cpp:264)
xul.dll!nsThreadPool::Run() Line 345 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadPool.cpp:345)
xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThread.cpp:1194)
xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadUtils.cpp:480)
xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 300 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessagePump.cpp:300)
xul.dll!MessageLoop::RunInternal() Line 370 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:370)
xul.dll!MessageLoop::RunHandler() Line 364 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:364)
```

I'll check whether this happens with fresh 116 profile or not. (Edit: it does not)

One noticeable thing is that I get a lot of "Exception thrown at 0x0000004BC7ED689D in firefox.exe: 0xC000001D: Illegal Instruction." from wasm, I wonder this is related? (Edit: It happens on a fresh profile, so probably not)
Following the repro steps in comment #0 on debug build triggers a failure from DOM Worker, which crashes the tab but does not give a good call stack info because the worker is in WASM.

And refreshing the tab causes parent process assertion failure:

```
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0>::operator()<nsresult>(const nsresult & aRv) Line 1159 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1159)
xul.dll!mozilla::dom::fs::data::`anonymous namespace'::SetUsageTrackingImpl<`lambda at C:/Users/sasch/Documents/GitHub/gecko-dev/dom/fs/parent/datamodel/FileSystemDatabaseManagerVersion001.cpp:1152:24' &>(const nsCOMPtr<mozIStorageConnection> & aConnection, const mozilla::dom::fs::FileId & aFileId, bool aTracked, mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking::<lambda_0> & aOnMissingFile) Line 277 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:277)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::SetUsageTracking(const mozilla::dom::fs::FileId & aFileId, bool aTracked) Line 1162 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1162)
xul.dll!mozilla::dom::fs::data::FileSystemDatabaseManagerVersion001::BeginUsageTracking(const mozilla::dom::fs::FileId & aFileId) Line 1065 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDatabaseManagerVersion001.cpp:1065)
xul.dll!mozilla::dom::fs::data::FileSystemDataManager::LockExclusive(const nsTString<char> & aEntryId) Line 418 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\datamodel\FileSystemDataManager.cpp:418)
xul.dll!mozilla::dom::FileSystemAccessHandle::BeginInit() Line 172 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:172)
xul.dll!mozilla::dom::FileSystemAccessHandle::Create(RefPtr<mozilla::dom::fs::data::FileSystemDataManager> aDataManager, const nsTString<char> & aEntryId) Line 55 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemAccessHandle.cpp:55)
xul.dll!mozilla::dom::FileSystemManagerParent::RecvGetAccessHandle(mozilla::dom::fs::FileSystemGetAccessHandleRequest && aRequest, std::function<void (mozilla::dom::fs::FileSystemGetAccessHandleResponse &&)> && aResolver) Line 126 (c:\Users\sasch\Documents\GitHub\gecko-dev\dom\fs\parent\FileSystemManagerParent.cpp:126)
xul.dll!mozilla::dom::PFileSystemManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 589 (c:\Users\sasch\Documents\GitHub\gecko-dev\obj-dbg\ipc\ipdl\PFileSystemManagerParent.cpp:589)
xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1811 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1811)
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1739 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1739)
xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1537 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1537)
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1642 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessageChannel.cpp:1642)
xul.dll!mozilla::TaskQueue::Runner::Run() Line 264 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\TaskQueue.cpp:264)
xul.dll!nsThreadPool::Run() Line 345 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadPool.cpp:345)
xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThread.cpp:1194)
xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 (c:\Users\sasch\Documents\GitHub\gecko-dev\xpcom\threads\nsThreadUtils.cpp:480)
xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 300 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\glue\MessagePump.cpp:300)
xul.dll!MessageLoop::RunInternal() Line 370 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:370)
xul.dll!MessageLoop::RunHandler() Line 364 (c:\Users\sasch\Documents\GitHub\gecko-dev\ipc\chromium\src\base\message_loop.cc:364)
```

I'll check whether this happens with fresh 116 profile or not. (Edit: it does not)

One noticeable thing is that I get a lot of "Exception thrown at 0x0000004BC7ED689D in firefox.exe: 0xC000001D: Illegal Instruction." from wasm, I wonder this is related? (Edit: It happens on a fresh profile, so probably not)

Back to Bug 1847619 Comment 6