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

UPDATE_KOTLIN_VERSION: 1.9.0-dev-4392 #1364

Merged
merged 1 commit into from
Apr 21, 2023
Merged

Conversation

neetopia
Copy link
Collaborator

Disabled command line integration test for this bootstrap due to binary compatibility issue, this should be reenabled before 1.9.0 release.

@neetopia neetopia requested a review from jsjeon April 14, 2023 21:05
@jsjeon
Copy link
Member

jsjeon commented Apr 15, 2023

Also, there are a few test failures in CI. Are they expected / safe to ignore?

@neetopia
Copy link
Collaborator Author

Also, there are a few test failures in CI. Are they expected / safe to ignore?

No they are not expected, failures are in AA stand alone mode reporting a missing extension point which I was planning to ask you :)

@bob1199
Copy link

bob1199 commented Apr 17, 2023

Disabled command line integration test for this bootstrap due to binary compatibility issue, this should be enabled before 1.9.0 release.

@jsjeon
Copy link
Member

jsjeon commented Apr 19, 2023

Also, there are a few test failures in CI. Are they expected / safe to ignore?

No they are not expected, failures are in AA stand alone mode reporting a missing extension point which I was planning to ask you :)

@darthorimar Any idea for the following stacktrace?

KSPAATest > testSuperTypes() FAILED
    java.lang.IllegalArgumentException: Missing extension point: org.jetbrains.kotlin.llFirSessionConfigurator in container com.intellij.mock.MockProject@5802f498
        at com.intellij.openapi.extensions.impl.ExtensionsAreaImpl.getExtensionPoint(ExtensionsAreaImpl.java:273)
        at com.intellij.openapi.extensions.BaseExtensionPointName.getPointImpl(BaseExtensionPointName.java:28)
        at com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.java:83)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCacheKt.configure(LLFirSessionCache.kt:553)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.createBinaryLibrarySession(LLFirSessionCache.kt:321)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.access$createBinaryLibrarySession(LLFirSessionCache.kt:54)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getSession$1.invoke(LLFirSessionCache.kt:74)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getSession$1.invoke(LLFirSessionCache.kt:74)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getCachedSession$1.invoke$lambda$0(LLFirSessionCache.kt:97)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
        at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.getCachedSession(LLFirSessionCache.kt:100)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.getSession(LLFirSessionCache.kt:74)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.collectSourceModuleDependencies$getOrCreateSessionForDependency(LLFirSessionCache.kt:472)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.collectSourceModuleDependencies(LLFirSessionCache.kt:489)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.createSourcesSession(LLFirSessionCache.kt:122)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.createSession(LLFirSessionCache.kt:105)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.access$createSession(LLFirSessionCache.kt:54)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getSession$2.invoke(LLFirSessionCache.kt:77)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getSession$2.invoke(LLFirSessionCache.kt:77)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache$getCachedSession$1.invoke$lambda$0(LLFirSessionCache.kt:97)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
        at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.getCachedSession(LLFirSessionCache.kt:100)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.getSession(LLFirSessionCache.kt:77)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionCache.getSession$default(LLFirSessionCache.kt:72)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService$getFirResolveSession$1.invoke(LLFirResolveStateService.kt:25)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService$getFirResolveSession$1.invoke(LLFirResolveStateService.kt:25)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirResolvableResolveSession.useSiteFirSessionCached$lambda$0(LLFirResolvableResolveSession.kt:53)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
        at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
        at org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirResolvableResolveSession.getUseSiteFirSession(LLFirResolvableResolveSession.kt:58)
        at org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder.<init>(KtSymbolByFirBuilder.kt:77)
        at org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession.<init>(KtFirAnalysisSession.kt:43)
        at org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession.<init>(KtFirAnalysisSession.kt)
        at org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession$Companion.createAnalysisSessionByFirResolveSession$analysis_api_fir(KtFirAnalysisSession.kt:156)
        at org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSessionProvider$getAnalysisSessionByUseSiteKtModule$1.invoke$lambda$0(KtFirAnalysisSessionProvider.kt:50)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
        at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
        at org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule(KtFirAnalysisSessionProvider.kt:56)
        at com.google.devtools.ksp.impl.KotlinSymbolProcessing.prepare(KotlinSymbolProcessing.kt:148)
        at com.google.devtools.ksp.impl.test.AbstractKSPAATest.runTest(AbstractKSPAATest.kt:155)
        at com.google.devtools.ksp.testutils.AbstractKSPTest.runTest(AbstractKSPTest.kt:225)
        at com.google.devtools.ksp.impl.test.KSPAATest.testSuperTypes(KSPAATest.kt:522)

@neetopia
Copy link
Collaborator Author

For some context, the error seems to be from this file which when I looked up usages, seems to be only used in tests. It looks to me that from this error message, this new configurator should be registered in StandAloneSession builder, but I am not sure about the usage of the new configurator. Alternatively, since this configurator's current usage seems to be limited in diagnostics, it should also work if we can drop this extension from analysis session.

@darthorimar
Copy link

@neetopia The solution for you will be to register the Extension Point in your project environment initialization as it's done in Analysis API tests. We will fix it for the standalone mode on our side

@jsjeon
Copy link
Member

jsjeon commented Apr 19, 2023

this new configurator should be registered in StandAloneSession builder

Yeah, it looks like standalone mode tests use "base" FIR service registrar: https://github.com/JetBrains/kotlin/blob/master/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt#L42-L44 and those were registered silently(?) during the tests, but not in the standalone session builder.

We will fix it for the standalone mode on our side

I'll add some API entry points to the builder too, as well as those registrations.

@neetopia
Copy link
Collaborator Author

Thanks for the pointer in test, AA is now unblocked.

@neetopia neetopia merged commit d84d832 into google:main Apr 21, 2023
3 checks passed
@neetopia neetopia deleted the bump-4392 branch April 21, 2023 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants