Skip to content

phpStorm exception - java.lang.StringIndexOutOfBoundsException: String index out of range: 0 #286

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sergei-sss opened this issue Oct 6, 2020 · 5 comments

Comments

@sergei-sss
Copy link

Describe the bug (*)

PhpStorm Error Notification

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
	at java.base/java.lang.String.charAt(String.java:693)
	at com.magento.idea.magento2plugin.inspections.php.PluginInspection$1.getTargetMethodName(PluginInspection.java:323)
	at com.magento.idea.magento2plugin.inspections.php.PluginInspection$1.visitPhpMethod(PluginInspection.java:93)
	at com.jetbrains.php.lang.psi.elements.impl.MethodImpl.accept(MethodImpl.java:93)
	at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.accept(PhpPsiElementImpl.java:73)
	at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
	at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
	at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

To Reproduce (*)

Steps to reproduce the behavior:

  1. There is not specific conditions for reproduce this issue.

Expected behavior (*)

Works without any errors)

Screenshots

image

Please complete the following information: (*)

  • OS: Ubuntu 20.04.1 LTS
  • PhpStorm 2020.2.2 Build #PS-202.7319.77, built on September 23, 2020
  • Plugin Version - 1.0.1
@sergei-sss sergei-sss added the bug label Oct 6, 2020
@m2-assistant
Copy link

m2-assistant bot commented Oct 6, 2020

Hi @sergei-sss. Thank you for your report.
To help us process this issue please make sure that you provided sufficient information.

Please, add a comment to assign the issue: @magento I am working on this


@DmitryFurs
Copy link
Contributor

caught the same error on version 2.0.2
image

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
	at java.base/java.lang.String.charAt(String.java:693)
	at com.magento.idea.magento2plugin.inspections.php.PluginInspection$1.getTargetMethodName(PluginInspection.java:326)
	at com.magento.idea.magento2plugin.inspections.php.PluginInspection$1.visitPhpMethod(PluginInspection.java:93)
	at com.jetbrains.php.lang.psi.elements.impl.MethodImpl.accept(MethodImpl.java:93)
	at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.accept(PhpPsiElementImpl.java:73)
	at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
	at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:296)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:265)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:264)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:264)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
	at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

@phpWebStudio
Copy link

phpWebStudio commented Apr 25, 2021

Error occurred:
reproduce > right click on any file tab > click Copy path... > (error)
image
image
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

p.s.: project opened under symlink
p.s.2: same issue if direct path

java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4 at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:82) at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:82) at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:82) at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:82) at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getPathToElement(CopyMagentoPath.java:68) at com.intellij.ide.actions.CopyPathProvider.getQualifiedName(CopyPathProvider.kt:71) at com.intellij.ide.actions.CopyReferencePopup$1$1.customizeComponent(CopyReferencePopup.java:86) at com.intellij.ide.actions.CopyReferencePopup$1$1.customizeComponent(CopyReferencePopup.java:50) at com.intellij.ui.popup.list.GroupedItemsListRenderer.getListCellRendererComponent(GroupedItemsListRenderer.java:57) at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:24) at com.intellij.ui.components.WideSelectionListUI.updateLayoutState(WideSelectionListUI.java:197) at java.desktop/javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1389) at java.desktop/javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:648) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1683) at com.intellij.ui.components.JBList.getPreferredSize(JBList.java:182) at com.intellij.ui.components.JBViewport.getPreferredSizeWithoutScrollBars(JBViewport.java:527) at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:546) at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:519) at com.intellij.ui.components.JBViewport$1.preferredLayoutSize(JBViewport.java:66) at java.desktop/java.awt.Container.preferredSize(Container.java:1823) at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685) at com.intellij.ui.components.JBScrollPane$Layout.preferredLayoutSize(JBScrollPane.java:801) at java.desktop/java.awt.Container.preferredSize(Container.java:1823) at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685) at java.desktop/java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:724) at java.desktop/java.awt.Container.preferredSize(Container.java:1823) at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685) at com.intellij.ui.popup.WizardPopup$MyContainer.getPreferredSize(WizardPopup.java:322) at com.intellij.ui.popup.AbstractPopup.getSizeForPositioning(AbstractPopup.java:586) at com.intellij.ui.popup.AbstractPopup.relativePointByQuickSearch(AbstractPopup.java:572) at com.intellij.ui.popup.AbstractPopup.showInBestPositionFor(AbstractPopup.java:521) at com.intellij.ide.actions.CopyReferencePopup.actionPerformed(CopyReferencePopup.java:122) 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.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:310) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:286) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:110) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:515) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:545) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6652) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345) at java.desktop/java.awt.Component.processEvent(Component.java:6417) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2784) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836) 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)

@VitaliyBoyko VitaliyBoyko reopened this Apr 25, 2021
@gnysek
Copy link

gnysek commented Aug 26, 2021

I'm also getting com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:82), Phpstorm 2021.2 (newest, even if integration isn't enabled for current project)

@bohdan-harniuk
Copy link
Collaborator

Hello!

It is already fixed in the scope of #798.
The fix will be delivered in the next bug-fix release (4.2.1).

cc. @gnysek, @VitaliyBoyko, @phpWebStudio.

Thanks,
Bohdan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants