brettpoole / growl

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

NSGenericException - *** Collection <__NSArrayM: 0x1047dd9b0> was mutated while being enumerated #478

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?

I've not seen this on my Mac. About half a dozen customers (all running Mac OS 
X 10.7.3) have reported it happening (not-reproducibly) when my app launches.

What is the expected output?

No exception.

What do you see instead?

Exception raised.

Please use labels and text to provide additional information.

This started happening with the latest release of my app. I've carefully 
checked all my code changes and don't see any that would have caused this. (Of 
course, it's possible that I'm missing them.) However, this was the first 
version of my app that included the Growl 1.3.1 SDK rather than 1.2.x, so I'm 
guessing it might be due to Growl.

Original issue reported on code.google.com by m...@c-command.com on 17 Apr 2012 at 6:01

GoogleCodeExporter commented 8 years ago
So, Im pretty sure I know the cause of this and #477.  GrowlApplicationBridge 
picked up the ability to queue a notification if we weren't registered, and 
resend it after we were registered.  However, this queue is simply an 
NSMutableArray which is not accessed in a thread safe manner, and if you are 
sending notes from multiple threads, a race condition exists where one thread 
tells the queue to empty at the same time another is, and a mutated while being 
enumerated exception can be thrown.

Original comment by dan...@growl.info on 18 Apr 2012 at 2:09

GoogleCodeExporter commented 8 years ago
Sounds like that would do it. Three more of these came in this morning, so I 
hope it can be fixed soon.

Original comment by m...@c-command.com on 18 Apr 2012 at 2:47

GoogleCodeExporter commented 8 years ago
I am flagging as waiting on user, as I cannot reproduce this crash myself, but 
I have checked in a change that should fix it [a49d9b4de2ab] in default.  The 
next beta build of the SDK will include this change.  

Original comment by dan...@growl.info on 18 Apr 2012 at 6:54

GoogleCodeExporter commented 8 years ago

Original comment by rarich...@gmail.com on 19 Oct 2012 at 2:33