[CRASH] Hang then crash when attempting to select file on Lion
CatsLover2006 opened this issue · comments
Describe the bug
Clicking a button which results in a file selection prompt crashes, after about 5 seconds of beachballing.
To Reproduce
Literally click an upload file button, 100% consistent.
Drag-and-drop onto the file upload element is a workaround here, but some websites don't allow that action.
Desktop (please complete the following information):
- OS: Mac OS X Lion 10.7.5 (11G63)
- Build 118.0.5993.88.1
- Machine: MacBook4,1
Logs
Path: /Users/USER/Desktop/Chromium.app/Contents/MacOS/_Chromium
Identifier: org.chromium.Chromium
Version: 118.0.5993.88.1 (5993.88)
Code Type: X86-64 (Native)
Parent Process: sh [18748]
Date/Time: 2023-11-04 12:58:58.124 -0700
OS Version: Mac OS X 10.7.5 (11G63)
Report Version: 9
Sleep/Wake UUID: 866E33BD-A90F-4BEA-A0A9-946F29229317
Interval Since Last Report: 124169 sec
Crashes Since Last Report: 22
Per-App Interval Since Last Report: 62176 sec
Per-App Crashes Since Last Report: 4
Anonymous UUID: EAD228B2-3DF5-4B35-94AF-DA49DD87C525
Crashed Thread: 0 CrBrowserMain Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Application Specific Information:
objc[18766]: garbage collection is OFF
objc[18766]: cannot form weak reference to instance (0x7fe7fc584050) of class NSOpenPanel
Seems related to #184 and #180. I suspect this has to do with the classic title bar modification, since the crashes seem to be exclusive to <=10.9.X.
I caught the crash on video. I didn't know that Quicktime screen record doesn't show when the cursor is beachballing but better than nothing.
ChromeUploadFail.mov
Yeah same root cause as those other issues
objc[18766]: cannot form weak reference to instance (0x7fe7fc584050) of class NSOpenPanel
Seems everyone facing these issues is on versions < 10.9. Given this, I think that it's probably not a use-after-free and instead the situation where on these older systems certain AppKit classes (NSWindow, NSSavePanel, etc.) don't support weak references. I guess the fix here would be to change to maybe use _unsafe_unretained wherever they show up for these older version