Attendees: Mark, Benoit, Felix, Mohamed, Victor, Amos
Agenda
Review action items from last meeting:
Benedikt to confirm WITH_DEBUG builds need to be updated for 3.9 (low priority) and will create issue to document for later
Benedikt - Add reference to backports-2.5 branch in README
Benedikt - Switch to .NET Standard for everything but ClrModule
Benedikt - will look at Amos's fix for #891 issue in PR #958
Benedikt - will look into Python Buffer branch again
Benedikt to look into weirdness with …
[View More]pycparser in appveyor.yml (see PR #1175 <https://github.com/pythonnet/pythonnet/pull/1175>)
Domain reload update
Notes
Felix has been testing domain reload branch
mostly success with a few fixes needed
issues
if you register a Python function as a delegate directly into a C# event, it is not retained - currently throws an exception due to leaving the Python function in a bad state
would be ideal to bring back the connection
Acceptable to lose the connection, but must leave python.net in a good state otherwise
if you maintain a proxy to a C# object in Python, on domain reload the proxy usually gives several different exceptions and sometimes crashes
correct behaviour is to raise an exception, ideally the same one with no crashes
if an assembly/type/class member/etc is missing after domain reload, causes problems on the Python side
needs to be gracefully handled
finalizers at exit fix done by Felix
PR not yet made
other than these issues reload mode works really well
soft shutdown mode doesn't work well for domain reload
it unloads all modules, which doesn't work for native modules (by design)
intended for use in the game, not the editor
Victor approved landing it to master once remaining issues raised in PR are fixed
Felix/Benoit to fix the minor issues in the PR and land the patch
If it can't land to master, Victor will create a branch for it in the repo
Remaining issues found by Felix can land to master after the main PR lands to master. Process:
Fixes: Felix submits a PR for the fix (ideally with test case)
Issues: create an issue, Felix submits PR with test case, invites Amos to fix. Amos fixes it. Land PR with test case + fix to master.
Documentation would be good
Proposal:
Unity/imaginary spaces writes an outline,
amos fills in outline,
Unity/imaginary spaces revises it
Python 2 support for soft shutdown / reload is not necessary.
Action Items
Benedikt to confirm WITH_DEBUG builds need to be updated for 3.9 (low priority) and will create issue to document for later
Benedikt - Add reference to backports-2.5 branch in README
Benedikt - Switch to .NET Standard for everything but ClrModule
Benedikt - will look at Amos's fix for #891 issue in PR #958
Benedikt - will look into Python Buffer branch again
Benedikt to look into weirdness with pycparser in appveyor.yml (see PR #1175 <https://github.com/pythonnet/pythonnet/pull/1175>)
Felix to create test case for Amos that demonstrates the "Python function as delegate fails on reload" (and others) and log issue - will create unit tests to land after main PR lands
Benoit/Felix to create doc outline for reload & soft shutdown modes (developer docs)
Felix will fix remaining domain reload issues raised by Victor
Amos will fix new issues to land after main PR lands
The meeting notes google doc is here <https://docs.google.com/document/d/1rJVU84B_dgx58-_EopjRtOJVFAI2WfHJYV0n7uE…>. Feel free to correct or add additional information.
The next meeting will be held on Thursday, August 27 at 12pm EST (click for your time zone) <https://www.google.com/search?q=12:00+pm+EST>.
Mark Visser
M&E Dev Manager
Unity Technologies - www.unity3d.com <http://www.unity3d.com/>
[View Less]