Closed
Description
Describe the bug (*)
When I try to add new method into a existing plugin, I catch the following exception:
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeLo(TimSort.java:781)
at java.base/java.util.TimSort.mergeAt(TimSort.java:518)
at java.base/java.util.TimSort.mergeCollapse(TimSort.java:448)
at java.base/java.util.TimSort.sort(TimSort.java:245)
at java.base/java.util.Arrays.sort(Arrays.java:1515)
at java.base/java.util.ArrayList.sort(ArrayList.java:1750)
at java.base/java.util.Collections.sort(Collections.java:179)
at com.magento.idea.magento2plugin.actions.generation.PluginGenerateMethodHandlerBase.fixOrderToBeAsOriginalFiles(PluginGenerateMethodHandlerBase.java:321)
at com.magento.idea.magento2plugin.actions.generation.PluginGenerateMethodHandlerBase.chooseMembers(PluginGenerateMethodHandlerBase.java:217)
at com.magento.idea.magento2plugin.actions.generation.PluginGenerateMethodHandlerBase.invoke(PluginGenerateMethodHandlerBase.java:118)
at com.intellij.codeInsight.actions.CodeInsightAction.lambda$actionPerformedImpl$0(CodeInsightAction.java:58)
at com.intellij.codeInsight.actions.CodeInsightAction.lambda$actionPerformedImpl$1(CodeInsightAction.java:64)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:172)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:153)
at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformedImpl(CodeInsightAction.java:55)
at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformed(CodeInsightAction.java:33)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAware$5(ActionUtil.java:273)
at com.intellij.util.SlowOperations.lambda$allowSlowOperations$0(SlowOperations.java:77)
at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:64)
at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:76)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:273)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:267)
at com.intellij.ui.popup.ActionPopupStep.performAction(ActionPopupStep.java:241)
at com.intellij.ui.popup.ActionPopupStep.performAction(ActionPopupStep.java:231)
at com.intellij.ui.popup.ActionPopupStep.lambda$onChosen$2(ActionPopupStep.java:217)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
at com.intellij.ui.popup.AbstractPopup.lambda$dispose$18(AbstractPopup.java:1515)
at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:188)
at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:173)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:36)
at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1511)
at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:163)
at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:343)
at com.intellij.ui.popup.PopupFactoryImpl$ActionGroupPopup.dispose(PopupFactoryImpl.java:290)
at com.intellij.openapi.util.ObjectTree.runWithTrace(ObjectTree.java:138)
at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:168)
at com.intellij.openapi.util.Disposer.dispose(Disposer.java:153)
at com.intellij.openapi.util.Disposer.dispose(Disposer.java:141)
at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:266)
at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:460)
at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:432)
at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:373)
at com.intellij.ui.popup.list.ListPopupImpl$1.actionPerformed(ListPopupImpl.java:275)
at com.intellij.ui.popup.WizardPopup.proceedKeyEvent(WizardPopup.java:378)
at com.intellij.ui.popup.WizardPopup.dispatch(WizardPopup.java:354)
at com.intellij.ui.popup.PopupDispatcher.dispatchKeyEvent(PopupDispatcher.java:112)
at com.intellij.ui.popup.PopupDispatcher.dispatch(PopupDispatcher.java:148)
at com.intellij.ide.IdePopupManager.dispatch(IdePopupManager.java:93)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:809)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
To Reproduce (*)
Steps to reproduce the behavior:
- Open any plugin file
- Press Command+N to appear Generate menu
- Choose Magneto After Plugin or any different plugin
- See error in IDE Fatal Errors section
Expected behavior (*)
Absence of any errors in the IDE Fatal Errors section
Screenshots
Please complete the following information: (*)
- OS: MacOS
- PhpStorm: PhpStorm 2021.1.1
- Plugin Version: 3.2.1