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
Win32 shell interactivity apparently broke qtconsole "cd" magic #1632
Comments
I can't test this right now, but I'm raising it to blocker for 0.13, b/c we can't really release with the kind of breakage described here... |
FWIW, the same error appears in a test result on Windows: https://jenkins.shiningpanda.com/ipython/job/ipython-windows-py27/lastCompletedBuild/testReport/IPython.utils.tests/test_process/test_arg_split_win32/ I think the arg_split code that calls ctypes was @jstenar's, so he might have some idea why it's failing. |
Update: breakage reappears after reboot, and continues after a small amount of 2-process terminal activity. |
I tested this on the build I had, and couldn't reproduce it. Updating to the latest master gives me that exact error, though. My previous build had the shell interactivity patch in it, so I would have expected to have the error already without updating. |
The same commit (4953f2d) also broke the "ls" command from the frontend of a 2-process terminal session in Windows
After the frontend prints the listing, it does not return to a prompt, and becomes unresponsive except to console-killing Ctrl+C. (The kernel seems to freeze). |
I can reproduce this as well, only when the kernel is started with I haven't the foggiest idea how or why this could be. If we don't figure out a real solution by the time we want to release, then we can certainly just use the old version in the kernel as a band-aid. |
Since the error is appearing in code that's used to parse a command line, I wonder if the process's own command line could be interfering with it. Then any difference between manually starting |
Good point, thanks. |
Possibly related, I see the following test now hanging on Windows:
|
Here's a minimal patch to revert the functionality. I suspect the issues have to do with the fact that there isn't a good cross-platform way to asynchronously handle stdin/stdout. This particular implementation was working ok in all the testing I did, but I guess there's more depth to the issue that needs to be explored.
|
Win32 shell interactivity broke qtconsole cd magic
On Win7, PR gh-1709 does fix the initially reported issue (with qtconsole). It largely fixes the 2-process issue reported above at #1632 (comment). Specifically: after the output from |
I believe there are two separate issues here. #1708 fixes the first issue (related to the exception caused by the ls cd .. combination). I suspect the second issue also causes the testsuite to freeze and require an explicit enter keypress on two of the tests (see relevant failure below). The freezing is also introduced by 4953f2d
|
Min RK skrev 2012-05-09 19:53:
I have not looked at the code, and have no idea about what it could be. |
Okay, thanks for clarifying. I will go ahead and merge #1709, and leave this open until the key-entry bug is fixed. |
@jdmarch, any ideas on how we can make progress on this, and how serious it continues to be? It's marked as a release blocker, so I want to make sure we can really either fix it, or reassess whether to block the whole project on it. |
Win32 shell interactivity broke qtconsole cd magic
Workaround fix for ipythongh-1632, using a minimal revert of ipythongh-1424. Win32 shell interactivity broke qtconsole cd magic, this restores it. closes ipython#1632
PR #1424, Win32 shell interactivity, was accepted as not enhancing qtconsole, but was not thought to break it. It seems to have. This was reproduced on several different systems. Located the breakage by bisection at 4953f2d
@mwiebe, @minrk could you have a look?
On a Win7-64 native box, with no recent history of running "ipython kernel", the following commands immediately after qtconsole startup
reliably caused the following traceback, followed by general odd behavior, apparent corruption, until restart qtconsole.
After running "ipython kernel" to test this on a 2-process terminal, I was unable to again reproduce the problem on this system even in a simple qtconsole. Have not yet rebooted.
Easiest short-term workaround may be to revert to previous behavior in _process_win32.system when running qtconsole?
The text was updated successfully, but these errors were encountered: