Closed y-morozov closed 6 years ago
There seems to be a problem with the re-indexing never ending (possibly related to switching from php-integrator
to php-ide-serenata
?).
@mundschenk-at yes, integrator was auto-updated to serenata. Should I perform some extra actions (like force reindexing)?
I don't know, I've just observed the same behavior.
Okay, seems like using packages - serenata - 'forcibly reindex project' fixed this issue for me.
Not sure if it is related, but in the projects with the redundant notification, I didn't get any of the function information popups (annotations? not sure what they are called). After experimenting unsuccessfully with project reindexing, I had a look at projects.cson
and noticed that the two non-working projects had some old php-integrator
settings included, where as all the newer projects did not. I removed the php
keys for the two projects and now everything seems to work OK.
@mundschenk-at Funny, I came across the exact same bug, where settings entries were still present after being removed from the package, in my own project.
I'm going to say this is a bug within atom itself. All settings related to a package should be removed when a package is removed. It is too much of a burden upon devs to remove unused/renamed setting keys. Since we never know from which version to which version a user is updating, it would require keeping track of all changes throughout time or manually editing the .atom/config.cson
file.
@mundschenk-at @twifty Actually if you do "Packages - Serenata - Set up current project" the 'php_integrator' section will come back. Probably just an old key naming.
@y-morozov That sounds like a bug for sure. Without looking into the source, I think the package is aiming to use the in-project-root project.cson
and remove a dependency on the project-manager
package. Perhaps something was missed in the cross over?
i have the same problem, also updated from php-integrator. packages - serenata - 'forcibly reindex project' don´t help at my case
@7samurai check logs, btw (view - developer - toggle dev tools) In my case there was also server crash due to lack of memory.
@y-morozov This one was the only massage related to serenata
I'm not sure if it's the exact same problem but I think I have a reproducible case for this issue. I've been experiencing this issue for quite some time (way before the rename to serenata) and it always seems to occur when I'm working on some file using the Symfony Config TreeBuilder. Maybe it's because of all the fluent interfaces.... The following should reproduce the issue:
TreeBuilder
return type hint at line 52 of src/TypesGeneratorConfiguration.php
to make sure GoTo definition works.I notice, that the spinner always rotate, even if i dont input anything. If i hit space, there comes an new indexing message to the notification. I unchecked the index contin.. checkbox, its ok in my case.
Update: Today its spinning & indexing again :(
There are multiple issues here, I'll go over them one by one.
The project key is, confusingly, indeed still called php_integrator
and was not renamed (yet) because it will break existing projects. I created #426 for this.
I believe the case of @cdaguerre is a special one and not a bug in this package, but one in the Serenata server that causes slowdowns with fluent interfaces. It seems you have a massive one and I've seen the server slow down to a crawl on much smaller ones.
If you're seeing these messages whilst the initial project indexing is still running, you're a victim of this issue and this is currently expected behavior due to the server's natural queueing behavior - it can probably be improved though, but the server would need to support prioritizing certain indexes over others.
Finally, if this is happening to you and none of the above problems apply, ensure you do not have the XDebug extension loaded, as is the case of @7samurai . You may think that it does not matter much, but it matters a great deal, as @twifty is already well aware of as well :smile: . Disable XDebug in your php.ini
file or, if you need it for other projects, you can try using the experimental Docker support, which also does not have it enabled. Alternatively, you could use a script as PHP binary that uses an alternative php.ini
file that does not load the extension.
I confirm that. Disabling XDebug resolved my issues.
As for now, my setup is as follows:
Code runs inside VirtualBox VM (ubuntu + nginx .+ php-fpm), xdebug enabled. Serenata runs on host machine (macos, php 7.1.14), xdebug disabled.
So I have debug as well as code intel at the same time.
@Gert-dev What I'm witnessing on my side is full re-indexing of my projects whenever I jump to them via project-manager or simply by reloading the atom window. Is this expected behaviour? If not, what info could I provide to help debug this?
Alternatively, you could use a script as PHP binary that uses an alternative php.ini file that does not load the extension.
I just did that, if anyone is interested, here is the gist (may require adding some more extensions): https://gist.github.com/ameenross/faed18fdea5d78d6993c619b42097cc0
However, everything is still broken (including click-through). I tried removing my projects.cson and it didn't help.
I removed the entire cache directory for the package, forcing the package to re-download and install the core and start indexing from scratch. It seems to work now.
However, I still think there are race conditions in the package somewhere. Even with xdebug enabled, I never experienced any problems with indexing before. Sure, the initial run took long and appears to be faster now, but that can't explain why the indexing gets hung up completely and does nothing for hours on end.
You may be interested to know that the latest release v4.2.0 uses the latest version of the Serenata server 4.1.0, which will automatically restart itself without Xdebug enabled if it detects it. In theory, you should just be able to leave Xdebug enabled now and it should take care of itself.
@dchotas-tf If you are still experiencing your issue, please open a new issue (I think it is unrelated to this one).
@ameenross That is very possible, if something happens to the socket, there is a communications breakdown between the client and server. The server probably isn't going into an infinite loop (in that case the PHP process usually skyrockets), but it could cause no responses to be received by the client, so it thinks nothing is happening anymore.
I'll close this since most of the original problems have been solved (Xdebug causing slowdowns). Other improvements could involve the server prioritizing manually caused reindex requests over those generated from project indexing, which should be tracked in the server bug tracker instead.
will automatically restart itself without Xdebug enabled
Oh that's a really nice feature, thanks!
I'm sure you will be glad to hear that it has been running quite stable lately. Thanks again for your efforts.
After installing (and reinstalling) this package there's a constantly growing info block with duplicates (see screenshot attached)
This happens when I edit my files.
Actually, I don't need indexing info at all. Is there a way to disable this popup?