Removing Entry on any group causes a NullReferenceException

Unity 2018.4.4f1
Addressables 1.1.5

Remove an entry in a group causes the following exception:

NullReferenceException: Object reference not set to an instance of an object
UnityEditor.AddressableAssets.GUI.AddressableAssetEntryTreeView.RemoveEntry (System.Object context) (at Library/PackageCache/com.unity.addressables@1.1.5/Editor/GUI/AddressableAssetsSettingsGroupTreeView.cs:904)
UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[] options, System.Int32 selected) (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/GenericMenu.cs:119)

The culprit is this function, I’m guessing item.entry.parentGroup gets GC:

        protected void RemoveEntry(object context)
        {
            if (EditorUtility.DisplayDialog("Delete selected entries?", "Are you sure you want to delete the selected entries?\n\nYou cannot undo this action.", "Yes", "No"))
            {
                List<AssetEntryTreeViewItem> selectedNodes = context as List<AssetEntryTreeViewItem>;
                if (selectedNodes == null || selectedNodes.Count < 1)
                    return;
                var entries = new List<AddressableAssetEntry>();
                HashSet<AddressableAssetGroup> modifiedGroups = new HashSet<AddressableAssetGroup>();
                foreach (var item in selectedNodes)
                {
                    if (item.entry != null)
                    {
                       //important part here
                        m_Editor.settings.RemoveAssetEntry(item.entry.guid, false);
                        entries.Add(item.entry);
                        modifiedGroups.Add(item.entry.parentGroup);
                    }
                }
                foreach (var g in modifiedGroups)
                    g.SetDirty(AddressableAssetSettings.ModificationEvent.EntryModified, entries, false, true);
                m_Editor.settings.SetDirty(AddressableAssetSettings.ModificationEvent.EntryRemoved, entries, true, false);
            }
        }

Changing to this fixes it.

[code=CSharp]        protected void RemoveEntry(object context)
        {
            if (EditorUtility.DisplayDialog("Delete selected entries?", "Are you sure you want to delete the selected entries?\n\nYou cannot undo this action.", "Yes", "No"))
            {
                List<AssetEntryTreeViewItem> selectedNodes = context as List<AssetEntryTreeViewItem>;
                if (selectedNodes == null || selectedNodes.Count < 1)
                    return;
                var entries = new List<AddressableAssetEntry>();
                HashSet<AddressableAssetGroup> modifiedGroups = new HashSet<AddressableAssetGroup>();
                foreach (var item in selectedNodes)
                {
                    if (item.entry != null)
                    {
                       //important part here
                        entries.Add(item.entry);
                        modifiedGroups.Add(item.entry.parentGroup);
                        m_Editor.settings.RemoveAssetEntry(item.entry.guid, false);
                    }
                }
                foreach (var g in modifiedGroups)
                    g.SetDirty(AddressableAssetSettings.ModificationEvent.EntryModified, entries, false, true);
                m_Editor.settings.SetDirty(AddressableAssetSettings.ModificationEvent.EntryRemoved, entries, true, false);
            }
        }

I just replicated it with an empty project.

Thanks, please also submit a bug report.