[Ironpython-users] _weakref.cs fixes

Jeff Hardy jdhardy at gmail.com
Tue May 5 18:39:49 CEST 2015


Hi Kuno,
Thanks for looking into it! The usual workflow is to send a pull
request (PR) [1], which creates a single spot for discussion, with
nice commenting abilities. If you don't mind doing that, I'll take a
look at the changes [2] in the meantime.

- Jeff

[1] https://help.github.com/articles/creating-a-pull-request/
[2] https://github.com/kunom/ipy-weakref/commit/3efacde8b3408fa92ddd4185a4774a0c284c4301

On Mon, May 4, 2015 at 12:13 PM, Kuno Meyer <kuno.meyer at gmx.ch> wrote:
> Dear all
>
> I'd like to propose https://github.com/kunom/ipy-weakref (the ipy-27-maint
> branch) to be included into the main IronPython code base. It fixes for me
> various random SystemError and ValueError exceptions in the _weakref.cs module.
>
> Please note that while my patch changes (and hopefully improves) some
> aspects in _weakref.cs, I still do think that _weakref.cs has several
> critical issues:
>
> - There is absolutely no locking on the internal data structures, which
> makes me think that there could be various runtime issues in a multithreaded
> environment. (However, this does not directly apply to the Finalizer thread
> since to my knowledge all user threads are suspended during finalization.)
>
> - The weakref collection callback is invoked on the .NET finalizer thread. I
> am not sure whether this is what user code expects. At least there is a high
> potential of dead-locking the finalizer thread, which is not the nicest
> thing to do. (Maybe we should issue a warning on direct calls to
> GC.WaitForPendingFinalizers(), similar to what is printed when calling
> Thread.Sleep().)
>
> Other remarks:
>
> - The weakref/weakrefset test case brought up in the mailing list on Apr 13
> passes with my changes.
>
> - The standard library weakref tests pass with the same number of failures
> as before
>
> - Please note that I am unexperienced with git/GitHub as well as with the
> IronPython code base, so please show some patience...
>
> Thanks!
> Kuno
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> https://mail.python.org/mailman/listinfo/ironpython-users


More information about the Ironpython-users mailing list