update failed for AnAction with ID=Bitbucket.CopyFileUrlInBitbucket: java.lang.NoClassDefFoundError: com/intellij/dvcs/DvcsUtil$Updater

Issue #33 resolved
Martyn created an issue

update failed for AnAction with ID=Bitbucket.CopyFileUrlInBitbucket: java.lang.NoClassDefFoundError: com/intellij/dvcs/DvcsUtil$Updater com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/intellij/dvcs/DvcsUtil$Updater at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2215) at com.google.common.cache.LocalCache.get(LocalCache.java:4154) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider.getLinkyActionContext(action-context.kt:68) at com.atlassian.bitbucket.linky.actions.Action_contextKt.linkyActionContext(action-context.kt:184) at com.atlassian.bitbucket.linky.actions.link.AbstractFileSourceViewAction.update(file-actions.kt:33) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:132) at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:235) at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:180) at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:205) at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:100) at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:341) at com.intellij.openapi.actionSystem.impl.ActionPopupMenuImpl$MyMenu.show(ActionPopupMenuImpl.java:98) at com.intellij.ide.ui.customization.CustomizationUtil$2.invokePopup(CustomizationUtil.java:286) at com.intellij.ui.PopupHandler.mouseReleased(PopupHandler.java:55) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6541) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at com.intellij.ui.treeStructure.Tree.processMouseEvent(Tree.java:429) at com.intellij.ide.dnd.aware.DnDAwareTree.processMouseEvent(DnDAwareTree.java:58) at java.awt.Component.processEvent(Component.java:6306) at java.awt.Container.processEvent(Container.java:2237) at java.awt.Component.dispatchEventImpl(Component.java:4897) at java.awt.Container.dispatchEventImpl(Container.java:2295) at java.awt.Component.dispatchEvent(Component.java:4719) 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:4719) 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.g(IdeEventQueue.java:821) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:645) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365) 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.NoClassDefFoundError: com/intellij/dvcs/DvcsUtil$Updater at git4idea.repo.GitRepositoryUpdater.<init>(GitRepositoryUpdater.java:65) at git4idea.repo.GitRepositoryImpl.setupUpdater(GitRepositoryImpl.java:92) at git4idea.repo.GitRepositoryImpl.getInstance(GitRepositoryImpl.java:85) at git4idea.repo.GitRepositoryCreator.createRepositoryIfValid(GitRepositoryCreator.java:39) at com.intellij.dvcs.repo.VcsRepositoryManager.a(VcsRepositoryManager.java:240) at com.intellij.dvcs.repo.VcsRepositoryManager.a(VcsRepositoryManager.java:211) at com.intellij.dvcs.repo.VcsRepositoryManager.a(VcsRepositoryManager.java:140) at com.intellij.dvcs.repo.VcsRepositoryManager.getRepositoryForRoot(VcsRepositoryManager.java:119) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider.repositoryForFile(action-context.kt:179) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider.gatherFileActionContext(action-context.kt:103) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider.gatherLinkyActionContext(action-context.kt:82) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider.access$gatherLinkyActionContext(action-context.kt:58) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider$cache$1.apply(action-context.kt:65) at com.atlassian.bitbucket.linky.actions.CachingLinkyActionContextProvider$cache$1.apply(action-context.kt:58) at com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:146) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) ... 53 more

Comments (10)

  1. Daniil Penkin staff

    Hi @fagansystems ,

    Thank you for reporting this, I'll have a look.

    Could you tell which IDE and version are you using?

    Cheers, Daniil

  2. Martyn reporter

    PhpStorm 2017.2.2

    Build #PS-172.3968.35, built on August 31, 2017

    Subscription is active until November 3, 2017

    JRE: 1.8.0_152-release-915-b6 amd64

    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

    Windows 10 10.0

    You mean this?

    Its the latest version of Bitbucket linky I think 3.4. I checked and there wasnt a later one, it broke after phpstorm updated this morning

  3. Daniil Penkin staff

    Awesome! Yes, in case I need to reproduce the bug, exact version and environment would be helpful. Thanks a lot!

    I'm going to release an update soon, and I'll include a fix for this bug.

    Cheers, Daniil

  4. Martyn reporter

    As a developer, I always strive to provide as much info as possible, I did that with another issue with phpstorm and thought I had with your issue.

    Do you have a timescale for the update? I use this plugin a lot to both maintain my own local repo’s and clients remote repo’s as well so the lack of this is slowing me down.

    Cheers

    Martyn

  5. Daniil Penkin staff

    Hi @fagansystems,

    Sorry for the delayed reply.

    There's no release schedule as such: I'm maintaining this plugin in my free time. I'm going to release an update later this week though, but I can't tell when will be the next after it.

    Speaking about your issue, I found an interesting thing. It looks like it is not caused by Linky but rather by an incompatibility between the Git plugin and the IntelliJ platform. Specifically, these frames from the stack trace look suspicious:

    Caused by: java.lang.NoClassDefFoundError: com/intellij/dvcs/DvcsUtil$Updater at git4idea.repo.GitRepositoryUpdater.<init>(GitRepositoryUpdater.java:65)
    at git4idea.repo.GitRepositoryImpl.setupUpdater(GitRepositoryImpl.java:92)
    at git4idea.repo.GitRepositoryImpl.getInstance(GitRepositoryImpl.java:85)
    at git4idea.repo.GitRepositoryCreator.createRepositoryIfValid(GitRepositoryCreator.java:39)
    at com.intellij.dvcs.repo.VcsRepositoryManager.a(VcsRepositoryManager.java:240)
    ...
    

    So a class GitRepositoryUpdater, which resides in a bundled IntelliJ git4idea plugin, failed to find class DvcsUtil$Updater from IntelliJ core platform. This is weird since they both are shipped with the IDE. Moreover, I installed exactly the same version of PhpStorm on Win10 and then Linky 3.4 on top of it, and it works just fine.

    My question is: is your problem persistent, i.e. does it reproduce if you restart PhpStorm? You mentioned that the plugin crashed right after the IDE update – is there a chance that you somehow were using old version of bundled plugins: they're still unpacked somewhere on the disk anyway, so maybe the update went wrong or is there a chance that you've accidentally overridden them?

    If the problem persists, could you try on a freshly installed PhpStorm?

    I'm afraid there's not much else I can do about this :(

    Cheers, Daniil

  6. Martyn reporter

    As suggested I reinstalled the latest version and the plugin is working again. Thanks for the help.

  7. Daniil Penkin staff

    I'm glad to hear that, Martyn.

    I'm curious what happened with your old installation as I haven't heard about issues of inconsistent IDE updates before... Thanks again for reporting anyways!

    If you have any ideas of improvements or new features for Linky that might improve your workflow, let me know, I'm open to any kind of feedback :)

    I will close this issue as resolved.

    Cheers, Daniil

  8. Martyn reporter

    HI Daniil,

    Yes there was an issue during the install of the old version now that you mention it.

    When I ran the update I had an error displayed something about runnerw.exe being locked or open and couldn’t be updated. If I recall the options given to me were too close the bin and when I continued with the update all seemed to be ok.

    The update was run from inside phpstorm. Now I think back to a previous update I had similar issues before which resulted in me having to download the full installer. When running the update with Phpstorm closed it all runs ok.

    Hope that helps

    Let me know if you need more.

    Regards

    Martyn

  9. Log in to comment