Comment 3 for bug 422864

Revision history for this message
Ryan Paul (segphault) wrote :

The Gwibber daemon has a threadpool which starts out with a finite number of threads. These threads are used to perform message retrieval operations. When all of the threads are occupied, new operations are put into a queue. When there is a bug in the Gwibber code for one of the services, it causes an exception to be raised in the thread and sometimes the thread will basically lock up and not be returned to the threadpool. When this happens enough times that all of the threads are hanging, Gwibber will not be able to refresh. It will queue the operations, but it will never actually start them because there no free threads available to do it.

My guess is that your Facebook account didn't have all of the requisite Gwibber permissions set up and so it was causing an exception to be raised in the threads that were trying to retrieve the Facebook messages, eventually locking up all of the threads in the threadpool. I recently added a fix to the Gwibber client that will make it check for Facebook permissions on startup and seek authorization if some are missing. It seems like that must have fixed the specific instance of this issue that you were encountering.

The hanging threads are a broader problem that still remains unresolved. I need to add a timeout mechanism or something like that. I'm going to leave this report open for now so we remember to address that issue.