Roboroads / laravel-tinker

Adds a way to write php and run it directly in Laravels' Artisan Tinker.
Apache License 2.0
208 stars 15 forks source link

Error and CPU 100% when tinker enabled on unknown specific usecase #61

Closed emargareten closed 3 years ago

emargareten commented 3 years ago

Bug description Plugin causes errors every ms and slows down entire ide (analyzing... never ends etc.) when I disable the plugin there are no errors, reenable the plugin the errors reappear

Logs

2021-04-27 10:59:50,304 [ 328304]  ERROR - ij.psi.impl.source.PsiFileImpl - PhpStorm 2021.1.1  Build #PS-211.7036.8 
2021-04-27 10:59:50,304 [ 328304]  ERROR - ij.psi.impl.source.PsiFileImpl - JDK: 11.0.10; VM: Dynamic Code Evolution 64-Bit Server VM; Vendor: JetBrains s.r.o. 
2021-04-27 10:59:50,304 [ 328304]  ERROR - ij.psi.impl.source.PsiFileImpl - OS: Windows 10 
2021-04-27 10:59:50,304 [ 328304]  ERROR - ij.psi.impl.source.PsiFileImpl - Last Action: ShowSettings 
2021-04-27 10:59:50,304 [ 328304]  ERROR - ij.psi.impl.source.PsiFileImpl - readOrBuilt roots = {PhpFileStubImpl Language: PHP}; , stubBindingRoot = PhpFileImpl, languages = [PHP, HTML], fileTypes = [PHP, HTML], files = [PhpFileImpl, HtmlFileImpl], roots = [(php.FILE, Language: PHP -> PhpFileImpl), (FILE, Language: HTML -> HtmlFileImpl)] 
java.lang.Throwable: readOrBuilt roots = {PhpFileStubImpl Language: PHP}; , stubBindingRoot = PhpFileImpl, languages = [PHP, HTML], fileTypes = [PHP, HTML], files = [PhpFileImpl, HtmlFileImpl], roots = [(php.FILE, Language: PHP -> PhpFileImpl), (FILE, Language: HTML -> HtmlFileImpl)]
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
    at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:648)
    at com.intellij.psi.impl.source.PsiFileImpl.getGreenStubTree(PsiFileImpl.java:952)
    at com.jetbrains.php.lang.psi.PhpFileImpl$2.compute(PhpFileImpl.java:81)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:227)
    at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:42)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:227)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
    at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
    at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
    at com.jetbrains.php.lang.psi.PhpFileImpl.getTopLevelDefs(PhpFileImpl.java:217)
    at com.jetbrains.php.lang.psi.PhpPsiUtil.findClasses(PhpPsiUtil.java:516)
    at com.jetbrains.php.lang.psi.PhpPsiUtil.findAllClasses(PhpPsiUtil.java:530)
    at com.jetbrains.php.projectView.PhpFileNode.getClasses(PhpFileNode.java:35)
    at com.jetbrains.php.projectView.PhpFileNode.isDeprecated(PhpFileNode.java:60)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.lambda$doUpdate$1(AbstractPsiBasedNode.java:160)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:814)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.doUpdate(AbstractPsiBasedNode.java:141)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.lambda$update$0(AbstractPsiBasedNode.java:137)
    at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:174)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:132)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:121)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:111)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.update(AbstractPsiBasedNode.java:137)
    at com.intellij.ide.util.treeView.PresentableNodeDescriptor.getUpdatedPresentation(PresentableNodeDescriptor.java:76)
    at com.intellij.ide.util.treeView.PresentableNodeDescriptor.update(PresentableNodeDescriptor.java:29)
    at com.intellij.ui.tree.StructureTreeModel$Node.update(StructureTreeModel.java:454)
    at com.intellij.ui.tree.StructureTreeModel$Node.<init>(StructureTreeModel.java:435)
    at com.intellij.ui.tree.StructureTreeModel$Node.<init>(StructureTreeModel.java:428)
    at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:389)
    at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:298)
    at com.intellij.ui.tree.StructureTreeModel$Node.isLeaf(StructureTreeModel.java:558)
    at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:334)
    at com.intellij.ui.tree.LeafState.get(LeafState.java:64)
    at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:574)
    at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:547)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:440)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:406)
    at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:316)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:79)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:157)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:119)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:57)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:57)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:116)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:79)
    at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:205)
    at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:183)
    at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:541)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:220)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)

