Pull Member Up fails silently
I'm trying to use the pycharm refactoring powers on one of our projects. "pull member up" fails silently. The logs give some more context, but not enough for me to understand the issue.
Specifically, I tried to create an empty method in the SyncEventHandler class (see sources) and pull it to the parent class.
Any help in understanding that issue would be welcomed!
The relevant part of the log seems to be :
com.intellij.psi.impl.source.DummyHolder cannot be cast to com.jetbrains.python.psi.PyFile
log extract:
018-07-17 21:39:57,693 [ 528828] ERROR - llij.ide.plugins.PluginManager - null
java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy127.okClicked(Unknown Source)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedViewSwingImpl.doAction(MembersBasedViewSwingImpl.java:113)
at com.intellij.refactoring.ui.RefactoringDialog.doRefactorAction(RefactoringDialog.java:100)
at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:180)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6548)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
at java.awt.Component.processEvent(Component.java:6313)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4903)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.m(IdeEventQueue.java:786)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:723)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:395)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1077)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:694)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:426)
at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1688)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1637)
at com.intellij.refactoring.ui.RefactoringDialog.show(RefactoringDialog.java:67)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedViewSwingImpl.initAndShow(MembersBasedViewSwingImpl.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.jetbrains.python.vp.ViewHandler$Invoker.run(ViewHandler.java:76)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:643)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:656)
at com.jetbrains.python.vp.ViewHandler.invoke(ViewHandler.java:46)
at com.sun.proxy.$Proxy126.initAndShow(Unknown Source)
at com.jetbrains.python.refactoring.classes.pullUp.PyPullUpPresenterImpl.launch(PyPullUpPresenterImpl.java:70)
at com.jetbrains.python.vp.ViewPresenterUtils.linkViewWithPresenterAndLaunch(ViewPresenterUtils.java:59)
at com.jetbrains.python.refactoring.classes.pullUp.PyPullUpHandler.doRefactorImpl(PyPullUpHandler.java:49)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringHandler.a(PyClassRefactoringHandler.java:82)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringHandler.invoke(PyClassRefactoringHandler.java:62)
at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:131)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:220)
at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:153)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:235)
at com.intellij.ide.actions.GotoActionAction.a(GotoActionAction.java:334)
at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:111)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:120)
at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:271)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:447)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:431)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.m(IdeEventQueue.java:786)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:727)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:395)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.jetbrains.python.vp.PresenterHandler.invoke(PresenterHandler.java:45)
... 96 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy126.invokeRefactoring(Unknown Source)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedPresenterWithPreviewImpl.doRefactor(MembersBasedPresenterWithPreviewImpl.java:59)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedPresenterImpl.okClicked(MembersBasedPresenterImpl.java:84)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedPresenterWithPreviewImpl.okClicked(MembersBasedPresenterWithPreviewImpl.java:35)
at com.jetbrains.python.refactoring.classes.pullUp.PyPullUpPresenterImpl.okClicked(PyPullUpPresenterImpl.java:81)
... 101 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.jetbrains.python.vp.ViewHandler$Invoker.run(ViewHandler.java:76)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:643)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:656)
at com.jetbrains.python.vp.ViewHandler.invoke(ViewHandler.java:46)
... 106 more
Caused by: java.lang.ClassCastException: com.intellij.psi.impl.source.DummyHolder cannot be cast to com.jetbrains.python.psi.PyFile
at com.jetbrains.sqlalchemy.SQLAlchemyTypeProvider.getReferenceType(SQLAlchemyTypeProvider.java:61)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:549)
at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:131)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:202)
at com.jetbrains.python.codeInsight.controlflow.ReadWriteInstruction$1.getType(ReadWriteInstruction.java:35)
at com.jetbrains.python.codeInsight.controlflow.ReadWriteInstruction.getType(ReadWriteInstruction.java:126)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.a(PyReferenceExpressionImpl.java:523)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at one.util.streamex.AbstractStreamEx.rawCollect(AbstractStreamEx.java:107)
at one.util.streamex.AbstractStreamEx.collect(AbstractStreamEx.java:391)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.a(PyReferenceExpressionImpl.java:524)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.a(PyReferenceExpressionImpl.java:341)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.d(PyReferenceExpressionImpl.java:298)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:245)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:202)
at com.jetbrains.python.psi.impl.references.PyQualifiedReference.resolveInner(PyQualifiedReference.java:88)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl.a(PyReferenceImpl.java:114)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl.access$000(PyReferenceImpl.java:45)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:784)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:778)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$0(ResolveCache.java:152)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:151)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:182)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:174)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:100)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil.b(PyClassRefactoringUtil.java:402)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil.access$000(PyClassRefactoringUtil.java:53)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil$2.visitPyReferenceExpression(PyClassRefactoringUtil.java:356)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.acceptPyVisitor(PyReferenceExpressionImpl.java:104)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:85)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:25)
at com.jetbrains.python.psi.PyElementVisitor.visitPyExpression(PyElementVisitor.java:169)
at com.jetbrains.python.psi.PyElementVisitor.visitPyCallExpression(PyElementVisitor.java:37)
at com.jetbrains.python.psi.impl.PyCallExpressionImpl.acceptPyVisitor(PyCallExpressionImpl.java:28)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:85)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:25)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:165)
at com.jetbrains.python.psi.PyElementVisitor.visitPyExpressionStatement(PyElementVisitor.java:161)
at com.jetbrains.python.psi.impl.PyExpressionStatementImpl.acceptPyVisitor(PyExpressionStatementImpl.java:40)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:85)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:25)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:193)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:39)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:85)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:25)
at com.jetbrains.python.psi.PyElementVisitor.visitPyFunction(PyElementVisitor.java:201)
at com.jetbrains.python.psi.impl.PyFunctionImpl.acceptPyVisitor(PyFunctionImpl.java:557)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:85)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil.rememberNamedReferences(PyClassRefactoringUtil.java:349)
at com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil.copyMethods(PyClassRefactoringUtil.java:137)
at com.jetbrains.python.refactoring.classes.membersManager.MethodsManager.moveMethods(MethodsManager.java:187)
at com.jetbrains.python.refactoring.classes.membersManager.MethodsManager.moveMembers(MethodsManager.java:93)
at com.jetbrains.python.refactoring.classes.membersManager.TypeSafeMovingStrategy.a(TypeSafeMovingStrategy.java:78)
at com.jetbrains.python.refactoring.classes.membersManager.TypeSafeMovingStrategy.moveCheckingTypesAtRunTime(TypeSafeMovingStrategy.java:51)
at com.jetbrains.python.refactoring.classes.membersManager.MembersManager.moveAllMembers(MembersManager.java:112)
at com.jetbrains.python.refactoring.classes.membersManager.PyMembersRefactoringBaseProcessor.performRefactoring(PyMembersRefactoringBaseProcessor.java:100)
at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:475)
at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:486)
at com.intellij.openapi.application.impl.ApplicationImpl.a(ApplicationImpl.java:971)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:167)
at com.intellij.openapi.application.impl.ApplicationImpl.a(ApplicationImpl.java:971)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:951)
at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:486)
at com.intellij.refactoring.BaseRefactoringProcessor.b(BaseRefactoringProcessor.java:313)
at com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:137)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:95)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85)
at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:311)
at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:242)
at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:558)
at com.intellij.refactoring.ui.RefactoringDialog.invokeRefactoring(RefactoringDialog.java:203)
at com.jetbrains.python.refactoring.classes.membersManager.vp.MembersBasedViewSwingImpl.invokeRefactoring(MembersBasedViewSwingImpl.java:140)
... 114 more
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - PyCharm 2018.1.4 Build #PY-181.5087.37
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_152-release
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - OS: Linux
2018-07-17 21:39:57,697 [ 528832] ERROR - llij.ide.plugins.PluginManager - Last Action: MembersPullUp
Please sign in to leave a comment.