bmewburn / vscode-intelephense

PHP intellisense for Visual Studio Code
https://intelephense.com
Other
1.57k stars 92 forks source link

1.11.0 stops working #2924

Closed momala454 closed 7 hours ago

momala454 commented 2 days ago

Describe the bug After installing 1.11.0 preview, the extension doesn't work anymore. Tooltips only show "loading", and waiting 30s does not fix it. The logs does not show any error. It looks like it never start indexing 1.10.4 works fine

Take note that I tried 1.11.0, saw new errors listed by the extension, so I switched back to 1.10.4. I wanted to report the new errors, so I put 1.11.0 again, and this time it broke (as explained above) and even switching again or restarting vscode does not fix it (but 1.10.4 still works fine)

To Reproduce Some code on remote server

Expected behavior Extension working

momala454 commented 2 days ago

it finally worked

momala454 commented 2 days ago

Actually, I was able to receive a crash when hovering a variable

[Error - 10:27:45 AM] TypeError: this.typeArgList is not iterable
    at get children [as children] (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2715992)
    at f.visitNode (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:3134208)
    at f.traverse (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:3132877)
    at A.getReferences (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2708130)
    at /home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2465915
    at t (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2467244)
    at te (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2482565)
    at t (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2467872)
    at te (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2482565)
    at /home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2446451
[Error - 10:27:45 AM] Request textDocument/completion failed.
  Message: TypeError: this.typeArgList is not iterable
  Code: -32603 
[Error - 10:30:01 AM] TypeError: Cannot read properties of null (reading 'flags')
    at Object.U [as isUnion] (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:3095300)
    at Object.e [as getReturnInfo] (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2289897)
    at /home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2306638
    at i (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2307811)
    at e.traverse (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2427663)
    at e.inferMethod (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2973900)
    at t.ProductService.getDefinitionProduct (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2971721)
    at Vt (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2424720)
    at Yt (/home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2424284)
    at /home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js:2:2353653

image

bmewburn commented 2 days ago

Thankyou!

bmewburn commented 2 days ago

Looks like it is a crash when parsing incomplete generic php doc eg /** @template T of Foo< */

momala454 commented 2 days ago

I don't think I have incomplete template. Those are all the templates I have

     * @template T
     * @param T $string
     * @return T|string
/** @template TMail of \X\Mail\Mail
     * @param TMail $mail
     * @return TMail
    */
/** @template resultItemClassName of \X\AbstractResultItem
     *  @param string[] $x
     * @param mixed[] $y
     * @param class-string<resultItemClassName> $resultItemClassName
     * @return resultItemClassName[]
     */

I've deleted the subfolders of the folder mentioned, restarted vscode, but it doesn't solves the problem. I don't have the crash (I didn't had it when I switched back to 1.11.0, so not related to folder deletion). But I still have the tooltip stuck on loading.

Edit, I restarted vscode, I was on another file, it was working. And when I switched to the file containing the following code, the problem went back, but for all files

image

edit: i'm not sure if the error above the "loading" comes from intelephense, but it isn't correct as it's not null

momala454 commented 2 days ago

this is what is shown on 1.10.4 image

momala454 commented 2 days ago

one process is using 100% of one of my cores

/home/me/.vscode-server/bin/5437499feb04f7a586f677b155b039bc2b3669eb/node --max-old-space-size=4096 /home/me/.vscode-server/extensions/bmewburn.vscode-intelephense-client-1.11.0/node_modules/intelephense/lib/intelephense.js --node-ipc --clientProcessId=78217
bmewburn commented 1 day ago

@momala454 , there is a 1.11.1 pre-release available which hopefully fixes this issue.

momala454 commented 1 day ago

@bmewburn it seems to not fixes the problem, but now it is stuck at "indexing started", with 100% cpu usage for the same process

edit: I restarted and the indexing worked, but i still have the same problem when I hover something, with the same process at 100% cpu

bmewburn commented 1 day ago

Would you be able to post some code that can reproduce the issue?

momala454 commented 1 day ago

i have difficulties to make a small reproducible case, but it seems to be related to having a complex array that is not explained using array shape, and created with multiple ifs

momala454 commented 1 day ago

it's hovering the complex variable that makes it "freeze". When i hover the simples ones it's working. But as soon as I hover the complex one, all tooltips are broken

momala454 commented 1 day ago

how can i privately send some code ? At your email ben@m ... ?

bmewburn commented 1 day ago

@momala454 yes, or the contact in header of intelephense.com, thankyou!

momala454 commented 1 day ago

i've sent an email

bmewburn commented 20 hours ago

Thanks, received. Will be fixed in 1.11.2 release.