To Reproduce Enable plugin

Environment (please complete the following information):

Roboroads commented 3 years ago

Is there more people having this issue? I use my plugin daily and don't seem to have problems to be honost.

benlights commented 3 years ago

I am still having this issue on:

mrlilly commented 3 years ago

I am still having this issue on:

IDE & Version: PHPStorm 2021.1.3 PHP Version: 7.4 OS: MacOS Big Sur 11.4 Laravel Tinker plugin version : 2.2.0 Interpreter Type: Remote

Used to work fine, had to remove it as it started slowing down my machine As soon as I install and enable it my CPU usage goes through the roof and the fans start up on my MacBook.

Roboroads commented 3 years ago

@mrlilly can you sart a new issue with a stacktrace of the issue?

emargareten commented 3 years ago

reopening issue, still happening

philipmclifton commented 3 years ago

Not sure if the same issue but when the plugin is installed, my color theme breaks randomly and things start to slow down.

GammelBro commented 3 years ago

I have the same issue on: IDE & Version: PhpStorm 2021.1.4 PHP Version: 8 OS: Windows 10 Laravel Tinker plugin version : 2.2.0 Interpreter Type: Remote

Roboroads commented 3 years ago

@emargareten @philipmclifton @GammelBro Without a new stack trace I can';t really help. The error in the first post has been worked around so I don't believe it's the same. (Or, prove me wrong, ofcourse :) )

GammelBro commented 3 years ago

Here is my Log


