[Twisted-Python] Weekly Bug Summary
Bug summary __ Summary for 2020-12-20 through 2020-12-27 Opened Closed Total Change Enhancements: 1 0 1466 +1 Defects: 0 0995 +0 Tasks: 0 0 94 +0 Regressions: 1 0 1 +1 Total: 2 1 2558 +1 |== Type Changes|== Priority Changes |== Component Changes |Enhancement: +1 |Normal: +1 |Core: +1 |Release Blocker: Regression: +1 |Release Blocker: Release Process Bug: -1 Total Tickets Open Tickets New / Reopened Bugs __ = Normal = [#10067] Add tests for IProtocolNegotiationFactory (opened by adiroiban) enhancement core http://twistedmatrix.com/trac/ticket/10067 [#10068] Use latest pydoctor release (opened by adiroiban) release blocker: regression core http://twistedmatrix.com/trac/ticket/10068 Closed Bugs __ = Normal = [#10034] Document the new automated pre-relase and release process (opened by adiroiban, closed by Adi Roiban , fixed) release blocker: release process bug core http://twistedmatrix.com/trac/ticket/10034 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 - [#10068] Use latest pydoctor release (since 2020-12-24 09:46:59.187895). Mean open ticket age: 2986 days, 19:32:51.797315. Median: 2978 days, 14:53:27.516837. Standard deviation: 1481 days, 3:54:47.007081. Interquartile range: 2176 days, 20:38:34.814113. Mean time between ticket creation and ticket resolution: 614 days, 17:17:52.667715. Median: 58 days, 6:54:30. Standard deviation is 1018 days, 3:34:38.504243. The interquartile range is 810 days, 10:50:56.800562. Mean time spent in review: 101 days, 10:24:27.771458. Median: 4 days, 18:15:55. Standard deviation: 488 days, 3:59:41.665533. Interquartile range: 23 days, 16:57:52. Mean number of times a ticket is reviewed: 1.78842270586. Median: 1 Standard deviation: 1.4100411. Interquartile range: 1. Contributor Stats __ In the last 4 weeks, 3 unique ticket reporters 1 unique ticket reviewers 2 unique ticket resolvers In the last 24 weeks, 34 unique ticket reporters 10 unique ticket reviewers 16 unique ticket resolvers In the last 48 weeks, 57 unique ticket reporters 12 unique ticket reviewers 26 unique ticket resolvers ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
[Twisted-Python] Upcoming Twisted Release
Hi, I plan to act as a release manager for the next release and follow the plan documented at https://docs.twistedmatrix.com/en/latest/core/development/policy/release-process.html - The plan is to push the release candidate only on PyPI and to host the release candidate documentation (including pydoctor generated API docs) only on Read the Docs site. The Twisted Wiki Download page was updated to inform that PyPI is the only server where we publish the latest versions. So release candidates and final releases will be pushed only to PyPI. https://twistedmatrix.com/trac/wiki/Downloads While the release candidate documentation in only published on Read The Docs, at least for the next release I plan to also publish the documentation to: * https://twistedmatrix.com/documents/current/ * https://twistedmatrix.com/documents/VERSION/ After the release we can see if we can redirect them to Read The Docs. For now, the only release blocker are the missing intersphinx API links on Read The Docs between the narrative docs and apidocs, but that is on track to be solved by next week. So no other tickets are in the blocker queue: https://twistedmatrix.com/trac/report/26 -- Do you know any other release blocker issues? Since we have good continuous testing, maybe we can stop doing release candidates. The only thing blocking a release would be a "release blocket" ticket and truck CI checks not being green. Cheers -- Adi Roiban ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] Updating the project leadership committee
Thanks, Glyph The top posting worthy question is: Why else volunteers to be a member of the refreshed Twisted project leadership committee ? --- I volunteer to be a member of the committee. I can also take care of writing the required text to be forwarded to the existing committee for an up or down vote. I hope we don't need to bypass the current committee. Regards On Sat, 26 Dec 2020 at 22:12, Glyph wrote: > Hi Adi, > > The best next step would be to reach out to Conservancy directly—probably > Karen Sandler, based on what the website says now—and describe the > situation we are in. The problem is that the process we currently have in > place is that the old committee nominates the new one and as far as I’m > aware it doesn’t support any other options. The folks at the conservancy > are probably the only ones who can change this. > > The plans you propose all sound pretty reasonable to me, I just don’t have > the time or energy to do all the planning and coordinating required to make > them happen. > > If you did have a fully fleshed out, written up proposal for what to do > next, volunteers ready to be the next PLC, and all we needed was a PLC > up-or-down vote, I *might* be able to help by tracking down a majority of > the existing PLC and needling them to vote just once; however a better > solution would be to get a more sustainable process in place with the SFC > that takes this situation into account. > > I am *extremely *enthusiastic for your future reign on a new and improved > project leadership committee :-). Thank you for working on this! > > -g > > On Dec 16, 2020, at 3:33 AM, Adi Roiban wrote: > > > Hi, > > Based on a comment from Glyph > > > The current "project leadership committee" is more than half made up of > people who are a. no longer affiliated with the project and b. never answer > their email at this point, > > I started this discussion to see if we can update / refresh the project > leadership committee. > > I remember that in 2015 I read the same comment. > > Glypy, do you know the required number of members for the committee? > > My suggestion is to try to arrange for a committee that is updated every 2 > years... or maybe every year. > I can organize the communication and project management stuff. > > Here is the list of committers for the last to years > > > https://github.com/twisted/twisted/graphs/contributors?from=2018-12-16&to=2020-12-16&type=c > > This is a quantitative approach... and does not imply quality or > dedication, but I think that is a good starting point for searching for > candidates for the committee. > > I can also volunteer to be part of the committee. > > Maybe we can create a new list of members for the commitee and then see if > this list will be accepted by theSoftware Freedom Conservancy. > > I can also volunteer to do a bit of noise and see if we can raise more > money. > > I will not apply for the fellowship, so I hope that in this way we will > not have any complaints about my intentions :) > > PS: I have many patches for Twisted that are not commited. I could just > hire another person to "review" them, but I don't think that this is fair. > In fact, all the patches already passed an internal review, done by I > person paid by my company. > So, I hope that we can hire an independent reviewer > > -- > Adi Roiban > ___ > 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 > -- Adi Roiban ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] Updating the project leadership committee
Hi Adi, The best next step would be to reach out to Conservancy directly—probably Karen Sandler, based on what the website says now—and describe the situation we are in. The problem is that the process we currently have in place is that the old committee nominates the new one and as far as I’m aware it doesn’t support any other options. The folks at the conservancy are probably the only ones who can change this. The plans you propose all sound pretty reasonable to me, I just don’t have the time or energy to do all the planning and coordinating required to make them happen. If you did have a fully fleshed out, written up proposal for what to do next, volunteers ready to be the next PLC, and all we needed was a PLC up-or-down vote, I might be able to help by tracking down a majority of the existing PLC and needling them to vote just once; however a better solution would be to get a more sustainable process in place with the SFC that takes this situation into account. I am extremely enthusiastic for your future reign on a new and improved project leadership committee :-). Thank you for working on this! -g > On Dec 16, 2020, at 3:33 AM, Adi Roiban wrote: > > > Hi, > > Based on a comment from Glyph > > > The current "project leadership committee" is more than half made up of > > people who are a. no longer affiliated with the project and b. never answer > > their email at this point, > > I started this discussion to see if we can update / refresh the project > leadership committee. > > I remember that in 2015 I read the same comment. > > Glypy, do you know the required number of members for the committee? > > My suggestion is to try to arrange for a committee that is updated every 2 > years... or maybe every year. > I can organize the communication and project management stuff. > > Here is the list of committers for the last to years > > https://github.com/twisted/twisted/graphs/contributors?from=2018-12-16&to=2020-12-16&type=c > > This is a quantitative approach... and does not imply quality or dedication, > but I think that is a good starting point for searching for candidates for > the committee. > > I can also volunteer to be part of the committee. > > Maybe we can create a new list of members for the commitee and then see if > this list will be accepted by theSoftware Freedom Conservancy. > > I can also volunteer to do a bit of noise and see if we can raise more money. > > I will not apply for the fellowship, so I hope that in this way we will not > have any complaints about my intentions :) > > PS: I have many patches for Twisted that are not commited. I could just hire > another person to "review" them, but I don't think that this is fair. > In fact, all the patches already passed an internal review, done by I person > paid by my company. > So, I hope that we can hire an independent reviewer > > -- > Adi Roiban > ___ > 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] Unjellying and circular references?
Out official bug tracker is at https://twistedmatrix.com/trac/newticket — if you could file it there it would be great. (Github login required.) Thanks! > On Dec 16, 2020, at 2:21 AM, Jasper Phillips wrote: > > > > >> On Fri, Dec 11, 2020 at 6:08 AM Jean-Paul Calderone >> wrote: >>> On Fri, Dec 11, 2020 at 8:19 AM Jasper Phillips >>> wrote: >> >>> I'm using perspective broker to transfer objects in a networked game, which >>> I'm having trouble unjellying -- the remote versions wind up with dangling >>> twisted.persisted.crefutil._Dereference instances, so don't match the >>> original objects. >>> >>> I'm seeing this for objects that have circular references to each other. >>> I've refactored things to mostly avoid circular references and sidestep >>> this, but have one remaining case where I find circular references mean >>> clearer code that I'm reluctant to refactor. >>> >>> Is there some trick I'm missing to avoid _Dereferences? >> >> No, it's supposed to Just Work™ so you've found a bug in some part of the >> implementation. If you can produce a minimal reproducing example then it >> may be worth a bug report. But after that, I'd suggest investigating HTTP >> or AMP as a replacement for PB. > > Here's a test case demonstrating the bug: > > import sys > from twisted.persisted.crefutil import _Dereference > from twisted.spread import pb, jelly > > class RemoteCopyable( pb.Copyable, pb.RemoteCopy ): pass > jelly.globalSecurity.allowInstancesOf( RemoteCopyable ) > pb.setCopierForClassTree( sys.modules[__name__], pb.Copyable ) > > if __name__ == '__main__': > # circular object ref > cell = RemoteCopyable() > cell.link = RemoteCopyable() > cell.link.cell = cell > > # Mimic sending across network > broker = pb.Broker() > serializedCell = broker.serialize( cell ) > remoteCell = broker.unserialize( serializedCell ) > > print( _Dereference is type(remoteCell.link.cell) ) > > This bug stems from twisted.spread.flavors.RemoteCopy.setCopyableState(), > which works fine for Python 2! But the UTF fix for Python 3 broke circular > references. It looks like this: > > def setCopyableState(self, state): > if _PY3: > state = {x.decode('utf8') if isinstance(x, bytes) > else x:y for x,y in state.items()} > self.__dict__ = state > > Here is a simple tweak that fixes the problem: > > def setCopyableState(self, state): > if _PY3: > for x, y in list(state.items()): > if isinstance(x, bytes): > del state[x] > state[x.decode('utf8')] = y > self.__dict__ = state > > > Basically the reference unwinding that takes place in > twisted.spread.jelly._Unjellier._unjelly_reference()'s call to > ref.resolveDependants() relies upon setCopyableStates()'s passed in state > being used directly, such that all matching references' __dict__ point to the > same object. > > Hope this helps clarify. Is there some more formal location than this list > that you'd like a bug report filed? > ___ > 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