-
Notifications
You must be signed in to change notification settings - Fork 34
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
Fix Idea plugin integration with GPMC #551
Conversation
@ivandev0 it looks like that |
Checked, performance still looking good. |
@@ -56,7 +56,7 @@ fun testFailed( | |||
* We will call `ideaPluginEnabled` method only once | |||
* and so on the plugin side the callback will be called also only once. | |||
*/ | |||
internal val ideaPluginEnabled = ideaPluginEnabled() | |||
internal val ideaPluginEnabled by lazy { ideaPluginEnabled() } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please leave a comment when the debugger becomes able to replace the ideaPluginEnabled()
result?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@avpotapov00 I'm closing the PR but please address the issue later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an actual bug on Java 17 With Debugger Plugin (Lincheck)
Signed-off-by: Evgeniy Moiseenko <[email protected]>
…properties Signed-off-by: Evgeniy Moiseenko <[email protected]>
It looks like the root cause of the issue was because lincheck/src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/ManagedStrategy.kt Line 1960 in b1fbc37
I fixed it. As a nice bonus, now navigation to thread start/join trace points also works as expected in the plugin. Another issue was because of the initialization order of It looks like after the initialization order is fixed there is no need in @ndkoval could you also please test the plugin? |
In the PR #471 Move
ideaPluginEnabled
into the file scope lincheck-plugin compatibility was broken, asideaPluginEnabled
was calculated and assigned before the plugin could replace the result of theideaPluginEnabled()
method.To keep caching and to give the debugger time to replace the return value, we make this property
lazy
, so it'll be calculated only on the first request.In this case, the debugger has enough time to replace the function's return value.