#21952: Deadlock while dispatching signals
---------------------------------+--------------------------------------
     Reporter:  edevil           |                    Owner:  nobody
         Type:  Bug              |                   Status:  new
    Component:  Core (Other)     |                  Version:  1.6
     Severity:  Release blocker  |               Resolution:
     Keywords:  signal deadlock  |             Triage Stage:  Unreviewed
    Has patch:  0                |      Needs documentation:  0
  Needs tests:  0                |  Patch needs improvement:  0
Easy pickings:  0                |                    UI/UX:  0
---------------------------------+--------------------------------------

Comment (by akaariai):

 OK, this seems hairy. RLock doesn't work (I don't know why, but tests fail
 all over the place).

 Still, the basic problem is that it seems that just looping over
 weakreffed receivers might end up cleaning the weakref, and that again
 will lead to trying to take self.lock. We must use some sort of
 concurrency control here, as otherwise we could end up caching receivers
 that have been removed. Maybe there is some lock-free algorithm for
 this...

 I'll mark this accepted. I haven't reproduced the error, but in any case
 tacking a lock in an action that is fired by garbage collector seems like
 a seriously bad idea.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/21952#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.1174c1e009804034475268314c546150%40djangoproject.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to