- edited description
"Deploy All Metadata" experiences Null Pointer Exception - Causes Deploy to fail without notifying user of problems
I have an IDEA project with two Illuminated Cloud modules. Each module points to a different Salesforce org.
After adding several hundred files to one of the modules by pulling / merging from a Git repo, I tried to push the new and modified metadata to that module's associated org by using the "Deploy All Metadata" feature.
In the "Select Deployment Scope" dialog, I selected the appropriate Connection, and for "Contents" I selected the name of the module I wanted to deploy. I left the "Filter by Content Selection" box unchecked.
From my perspective as a user, the UI showed the "Comparing Local and Server Metadata States" progress pop-up. The progress bar got close to completion, and then it disappears. Nothing happens from that point on, and I have no idea if the deploy succeeded or failed.
By looking into the idea.log file, it looks like there is a null-pointer exception that is causing the problem. I have emailed you the idea.log folder directly, but here is a small snippet:
-31 13:40:52,436 [1466340] DEBUG - tellij.builder.ForceComBuilder - Local file not on server: /IDEA/SAMPLE_PROJECT2/AMXPACKAGE/src/workflows/WorkPerformanceCycle.workflow 2016-01-31 13:40:52,667 [1466571] ERROR - llij.ide.plugins.PluginManager - null java.lang.NullPointerException at com.illuminatedcloud.intellij.builder.ForceComBuilder.validateConflicts(SourceFile:2390) at com.illuminatedcloud.intellij.builder.ForceComBuilder.fullBuild(SourceFile:2477) at com.illuminatedcloud.intellij.builder.FullBuildAction.build(SourceFile:17) at com.illuminatedcloud.intellij.builder.AbstractDeployAction.doActionPerformed(SourceFile:84) at com.illuminatedcloud.intellij.builder.AbstractBuildAction.actionPerformed(SourceFile:86) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:182) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:311) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:958) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:281) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:109) at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:513) at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533) at java.awt.Component.processMouseEvent(Component.java:6535) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6300) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:866) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381) 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) 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - IntelliJ IDEA 15.0.3 Build #IU-143.1821.5 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_40-release 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X 2016-01-31 13:40:52,668 [1466572] ERROR - llij.ide.plugins.PluginManager - Last Action: IlluminatedCloud.FullBuild 2016-01-31 13:40:52,739 [1466643] DEBUG - tellij.builder.ForceComBuilder - Initialized local source caches for 46 files in 62 ms. 2016-01-31 13:40:52,773 [1466677] DEBUG - tellij.builder.ForceComBuilder - Initialized local source caches for 46 files in 86 ms.
I have verified that I can deploy to server by "saving" metadata one file at a time. I have also verified that I can deploy a single folder, and even multiple folders using the "selected" scope. Seems like the problem is only showing up when I try to deploy the entire module.
Comments (4)
-
reporter -
repo owner It appears that one of the files being deployed has been most recently changed by another user and is therefore a potential conflict, but unfortunately the specifics of the user aren't being returned by the API call. As a result,
getLastModifiedByUser().getName()
is causing the NPE. I can (and will!) obviously be defensive against this situation, but it's a little strange that the last modified by user info isn't being returned... -
repo owner Okay, I added defensive handling of this situation as well as logging when it happens. This will be in the next build.
-
repo owner - changed status to resolved
Should be fixed in 1.6.8.2, though you won't get the exact conflicting username in these situations, just the user ID at most.
- Log in to comment