-
Notifications
You must be signed in to change notification settings - Fork 757
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
ERROR: ScIDE not connected #1390
Comments
So, looks like it's failing because ScIDE is not connected yet - before ScIDE.connect is called. Specifically, you shouldn't EVER get the "ScIDE not connected" error if ScIDE.connect has been called, EVEN if the connection failed, so I don't think it's a case of the connection not being made.... ScIDE.connect is called in ScProcess::onStart, which doesn't SEEM to occur at any particularly rigorous time - possibly the request to open a help file is just getting executed first? I suppose a workaround fix would be to check whether the IDE is connected (ScIDE.connected) when opening a help file is requested, and defer for some small amount of time if it isn't... That should at least fix this case. |
I have not seen this since then. Opening help files immediately after startup is no longer a problem. |
Seeing this all the time now, also with closed hep browser. |
@telephon Can you give a detailed reproducer & environment details please? Never seen this before so I want to try to recreate. |
@telephon Also it might be helpful to verify that the call stack is exactly the same as above. If the help browser is closed, I guess at the very least you won't see openHelpUrl in it. I'm curious what else is different. |
OK; slowly making a few tests. I'm on the latest master, fresh build on macos 10.11. It appears to be connected to an extension, I'm digging on. Here is another post for comparison:
|
Ah ok, I found which extension, it's
Commenting out this part:
gets rid of the issue. Enabling it later "by hand" has no such issue. |
What is really irritating is that setting |
Are you setting The setting is, of course, not persisted through library recompilation. It's just a normal class, no magic like Come to think of it, I've seen this myself, when launching the IDE under higher system load (like, when I'm writing something, so I have a virtual machine running with dictation software, web browser with articles open, and then I need to check some behavior in SC). If it really can take longer than a second for the IDE to connect, maybe we need a callback function for ideConnected? |
Oh wait, I see, it's persisted in the DDWSnippets file, and this overrides the setting from startup. I'll push a fix in an hour or two. In the meantime, you can edit the config file by hand - |
Fixed in ddwSnippets. Turning now to the startup sequence: As far as I can see, the IDE is supposed to be "magically" connected -- by which I mean, if I put a debugging post into ScIDE:connect, nothing is printed --
So there is something fragile here. We are assuming that the IDE will be connected before the class library startup sequence -- but if this doesn't happen, there's no failsafe. We just check the one time, and if I don't think I can go much further with this, but it would seem there's some kind of race condition where we expect the sequence to be "connect, then initialize" but sometimes it happens out of order. |
No magic. It happens here:
|
Ok, I see how I missed it before. Hm, |
Just happened again, to me -- same callstack as Julian's. Another possibility: the IDE tries to call I don't know how to debug this. |
I am now encountering this sync problem almost daily. |
This error on startup is a multiple-times-daily occurrence now. This user's experience is that, in the past, it was occasional. Now, it's frequent. Almost every time I launch the IDE, I have to compile the library a second time. Something has changed in the software ecosystem to degrade the behavior of our startup process. If we could, once upon a time, get away with leaving an unhandled race condition in place, I think we can't get away with it anymore. |
I'm getting this occasionally. It has something to do with opening a help file just after starting up SCIDE.
Evaluating code works, but lookup implementations returns no results (blank window) and the help browser is blank and shows "Help Browser Sending request ...."
Recompiling does not fix it.
Only Restarting SCIDE fixes it.
It has happened several times.
my dev build is at: de5be6f
3.7 alpha 0 mar 27th 2015
The text was updated successfully, but these errors were encountered: