Closed Bug 1696358 Opened 3 years ago Closed 2 years ago

macOS Crash in [@ mozilla::detail::MutexImpl::unlock | mozilla::ipc::IToplevelProtocol::CreateSharedMemory]

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

Unspecified
macOS
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox86 --- wontfix

People

(Reporter: aryx, Unassigned)

References

Details

(Keywords: crash, regression)

Crash Data

Low volume (13 crashes) macOS-only crash new in Firefox 86.

Crash report: https://crash-stats.mozilla.org/report/index/ef28e442-c6ca-46a5-ae59-a8a810210304

Reason: EXC_SOFTWARE / SIGABRT

Top 10 frames of crashing thread:

0 libsystem_kernel.dylib __pthread_kill 
1 libsystem_c.dylib abort 
2 libGPUSupportMercury.dylib gpusGenerateCrashLog.cold.1 
3 libGPUSupportMercury.dylib gpusGenerateCrashLog 
4 AMDRadeonX4000GLDriver gpusKillClientExt 
5 libGPUSupportMercury.dylib gpusSubmitDataBuffers 
6 AMDRadeonX4000GLDriver glrATI_Hwl_SubmitPacketsWithToken 
7 AMDRadeonX4000GLDriver glrReadFramebufferData 
8 GLEngine glReadPixels_Exec 
9 libGL.dylib glReadPixels 
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
See Also: → 1687907

Actually I'm not sure anymore which bug this is a dupe of. The signature changed after bug 1687907 so this used to be something like [@ __pthread_kill | gpusGenerateCrashLog.cold.1]. Maybe bug 1576767? Although this is in ReadPixels and that one was SwapBuffers.

Status: RESOLVED → REOPENED
Flags: needinfo?(smichaud)
Resolution: DUPLICATE → ---

There are many different kinds of crashes that share the gpusGenerateCrashLog or gpusGenerateCrashLog.cold.1 signatures, or at least have them in their "proto signature". Bug 1576767 has at least two that are (as best I can tell) completely unrelated (bug 1576767 comment 295 and bug 1576767 comment 333). They're all almost certainly caused by bugs in Apple's graphics drivers, though some may be possible to work around (in tricky ways) in Mozilla code.

I've spent an enormous amount of time on these bugs, but I still don't know much about them. Part of the problem is that there's a crucial piece of information, which appears in Apple crash logs (as the "Graphics kernel error"), which isn't recorded in Mozilla crash logs. Bug 1577886 has been opened to address this, and I've just assigned it to myself. Even with the "Graphics kernel error" these bugs will remain very difficult, but I'd say that for now it's basically impossible even to categorize them correctly.

So when a new bug shows up with gpusGenerateCrashLog in its signature or proto signature, I'd say for now that it's best never to DUP it. Instead add "see also" references to the most prominent bugs with this signature or proto signature -- bug 1576767 and bug 1535120.

https://crash-stats.mozilla.org/search/?proto_signature=~gpusGenerateCrashLog&platform=Mac%20OS%20X&date=%3E%3D2021-02-09T18%3A22%3A00.000Z&date=%3C2021-03-09T18%3A22%3A00.000Z&_facets=signature&_sort=-date&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature

Flags: needinfo?(smichaud)
See Also: → 1576767, 1535120

Updating signature after bug 1692983.

Crash Signature: [@ mozilla::detail::MutexImpl::unlock | mozilla::ipc::IToplevelProtocol::CreateSharedMemory] → [@ mozilla::detail::MutexImpl::unlock | mozilla::ipc::IToplevelProtocol::CreateSharedMemory] [@ __pthread_kill | abort | gpusGenerateCrashLog.cold.1 ]
Depends on: 1577886
See Also: → 1577886

As of today, it's now possible to search on mac crash info at https://crash-stats.mozilla.org/!

For now only crashes on the 90 branch can contain this data. And the "database" of searchable crashes is small -- it starts from today. But over time Mozilla should accumulate information that is likely to be very helpful in this bug, and in others whose underlying causes are low-level Apple bugs.

For more information see bug 1577886 and bug 1709658.

I've created some new bug reports that use mac_crash_info data, and I've made them all depend on a meta bug: bug 1711944.

Crash Signature: [@ mozilla::detail::MutexImpl::unlock | mozilla::ipc::IToplevelProtocol::CreateSharedMemory] [@ __pthread_kill | abort | gpusGenerateCrashLog.cold.1 ] → [@ mozilla::detail::MutexImpl::unlock | mozilla::ipc::IToplevelProtocol::CreateSharedMemory] [@ __pthread_kill | abort | gpusGenerateCrashLog.cold.1 ] [@ __pthread_kill | pthread_kill | abort | gpusGenerateCrashLog.cold.1 ]

This has calmed down a lot, though it still seems to happen.

Severity: -- → S4
Priority: -- → P3

Closing because no crashes reported for 12 weeks.

Status: REOPENED → RESOLVED
Closed: 3 years ago2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.