magento / magento/magento2-phpstorm-plugin
com.intellij.openapi.vfs.newvfs.impl.VfsData$FileAlreadyCreatedException
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 463
- Forks
- 98
- Avg merge
- 1h 6m
- Merged PRs (30d)
- 3
Description
**Describe the bug** (*)
A clear and concise description of what the bug is.
```
com.intellij.openapi.vfs.newvfs.impl.VfsData$FileAlreadyCreatedException: fileId=188154; nameId=58901(cache); parentId=181372; parent.name=@emotion; parent.children=modStamp: 344521; children: ["react"; nameId: 39045; id: 184420 (unknown), "styled"; nameId: 272005; id: 184586 (unknown), "sheet"; nameId: 272425; id: 188147 (unknown), "is-prop-valid"; nameId: 272045; id: 188148 (unknown), "memoize"; nameId: 272065; id: 188150 (unknown), "utils"; nameId: 12801; id: 188151 (unknown), "weak-memoize"; nameId: 272125; id: 188152 (unknown), "unitless"; nameId: 272581; id: 188153 (unknown), "cache"; nameId: 58901; id: 188154 (unknown), "use-insertion-effect-with-fallbacks"; nameId: 272177; id: 188155 (unknown), "hash"; nameId: 104013; id: 188156 (unknown), "serialize"; nameId: 272565; id: 188157 (unknown), "babel-plugin"; nameId: 272077; id: 188158 (unknown)];
at com.intellij.openapi.vfs.newvfs.impl.VfsData.initFile(VfsData.java:202)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.createChildImpl(VirtualDirectoryImpl.java:263)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findInPersistence(VirtualDirectoryImpl.java:174)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.doFindChild(VirtualDirectoryImpl.java:137)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:83)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:535)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:51)
at com.intellij.openapi.vfs.VirtualFile.findFileByRelativePath(VirtualFile.java:384)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.getRootForDependency(NodeModulesLibraryDirectory.java:287)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.getDirectOrSymlinkedRoot(NodeModulesLibraryDirectory.java:471)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.collectTsOnlyRoots(NodeModulesLibraryDirectory.java:423)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.doCreateLibrary(NodeModulesLibraryDirectory.java:145)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.createLibrary(NodeModulesLibraryDirectory.java:120)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesLibraryDirectory.getLibrary(NodeModulesLibraryDirectory.java:108)
at com.intellij.javascript.nodejs.library.node_modules.NodeModulesPredefinedLibraryProvider$NodeModulesLibraryModel.getSyntheticLibrary(NodeModulesPredefinedLibraryProvider.java:99)
at com.intellij.webcore.libraries.ScriptingLibraryModelBackedBySyntheticLibrary.getResolveRoots(ScriptingLibraryModelBackedBySyntheticLibrary.java:36)
at com.intellij.lang.javascript.library.JSLibraryMappings.lambda$getLibraryScopeForFileWithoutPredefined$0(JSLibraryMappings.java:100)
at com.intellij.webcore.libraries.ScriptingLibraryMappings.lambda$forEachLibraryInScopeForFile$1(ScriptingLibraryMappings.java:541)
at com.intellij.webcore.libraries.ScriptingLibraryMappings.iterateUp(ScriptingLibraryMappings.java:528)
at com.intellij.webcore.libraries.ScriptingLibraryMappings.forEachLibraryInScopeForFile(ScriptingLibraryMappings.java:536)
at com.intellij.lang.javascript.library.JSLibraryMappings.getLibraryScopeForFileWithoutPredefined(JSLibraryMappings.java:98)
at com.intellij.lang.javascript.psi.resolve.JSResolveScopeProvider.getProjectAndLibrariesScope(JSResolveScopeProvider.java:56)
at com.intellij.lang.javascript.ecmascript6.TypeScriptResolveScopeProvider.getModuleAndDefaultLibraryScope(TypeScriptResolveScopeProvider.java:59)
at com.intellij.lang.javascript.ecmascript6.TypeScriptResolveScopeProvider.getResolveScope(TypeScriptResolveScopeProvider.java:44)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.createScopeByFile(ResolveScopeManagerImpl.java:73)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.lambda$new$0(ResolveScopeManagerImpl.java:49)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:909)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:65)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.lambda$new$1(ResolveScopeManagerImpl.java:49)
at com.intellij.util.containers.ConcurrentFactoryMap$3.create(ConcurrentFactoryMap.java:184)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.getResolveScopeFromProviders(ResolveScopeManagerImpl.java:90)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.getPsiFileResolveScope(ResolveScopeManagerImpl.java:148)
at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.getResolveScope(ResolveScopeManagerImpl.java:138)
at com.intellij.psi.impl.ResolveScopeManager.getElementResolveScope(ResolveScopeManager.java:30)
at com.intellij.psi.impl.source.tree.CompositePsiElement.getResolveScope(CompositePsiElement.java:239)
at com.magento.idea.magento2plugin.reference.provider.RequireJsPreferenceReferenceProvider.getReferencesByElement(RequireJsPreferenceReferenceProvider.java:20)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.getReferences(ReferenceProvidersRegistryImpl.java:184)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.mapNotEmptyReferencesFromProviders(ReferenceProvidersRegistryImpl.java:165)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:144)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.lambda$getReferencesFromProviders$0(ReferenceProvidersRegistry.java:44)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:158)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:37)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:240)
at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:43)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:240)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion
```
**To Reproduce** (*)
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior** (*)
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Please complete the following information:** (*)
- OS: Linux 6.2.0-37-generic
- PhpStorm/Intellij version: 2023.3
- Plugin Version: 5.1.1
**Additional context**
Add any other context about the problem here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the stack-trace entry at com.intellij.openapi.vfs.newvfs.impl.VfsData.java:202, then trace the NodeModulesLibraryDirectory calls shown in the report. Reproduce with PhpStorm 2023.3 and plugin 5.1.1 on Linux using the reported Magento project context; done means the FileAlreadyCreatedException no longer occurs during JavaScript library resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, javascript, php
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100