Message11512

Author zyasoft
Recipients Ivan, jeff.allen, zyasoft
Date 2017-07-30.21:29:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1501450158.13.0.830215906161.issue2609@psf.upfronthosting.co.za>
In-reply-to
Content
[also sent to jython-dev, apparently I'm not properly registered to respond to this tracker to use email responses]

I increasingly believe this issue is almost certainly
http://bugs.jython.org/issue2487 as Ivan pointed out earlier in this
thread. Note that the synchronization in PyType.fromClass, which is
responsible for constructing this map, was causing deadlocks was removed in
2.7.1b3 and replaced with a busy wait in 2.7.1rc1.

I want to ask this question: *should we revisit our original decision to
remove this synchronization*? (In
https://hg.python.org/jython/rev/cffe5b824a21 and at least another followup
commit set). It is possible that we got this mixed up with the low memory
problem, and how it had a nasty action at a distance problem, see
http://bugs.jython.org/issue2536

At the very least this is a low cost thing to try out, although it may not
be conclusive.

I should point out that I spent too much time trying to revisit how this
publishes, and I never found a workable solution that didn't do the busy
waiting that Darjus proposed as an alternative. Clearly we don't care about
this code path being synchronized, only that it doesn't deadlock; it is not
going to be hot except in some pathological usage scenario (constant
reloading of Java classes through distinct class loaders, then used in some
sort of callback scenario is the only thing that I can think of; otherwise
this cost is only a startup cost).
History
Date User Action Args
2017-07-30 21:29:18zyasoftsetmessageid: <1501450158.13.0.830215906161.issue2609@psf.upfronthosting.co.za>
2017-07-30 21:29:18zyasoftsetrecipients: + zyasoft, jeff.allen, Ivan
2017-07-30 21:29:18zyasoftlinkissue2609 messages
2017-07-30 21:29:17zyasoftcreate