chashion / growl

Automatically exported from code.google.com/p/growl
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Work around CFErrorGetDomain error or don't trigger it #410

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The CFErrorGetDomain crash is something that we need to work around or not 
trigger.

Original issue reported on code.google.com by ch...@growl.info on 23 Dec 2011 at 5:39

GoogleCodeExporter commented 9 years ago
Attaching a crash log.

Original comment by ch...@growl.info on 24 Dec 2011 at 11:20

Attachments:

GoogleCodeExporter commented 9 years ago
Issue 415 has been merged into this issue.

Original comment by rarich...@gmail.com on 8 Jan 2012 at 3:51

GoogleCodeExporter commented 9 years ago

Original comment by ch...@growl.info on 10 Jan 2012 at 1:22

GoogleCodeExporter commented 9 years ago

Original comment by ch...@growl.info on 19 Jan 2012 at 6:48

GoogleCodeExporter commented 9 years ago
This happens pretty often for me too.  Here's another crash log.

Original comment by bonelake on 20 Jan 2012 at 2:36

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by ch...@growl.info on 25 Jan 2012 at 10:42

GoogleCodeExporter commented 9 years ago
Huzzah! A reproducible case.  Using at least certain (tested with MonoWhite and 
Mono 2.0), if not all webkit styles, Growl will crash with this error when 
under heavy load of incoming notes, as the URL loader hangs trying to access a 
cache object synchronously with the main thread.  

The fault lies in GrowlWebKitImageProtocol - (void)startLoading where we 
dispatch_sync() to the main thread.  Will fix for 1.4. 

Original comment by dan...@growl.info on 26 Jan 2012 at 3:46

GoogleCodeExporter commented 9 years ago
have moved all access to the image cache for webkit behind a private concurrent 
queue, reads are done with dispatch_sync, and writes (add/remove) are done with 
dispatch_barrier_sync.  If the main thread was being inundated by notifications 
to process, it caused enough hang waiting for the URLProtocol that it was 
causing errors.  This was pushed to default in the dev repo as [5c7f5f4f8d95].

Marking this as started, we need to test this thoroughly, to make sure that we 
have not introduced any further issues with webkit displays.  

Original comment by dan...@growl.info on 26 Jan 2012 at 4:57

GoogleCodeExporter commented 9 years ago
I have yet to see a crash using this fix, an I have been exclusively using mono 
since implementing this.  I am going to mark as FixedInSource, however, let be 
sure it gets testing in Beta

Original comment by dan...@growl.info on 1 Feb 2012 at 7:52

GoogleCodeExporter commented 9 years ago

Original comment by ch...@growl.info on 11 Jan 2013 at 6:36