bmewburn / vscode-intelephense

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

Language server crashing over and over #2910

Open jameslkingsley opened 1 week ago

jameslkingsley commented 1 week ago

I just upgraded to premium and tried indexing my whole project (not something I'm able to share btw) but a project that works in PhpStorm nonetheless (ie. no code issues). The indexing process kept restarting and the output eventually said it crashed 5 times and won't try again.

This is the output it shows, which is the same for every time it crashes. I enabled the telemetry so it may have posted crash data to your cloud provider.

[Info  - 20:10:48] Initialising intelephense 1.10.4
[Info  - 20:10:48] Intelephense premium features enabled.
[Info  - 20:10:48] Initialised in 12 ms
[Info  - 20:10:48] Environment changed. Refreshing 2 in memory documents.
[Info  - 20:10:48] Searching file:///Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/stub for files to index.
[Info  - 20:10:48] Searching file:///Users/James/Documents/GitHub/blueprint-unified for files to index.
[Info  - 20:10:49] Indexing started.
[Info  - 20:11:13] Indexing ended. 35086 files indexed in 24s.
[Info  - 20:11:13] Writing state to /Users/James/Library/Application Support/Code/User/workspaceStorage/dca22553acfff53823ce18529a34e8d8/bmewburn.vscode-intelephense-client/2de85e79.
/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2
(()=>{var __webpack_modules__={71044:(e,t,n)=>{"use strict";n.r(t),n.d(t,{RestError:()=>Qe,bearerTokenAuthenticationPolicy:()=>zt,bearerTokenAuthenticationPolicyName:()=>Lt,createDefaultHttpClient:()=>_t,createEmptyPipeline:()=>o,createHttpHeaders:()=>lt,createPipelineFromOptions:()=>nt,createPipelineRequest:()=>Dt,decompressResponsePolicy:()=>X,decompressResponsePolicyName:()=>Y,defaultRetryPolicy:()=>ye,exponentialRetryPolicy:()=>At,exponentialRetryPolicyName:()=>Nt,formDataPolicy:()=>xe,formDataPolicyName:()=>ke,getDefaultProxySettings:()=>Me,isRestError:()=>Ze,logPolicy:()=>z,logPolicyName:()=>j,ndJsonPolicy:()=>Bt,ndJsonPolicyName:()=>Ut,proxyPolicy:()=>je,proxyPolicyName:()=>Ie,redirectPolicy:()=>q,redirectPolicyName:()=>U,retryPolicy:()=>_e,setClientRequestIdPolicy:()=>Ue,setClientRequestIdPolicyName:()=>ze,systemErrorRetryPolicy:()=>Pt,systemErrorRetryPolicyName:()=>It,throttlingRetryPolicy:()=>Ot,throttlingRetryPolicyName:()=>Rt,tlsPolicy:()=>qe,tlsPolicyName:()=>Be,tracingPolicy:()=>tt,tracingPolicyName:()=>et,userAgentPolicy:()=>J,userAgentPolicyName:()=>K});const r=new Set(["Deserialize","Serialize","Retry","Sign"]);class i{constructor(e){var t;this._policies=[],this._policies=null!==(t=null==e?void 0:e.slice(0))&&void 0!==t?t:[],this._orderedPolicies=void 0}addPolicy(e,t={}){if(t.phase&&t.afterPhase)throw new Error("Policies inside a phase cannot specify afterPhase.");if(t.phase&&!r.has(t.phase))throw new Error(`Invalid phase name: ${t.phase}`);if(t.afterPhase&&!r.has(t.afterPhase))throw new Error(`Invalid afterPhase name: ${t.afterPhase}`);this._policies.push({policy:e,options:t}),this._orderedPolicies=void 0}removePolicy(e){const t=[];return this._policies=this._policies.filter((n=>!(e.name&&n.policy.name===e.name||e.phase&&n.options.phase===e.phase)||(t.push(n.policy),!1))),this._orderedPolicies=void 0,t}sendRequest(e,t){return this.getOrderedPolicies().reduceRight(((e,t)=>n=>t.sendRequest(n,e)),(t=>e.sendRequest(t)))(t)}getOrderedPolicies(){return this._orderedPolicies||(this._orderedPolicies=this.orderPolicies()),this._orderedPolicies}clone(){return new i(this._policies)}static create(){return new i}orderPolicies(){const e=[],t=new Map;function n(e){return{name:e,policies:new Set,hasRun:!1,hasAfterPolicies:!1}}const r=n("Serialize"),i=n("None"),o=n("Deserialize"),a=n("Retry"),s=n("Sign"),c=[r,i,o,a,s];function l(e){return"Retry"===e?a:"Serialize"===e?r:"Deserialize"===e?o:"Sign"===e?s:i}for(const e of this._policies){const n=e.policy,r=e.options,i=n.name;if(t.has(i))throw new Error("Duplicate policy names not allowed in pipeline");const o={policy:n,dependsOn:new Set,dependants:new Set};r.afterPhase&&(o.afterPhase=l(r.afterPhase),o.afterPhase.hasAfterPolicies=!0),t.set(i,o);l(r.phase).policies.add(o)}for(const e of this._policies){const{policy:n,options:r}=e,i=n.name,o=t.get(i);if(!o)throw new Error(`Missing node for policy ${i}`);if(r.afterPolicies)for(const e of r.afterPolicies){const n=t.get(e);n&&(o.dependsOn.add(n),n.dependants.add(o))}if(r.beforePolicies)for(const e of r.beforePolicies){const n=t.get(e);n&&(n.dependsOn.add(o),o.dependants.add(n))}}function u(n){n.hasRun=!0;for(const r of n.policies)if((!r.afterPhase||r.afterPhase.hasRun&&!r.afterPhase.policies.size)&&0===r.dependsOn.size){e.push(r.policy);for(const e of r.dependants)e.dependsOn.delete(r);t.delete(r.policy.name),n.policies.delete(r)}}function d(){for(const e of c){if(u(e),e.policies.size>0&&e!==i)return void(i.hasRun||u(i));e.hasAfterPolicies&&u(i)}}let p=0;for(;t.size>0;){p++;const t=e.length;if(d(),e.length<=t&&p>1)throw new Error("Cannot satisfy policy dependencies due to requirements cycle.")}return e}}function o(){return i.create()}var a=n(22037),s=n(73837),c=n.n(s);const l="undefined"!=typeof process&&process.env&&process.env.DEBUG||void 0;let u,d=[],p=[];const f=[];l&&m(l);const h=Object.assign((e=>g(e)),{enable:m,enabled:_,disable:function(){const e=u||"";return m(""),e},log:function(e,...t){process.stderr.write(`${c().format(e,...t)}${a.EOL}`)}});function m(e){u=e,d=[],p=[];const t=/\*/g,n=e.split(",").map((e=>e.trim().replace(t,".*?")));for(const e of n)e.startsWith("-")?p.push(new RegExp(`^${e.substr(1)}$`)):d.push(new RegExp(`^${e}$`));for(const e of f)e.enabled=_(e.namespace)}function _(e){if(e.endsWith("*"))return!0;for(const t of p)if(t.test(e))return!1;for(const t of d)if(t.test(e))return!0;return!1}function g(e){const t=Object.assign((function(...n){if(!t.enabled)return;n.length>0&&(n[0]=`${e} ${n[0]}`);t.log(...n)}),{enabled:_(e),destroy:y,log:h.log,namespace:e,extend:v});return f.push(t),t}function y(){const e=f.indexOf(this);return e>=0&&(f.splice(e,1),!0)}function v(e){const t=g(`${this.namespace}:${e}`);return t.log=this.log,t}const b=h,k=new Set,x="undefined"!=typeof process&&process.env&&process.env.AZURE_LOG_LEVEL||void 0;let w;const S=b("azure");S.log=(...e)=>{b.log(...e)};const T=["verbose","info","warning","error"];x&&(I(x)?function(e){if(e&&!I(e))throw new Error(`Unknown log level '${e}'. Acceptable values: ${T.join(",")}`);w=e;const t=[];for(const e of k)A(e)&&t.push(e.namespace);b.enable(t.join(","))}(x):console.error(`AZURE_LOG_LEVEL set to unknown log level '${x}'; logging is not enabled. Acceptable values: ${T.join(", ")}.`));const E={verbose:400,info:300,warning:200,error:100};function C(e){const t=S.extend(e);return D(S,t),{error:N(t,"error"),warning:N(t,"warning"),info:N(t,"info"),verbose:N(t,"verbose")}}function D(e,t){t.log=(...t)=>{e.log(...t)}}function N(e,t){const n=Object.assign(e.extend(t),{level:t});if(D(e,n),A(n)){const e=b.disable();b.enable(e+","+n.namespace)}return k.add(n),n}function A(e){return Boolean(w&&E[e.level]<=E[w])}function I(e){return T.includes(e)}const P=C("core-rest-pipeline");function R(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}const O="REDACTED",F=["x-ms-client-request-id","x-ms-return-client-request-id","x-ms-useragent","x-ms-correlation-request-id","x-ms-request-id","client-request-id","ms-cv","return-client-request-id","traceparent","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Origin","Accept","Accept-Encoding","Cache-Control","Connection","Content-Length","Content-Type","Date","ETag","Expires","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","Last-Modified","Pragma","Request-Id","Retry-After","Server","Transfer-Encoding","User-Agent","WWW-Authenticate"],M=["api-version"];class L{constructor({additionalAllowedHeaderNames:e=[],additionalAllowedQueryParameters:t=[]}={}){e=F.concat(e),t=M.concat(t),this.allowedHeaderNames=new Set(e.map((e=>e.toLowerCase()))),this.allowedQueryParameters=new Set(t.map((e=>e.toLowerCase())))}sanitize(e){const t=new Set;return JSON.stringify(e,((e,n)=>{if(n instanceof Error)return Object.assign(Object.assign({},n),{name:n.name,message:n.message});if("headers"===e)return this.sanitizeHeaders(n);if("url"===e)return this.sanitizeUrl(n);if("query"===e)return this.sanitizeQuery(n);if("body"!==e&&"response"!==e&&"operationSpec"!==e){if(Array.isArray(n)||R(n)){if(t.has(n))return"[Circular]";t.add(n)}return n}}),2)}sanitizeHeaders(e){const t={};for(const n of Object.keys(e))this.allowedHeaderNames.has(n.toLowerCase())?t[n]=e[n]:t[n]=O;return t}sanitizeQuery(e){if("object"!=typeof e||null===e)return e;const t={};for(const n of Object.keys(e))this.allowedQueryParameters.has(n.toLowerCase())?t[n]=e[n]:t[n]=O;return t}sanitizeUrl(e){if("string"!=typeof e||null===e)return e;const t=new URL(e);if(!t.search)return e;for(const[e]of t.searchParams)this.allowedQueryParameters.has(e.toLowerCase())||t.searchParams.set(e,O);return t.toString()}}const j="logPolicy";function z(e={}){var t;const n=null!==(t=e.logger)&&void 0!==t?t:P.info,r=new L({additionalAllowedHeaderNames:e.additionalAllowedHeaderNames,additionalAllowedQueryParameters:e.additionalAllowedQueryParameters});return{[Info  - 20:11:16] Connection to server got closed. Server will restart.
true
jameslkingsley commented 1 week ago

Restarting vscode allows it to save the indexed state, however it now produces this error when navigating some code.

[Info  - 20:15:42] Initialising intelephense 1.10.4
[Info  - 20:15:42] Reading state from /Users/James/Library/Application Support/Code/User/workspaceStorage/dca22553acfff53823ce18529a34e8d8/bmewburn.vscode-intelephense-client/2de85e79.
[Error - 20:15:42] SyntaxError: Unexpected end of JSON input
[Info  - 20:15:42] Intelephense premium features enabled.
[Info  - 20:15:42] Initialised in 11 ms
[Info  - 20:15:42] Environment changed. Refreshing 1 in memory documents.
[Info  - 20:15:42] Searching file:///Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/stub for files to index.
[Info  - 20:15:42] Searching file:///Users/James/Documents/GitHub/blueprint-unified for files to index.
[Info  - 20:15:44] Indexing started.
[Info  - 20:16:07] Indexing ended. 35086 files indexed in 22s.
[Info  - 20:16:07] Writing state to /Users/James/Library/Application Support/Code/User/workspaceStorage/dca22553acfff53823ce18529a34e8d8/bmewburn.vscode-intelephense-client/2de85e79.
[Info  - 20:16:09] Wrote state in 2.3s.
[Error - 20:16:43] TypeError: n.name.toLowerCase is not a function
    at /Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:2404650
    at Object.fe [as isEquivalent] (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:2405915)
    at e.resolveTemplatesFromArgumentProducts (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1771624)
    at $e (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1710220)
    at /Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1666484
    at Y (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1667457)
    at Me (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1699173)
    at Y (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1658271)
    at /Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1638040
    at v (/Users/James/.vscode/extensions/bmewburn.vscode-intelephense-client-1.10.4/node_modules/intelephense/lib/intelephense.js:2:1638062)
bmewburn commented 4 days ago

@jameslkingsley there is a 1.11 pre-release out. Does it solve your issue?