Skip to content
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

readNameSet error when changing module name #781

Closed
JanStevens opened this issue Aug 7, 2017 · 3 comments
Closed

readNameSet error when changing module name #781

JanStevens opened this issue Aug 7, 2017 · 3 comments
Assignees
Milestone

Comments

@JanStevens
Copy link

Version

6.0.0

Exception

Message

readNameSet read 0 of 0 unexpected bytes ``

Stacktrace

java.lang.Throwable
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:132)
	at org.elixir_lang.psi.stub.call.Deserialized.readNameSet(Deserialized.java:171)
	at org.elixir_lang.psi.stub.call.Deserialized.readGuarded(Deserialized.java:151)
	at org.elixir_lang.psi.stub.call.Deserialized.deserializeCanonicalNameSet(Deserialized.java:113)
	at org.elixir_lang.psi.stub.call.Deserialized.deserialize(Deserialized.java:97)
	at org.elixir_lang.psi.stub.type.UnmatchedUnqualifiedNoParenthesesCall.deserialize(UnmatchedUnqualifiedNoParenthesesCall.java:55)
	at org.elixir_lang.psi.stub.type.UnmatchedUnqualifiedNoParenthesesCall.deserialize(UnmatchedUnqualifiedNoParenthesesCall.java:16)
	at com.intellij.psi.stubs.StubSerializationHelper.a(StubSerializationHelper.java:197)
	at com.intellij.psi.stubs.StubSerializationHelper.a(StubSerializationHelper.java:203)
	at com.intellij.psi.stubs.StubSerializationHelper.deserialize(StubSerializationHelper.java:151)
	at com.intellij.psi.stubs.SerializationManagerImpl.deserialize(SerializationManagerImpl.java:164)
	at com.intellij.psi.stubs.SerializedStubTree.getStub(SerializedStubTree.java:89)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readFromVFile(StubTreeLoaderImpl.java:124)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readOrBuild(StubTreeLoaderImpl.java:52)
	at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:687)
	at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:73)
	at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:53)
	at com.intellij.psi.stubs.StubIndexImpl$2.process(StubIndexImpl.java:331)
	at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:617)
	at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:605)
	at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:62)
	at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:360)
	at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:323)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:134)
	at org.elixir_lang.psi.scope.module.Variants.addProjectNameElementsTo(Variants.java:303)
	at org.elixir_lang.psi.scope.module.Variants.lookupElementList(Variants.java:51)
	at org.elixir_lang.reference.Module.getVariants(Module.java:149)
	at com.intellij.codeInsight.completion.CompletionData.completeReference(CompletionData.java:273)
	at com.intellij.codeInsight.completion.CompletionVariant.addReferenceCompletions(CompletionVariant.java:137)
	at com.intellij.codeInsight.completion.CompletionData.completeReference(CompletionData.java:81)
	at com.intellij.codeInsight.completion.LegacyCompletionContributor.a(LegacyCompletionContributor.java:71)
	at com.intellij.codeInsight.completion.LegacyCompletionContributor.a(LegacyCompletionContributor.java:125)
	at com.intellij.codeInsight.completion.LegacyCompletionContributor.processReferences(LegacyCompletionContributor.java:108)
	at com.intellij.codeInsight.completion.LegacyCompletionContributor.completeReference(LegacyCompletionContributor.java:69)
	at com.intellij.codeInsight.completion.LegacyCompletionContributor.fillCompletionVariants(LegacyCompletionContributor.java:52)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81)
	at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:149)
	at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
	at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$2.addCompletions(LiveTemplateCompletionContributor.java:88)
	at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
	at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:150)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81)
	at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:110)
	at com.intellij.codeInsight.completion.CompletionProgressIndicator.a(CompletionProgressIndicator.java:839)
	at com.intellij.codeInsight.completion.CompletionProgressIndicator.access$600(CompletionProgressIndicator.java:92)
	at com.intellij.codeInsight.completion.CompletionProgressIndicator$1CalculateItems.run(CompletionProgressIndicator.java:821)
	at com.intellij.codeInsight.completion.AsyncCompletion.b(CompletionThreading.java:108)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:939)
	at com.intellij.codeInsight.completion.AsyncCompletion.a(CompletionThreading.java:105)
	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:548)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:493)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
	at com.intellij.codeInsight.completion.AsyncCompletion.a(CompletionThreading.java:103)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:343)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

@KronicDeth
Copy link
Owner

By changing a module's name, you mean the alias after defmodule?

@JanStevens
Copy link
Author

No the name of the module

defmodule Whatever -> defmodule WhateverYes

@KronicDeth
Copy link
Owner

@JanStevens I arbitrarily chose anything > 3 as a suspect size for the set size to protect from #767 in #771, but it turns out that > 3 can happen because defimpl can take a list for for and each of those generate a module. For example defimpl Poison.Encoder, for: [Range, Stream, MapSet, HashSet] has canonicalNameSet (Poison.Encoder.Range, Poison.Encoder.Stream, Poison.Encoder.MapSet, PoisonEncoder.HashSet). So, I'll increase the suspect size cutoff to 10, I guess. The error also points out that if the guards are zero-length, so is this read-ahead, so it doesn't give good output. I'll disconnect the read-ahead length from the guard length too.

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

2 participants