Crash in [@ objc_retain | -[NSProgress cancel]]
Categories
(Core :: Widget: Cocoa, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox74 | --- | wontfix |
firefox75 | --- | wontfix |
firefox76 | --- | fixed |
People
(Reporter: gsvelto, Assigned: christoph-wa)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
This bug is for crash report bp-5ab2b585-02c1-49f0-97db-c59e00200322.
Top 10 frames of crashing thread:
0 libobjc.A.dylib objc_retain
1 Foundation -[NSProgress cancel]
2 Foundation __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT_S0__
3 Foundation -[NSXPCConnection _decodeAndInvokeMessageWithEvent:flags:]
4 Foundation message_handler
5 libxpc.dylib _xpc_connection_call_event_handler
6 libxpc.dylib _xpc_connection_mach_event
7 libdispatch.dylib _dispatch_client_callout4
8 libdispatch.dylib _dispatch_mach_msg_invoke
9 libdispatch.dylib _dispatch_lane_serial_drain
Low-volume crash but looks like a nasty one: the NSProgress
code is accessing either a NULL or an already freed pointer. Note that this is not happening on the main thread.
Scouring our code-base I found only one use of NSProgress
in nsMacFinderProgress.mm
.
I'm not familiar with this code but there's something that looks odd. In the destructor we release both the cancellationHandler
and the object itself but without calling unpublish
first. In the End()
method we call unpublish
before releasing the object but we don't release the cancellationHandler
.
Since this code is being called on a separate thread is it possible we're doing something wrong in one of those two sequences causing a callback to access a nil'd or free'd object?
Comment 1•5 years ago
|
||
Christoph, do you have time to take a look at this?
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
I'll take a look. I remember having troubles with a memory leak, which lead to this destructor.
Assignee | ||
Comment 3•5 years ago
|
||
Updated•5 years ago
|
Comment 5•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Description
•