-
Notifications
You must be signed in to change notification settings - Fork 298
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
Typing special characters into the workspace symbol search causes language service to crash #63
Comments
Unable to repro this after 10-15 searches. I wonder if it might be related to what you say with #62. Can you repro either? I'm happy to revert the merging to do a release of the other stuff if it seems like it might be related (it is a bit weird, it waits for two promises, but I didn't think there was much to go wrong there). I'll try doing some testing; maybe it one of the promises rejects something bad happens? |
Perhaps it's specific to my project? I'll close until I can get a more specific repro. |
If you think there's definitely an issue here, I'm happy to keep this open. If there are bugs, I'd like to find them :-) So even if you struggle to get a reliable repro, if you see it again, do re-open. We can add more diagnostics if required to help track it down. |
Re-opening this and putting in 0.8; would like to investigate this further. Whatever the cause (unless you terminated |
Just FYI, I was not able to repro when I re-tested this. |
Ok, closing for now. If you do see it again, do post back (even if you can't repro) so we can maybe add some logging or something. |
Just had this too. I've turned on logging and it seems nothing is going to the AS when I'm typing in the search window. Seeing what I can find... |
Think I repro'd... looks like a search never returned:
|
@devoncarew Yep, can repro by pasting Maybe related to regex in |
Probably the request comes back with an error, but we don't handle it. So probably there are a few things to do:
It's possible this (bad chars) isn't the exact cause, but clearly the handling of errors with the split results is bad! |
Yeah, running that search locally, the analysis server responds with an error. We should be sure to error out the original vscode request (or complete w/ no results). |
If one request errors and one succeeds, you think we should drop the whole thing and not return the results we did get? (I have no real preference, as I'd like to eliminate them entirely(!), but we need to do something to stop this in the case there are problems). |
I think it'd be reasonable to fail on an error from either - |
OK, looking into this, the server is not returning a result from The fix for this would be similar to dart-lang/sdk@c52843e#diff-e160143856c218a25071e87f473e833e. |
Ah, yes. Doh! Brian mentioned actually mentioned this:
Though strangely in my log this one did come back, it was top-level that didn't! I'll try and dig into it later. |
searchmemberDeclerations is (unexpectedly) allowing regex characters. See #63
Ok, I've filtered out some more chars and applied the filtering to both searches; seems to have resolved the issue. Btw - I presume the crash I see when sending a bad query to Additionally, I pushed this: Previously I didn't propagate failed requests properly, so if Code ever relied on the promise being completed weird things could happen (I think Code is automatically rejecting them after a few seconds, but if we can fail earlier it gives faster feedback). I know realise this issue wasn't as a ersult of us never completing the promise, but actually that the AS was crashing (the error had Closing this as I believe it's done. If you see any similar weird behaviour you think may be related to this fix (or the propagation of rejections), shout! |
To repro:
Perhaps as a result of the work to combine APIs? Feel free to close if this isn't reproducible.
The text was updated successfully, but these errors were encountered: