Re: [Twisted-Python] Circular references in TLSMemoryBIOProtocol

2018-01-27 Thread Ilya Skriblovsky
I've created the pull request with breaking cycles in connectionLost,
please consider: https://github.com/twisted/twisted/pull/955

This change seems to fit well to the reasoning of Compatibility Exception
process. Should I create new thread in the mailing list with "INCOMPATIBLE
CHANGE" in a subject?

вс, 21 янв. 2018 г. в 12:51, Glyph :

> On Jan 20, 2018, at 9:32 AM, Ilya Skriblovsky 
> wrote:
>
>
> Yes, doing it only for TLSMemoryBIOProtocol fails test too :(
>
> SSL-related seem to be touching both ends of this reference cycle after
> connectionLost:
>
> 1. twisted/test/test_sslverify.py:2102
> self.assertEqual(sProto.wrappedProtocol.data, b'')
> This one touches `wrappedProtocol`
>
> 2. twisted/test/proto_helpers.py:924 (waitUntilAllDisconnected, used by
> twisted.web.test.test_webclient.WebClientSSLTests, for example)
> if not True in [x.transport is not None and x.transport.connected for x in
> protocols]:
> and this one touches `transport` field
>
> There are other examples as well.
>
> Sure, these test failures can probably be fixed by changing tests
> themselves, for example by making them to hold their own references to both
> wrapping and wrapped protocols. But I'm not sure this wouldn't break any
> user's code too... For my app it was easily fixed by breaking cycle in my
> protocol's connectionLost. But I'm not experienced enough in Twisted
> internals to be sure doing it inside TLSMemoryBIOProtocol wouldn't break
> any real-world usage scenarios.
>
>
> I think that this is worth trying, at least.  If you could write a PR that
> fixes the tests, you might want to try following the exception process
> documented in
> https://twistedmatrix.com/documents/current/core/development/policy/compatibility-policy.html#procedure-for-exceptions-to-this-policy
>  and
> see if anyone has any code that might break.
>
> I'm pretty sure that the direction to break the cycle in is to break the
> reference to .wrappedProtocol, and not to mess with
> .wrappedProtocol.transport (which is not really something that should be
> touched from the outside of the wrapped protocol).
>
> -glyph
>
> ___
> Twisted-Python mailing list
> Twisted-Python@twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Circular references in TLSMemoryBIOProtocol

2018-01-27 Thread Glyph


> On Jan 27, 2018, at 12:33 PM, Ilya Skriblovsky  
> wrote:
> 
> I've created the pull request with breaking cycles in connectionLost, please 
> consider: https://github.com/twisted/twisted/pull/955 
> 
> 
> This change seems to fit well to the reasoning of Compatibility Exception 
> process. Should I create new thread in the mailing list with "INCOMPATIBLE 
> CHANGE" in a subject?

Right after putting the ticket into review, yes :-)

-g

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] Weekly Bug Summary

2018-01-27 Thread trac



Bug summary
__
Summary for 2018-01-21 through 2018-01-28
  Opened Closed  Total Change
Enhancements:  0  0   1383 +0
Defects:   1  0907 +1
Tasks: 0  0 93 +0
Regressions:   0  0  6 +0
Total: 1  0   2390 +1

|== Type Changes   |== Priority Changes   |== Component Changes   
|Defect:  +1   |Normal:  +1   |Core:  +1  



Total Tickets
Open Tickets



New / Reopened Bugs
__
= Normal =
[#9374] Circular references in t.p.t.TLSMemoryBIOProtocol and t.p.p.ProtocolWrapper (opened by IlyaSkriblovsky)
defect  core   http://twistedmatrix.com/trac/ticket/9374



Closed Bugs
__



Ticket Lifetime Stats
__
Oldest open ticket - [#50] conch command-line client doesn't work in win32 (since 2003-07-12 14:41:06).
Newest open ticket - [#9374] Circular references in t.p.t.TLSMemoryBIOProtocol and t.p.p.ProtocolWrapper (since 2018-01-26 10:09:56.500407).

Mean open ticket age: 2170 days, 20:28:31.408829.
Median: 2018 days, 3:14:57.680694.
Standard deviation: 1281 days, 1:05:48.090009.
Interquartile range: 1839 days, 15:15:20.103774.

Mean time between ticket creation and ticket resolution: 635 days, 17:42:42.464565.
Median: 67 days, 6:47:52.
Standard deviation is 1030 days, 23:54:36.346746.
The interquartile range is 871 days, 7:17:52.

Mean time spent in review: 104 days, 8:40:13.181525.
Median: 4 days, 16:48:39.
Standard deviation: 509 days, 2:02:18.996128.
Interquartile range: 23 days, 2:04:47.

Mean number of times a ticket is reviewed: 1.84266077565.
Median: 1
Standard deviation: 1.44970885276.
Interquartile range: 1.


Contributor Stats
__
In the last 4 weeks,
11 unique ticket reporters
2 unique ticket reviewers
3 unique ticket resolvers
In the last 24 weeks,
43 unique ticket reporters
16 unique ticket reviewers
14 unique ticket resolvers
In the last 48 weeks,
86 unique ticket reporters
22 unique ticket reviewers
24 unique ticket resolvers





___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python