2021-07-20 18:20:40,829 [  24839]  ERROR - ij.psi.impl.source.PsiFileImpl - JDK: 11.0.11; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 
2021-07-20 18:20:40,829 [  24839]  ERROR - ij.psi.impl.source.PsiFileImpl - OS: Windows 10 
2021-07-20 18:20:40,829 [  24839]  ERROR - ij.psi.impl.source.PsiFileImpl - Last Action:  
2021-07-20 18:20:40,829 [  24839]  ERROR - ij.psi.impl.source.PsiFileImpl - readOrBuilt roots = {PhpFileStubImpl Language: PHP}; , stubBindingRoot = PhpFileImpl, languages = [PHP, HTML], fileTypes = [PHP, HTML], files = [PhpFileImpl, HtmlFileImpl], roots = [(php.FILE, Language: PHP -> PhpFileImpl), (FILE, Language: HTML -> HtmlFileImpl)] 
java.lang.Throwable: readOrBuilt roots = {PhpFileStubImpl Language: PHP}; , stubBindingRoot = PhpFileImpl, languages = [PHP, HTML], fileTypes = [PHP, HTML], files = [PhpFileImpl, HtmlFileImpl], roots = [(php.FILE, Language: PHP -> PhpFileImpl), (FILE, Language: HTML -> HtmlFileImpl)]
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
    at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:648)
    at com.intellij.psi.impl.source.PsiFileImpl.getGreenStubTree(PsiFileImpl.java:952)
    at com.jetbrains.php.lang.psi.PhpFileImpl$2.compute(PhpFileImpl.java:81)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:227)
    at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:42)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:227)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
    at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
    at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
    at com.jetbrains.php.lang.psi.PhpFileImpl.getTopLevelDefs(PhpFileImpl.java:217)
    at com.jetbrains.php.lang.psi.PhpPsiUtil.findClasses(PhpPsiUtil.java:516)
    at com.jetbrains.php.lang.psi.PhpPsiUtil.findAllClasses(PhpPsiUtil.java:530)
    at com.jetbrains.php.projectView.PhpFileNode.getClasses(PhpFileNode.java:35)
    at com.jetbrains.php.projectView.PhpFileNode.isDeprecated(PhpFileNode.java:60)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.lambda$doUpdate$1(AbstractPsiBasedNode.java:160)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:814)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.doUpdate(AbstractPsiBasedNode.java:141)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.lambda$update$0(AbstractPsiBasedNode.java:137)
    at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:174)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:132)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:121)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:111)
    at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.update(AbstractPsiBasedNode.java:137)
    at com.intellij.ide.util.treeView.PresentableNodeDescriptor.getUpdatedPresentation(PresentableNodeDescriptor.java:76)
    at com.intellij.ide.util.treeView.PresentableNodeDescriptor.update(PresentableNodeDescriptor.java:29)
    at com.intellij.ui.tree.StructureTreeModel$Node.update(StructureTreeModel.java:454)
    at com.intellij.ui.tree.StructureTreeModel$Node.<init>(StructureTreeModel.java:435)
    at com.intellij.ui.tree.StructureTreeModel$Node.<init>(StructureTreeModel.java:428)
    at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:389)
    at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:298)
    at com.intellij.ui.tree.StructureTreeModel$Node.isLeaf(StructureTreeModel.java:558)
    at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:334)
    at com.intellij.ui.tree.LeafState.get(LeafState.java:64)
    at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:574)
    at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:547)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:440)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:406)
    at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:316)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:79)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:157)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:119)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:57)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:57)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:116)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:79)
    at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:205)
    at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:183)
    at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:541)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:220)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:829)```
Roboroads commented 3 years ago

@GammelBro There's nothing in this trace which redirects me to problematic code of Tinker unfortunately.

philipmclifton commented 3 years ago

It's very hard to figure out what toggles the break -- all I know for sure is that it does happen if tinker is disabled.

GammelBro commented 3 years ago

It's very hard to figure out what toggles the break -- all I know for sure is that it does happen if tinker is disabled.

As @philipmclifton mentioned if I activate the tinker plugin files won't be analysed. I noticed this problem inside a mono repo with a laravel api and a react application. At this time I was working on some tsx files for the react application.

richardhulbert commented 3 years ago

I am afraid I am also seeing this. With the plugin phpStorm will not finish analysing and uses >100% CPU.

Roboroads commented 3 years ago

may be some windows specific issue. I'm still trying to replicate this!

richardhulbert commented 3 years ago

@Roboroads FYI I am a Mac user using the latest version of phpStorm. If I can help you with debugging let me know how

Roboroads commented 3 years ago

@richardhulbert oh boi.. i need a means to replicate the issue on my dev build to be able to fix it, as you know being a dev :P

Since i have no issues and using the plugin just fine there should be some specific conflict in the peoples ides that are experiencing this. I need to figure out what but having no luck yet.

If you can tell me, from maybe a fresh installment of phpstorm, which steps to take to get the issue reproduced, that might help. If you can find it too..

richardhulbert commented 3 years ago

I will try to create a project where this happens and share it with you - it is project specific so there is a bit of a clue. For some projects this is not a problem.

On 11 Aug 2021, at 10:45, Roboroads @. @.>> wrote:

@richardhulbert https://github.com/richardhulbert oh boi.. i need a means to replicate the issue on my dev build to be able to fix it, as you know being a dev :P

Since i have no issues and using the plugin just fine there should be some specific conflict in the peoples ides that are experiencing this. I need to figure out what but having no luck yet.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Roboroads/laravel-tinker/issues/61#issuecomment-896677446, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6D62TKN4BPSDJEWJDEAATT4JBCXANCNFSM43UPFUSA. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

Roboroads commented 3 years ago

@richardhulbert You are a hero if you can find the specifics :)

IgorKorytin commented 3 years ago

Hello i get a same issue, env info:

IDE & Version: PHPStorm 2021.2.1 (build PS-212.5080.71) PHP Version: 7.4 OS: Linux Mint 20.1 Ulyssa Laravel Tinker plugin version : 2.2.0 Interpreter Type: Docker-compose Laravel Version: 6.20.24 and 7.30.4 and 8.55 Tinker version: 1.0.10 and 2.6.1 and 2.6.1

Attach idea.log and thread dumps (the directory appeared at the time of problems with the plugin) logs.tar.gz

The problem occurs in different projects, but always right after enabling the plugin. I noticed that when I go into the interpreter settings, the path mapping gets lost and I am offered to re-save the settings, as if I changed something in them.

2021-08-31_13-58 After I click Apply, the error disappears, but only for the current tab. What other data can I provide to help you resolve the issue?

Roboroads commented 3 years ago

@IgorKorytin I'm trying this on a fresh project, no issues come up. Some say this issue is project specific, does this issue happen on a fresh project with docker-compose file added?

Note that I'm never editing anything with your interpreter settings in the plugin.

Roboroads commented 3 years ago

I now have about 20 hours in trying to reproduce this behavior and still have not figured it out. I'm at the end of what I can possibly try here. So - I want to propose the following:

If there is anyone who is willing to let me help out by jumping on a call with me on discord to help me figure this out and maybe fix this - I would appreciate that. Note that I would like to watch what happens to you, so a screenshare is required. I would also like to run a debugbuild on your computer, so if we can collaborate with Code With Me would be a huge help.

If you are willing and are comfortable with me seeing a little bit of your PC and PHP source code we are testing it on, please reach me on Discord: Roboroads#1337

Languages I speak: Dutch or English. Both fluent.

I can offer you the honor of your name on the fixing PR and me adding you to the collaborator list, hehe.

Tagging reporters now to spread the message :P @GammelBro @philipmclifton @mrlilly @benlights @IgorKorytin @emargareten @richardhulbert @imami @fawzanm

fawzanm commented 3 years ago

Hi @Roboroads

I am game for this. I can however join & share screen only via zoom (due to some local restrictions). I've sent you a Discord request. Looking forward to hear from you.

Regards

Roboroads commented 3 years ago

Good news With the help of @fawzanm I am now able to reproduce the issue :tada: This means I can now attempt to fix it.

~Temporary workaround~ ~Don't have too many tinker consoles open. Check your Project -> Scratches and Consoles -> Laravel Tinker Consoles and see if you have more than, let say, 5 open consoles - then delete a bunch.~ Not really a workaround, hehehe..

Roboroads commented 3 years ago

Anyone having the same problem: can you let me know if this fixes the issue? It did for me but I want to be sure.

~https://github.com/Roboroads/laravel-tinker/releases/tag/v2.2.2-rc.1~ (not available anymore)

Download zip > Unpack zip > PHPStorm plugin windows, click the cog > Add plugin from disk > Select unpacked jar

EDIT: it does not work if you still have tinker console files created before rc.1. rc.2 will fix this later today :)

Roboroads commented 3 years ago

rc.2 is now out, which fixes all old files as well

~https://github.com/Roboroads/laravel-tinker/releases/tag/v2.2.2-rc.2~ (not available anymore)

let me know if this works so i can release it :)

richardhulbert commented 3 years ago

Hi Robo

Alas still the same for me. In addition to the high CPU I can see the files in the project window flicker (as they are being refreshed) There is a small improvement in that I can at least right click on files now.

Richard

richardhulbert commented 3 years ago

Good news. Once I deleted the contents of the old Tinker Console and restarted phpStorm it all seems to be working again

fawzanm commented 3 years ago

@richardhulbert yeah. That workaround is valid for the current(old) version too.

richardhulbert commented 3 years ago

@fawzanm good to know

Roboroads commented 3 years ago

I'm keeping the beta I just put up for a day or 2, you can download it from the releases tab (https://github.com/Roboroads/laravel-tinker/releases) but it also should be released to JetBrains in a couple of minutes (needs to be reviewed tho - so that won't be quick).

If you experience the issue, please install 2.2.2-beta.3 and let me know if your issues have been resolved. If so, I will release the full 2.2.2 to the marketplace for everyone to enjoy again :blush:

https://github.com/Roboroads/laravel-tinker/releases/tag/v2.2.2-beta.3

Roboroads commented 3 years ago

As 2.2.2 is out now, I can hopefully close this bug - and hope nobody reopens it. Thanks for your patience everyone!