paramiko error on Windows #193
Comments
I'm seeing this also running demo.py. Platform: Win7 x64, Python 2.7.5 x32. demos>python demo.py |
Same here, Windows 8 64-bit, Python 2.7.3 32-bit, paramiko 1.10.0
|
I downgraded Paramiko to version 1.10.0 and it works fine. The software asks for remote host password instead of error now. And, even if I run SSH agent (to avoid password prompt), I still have this bug. Which means, it has nothing to do with actual password prompt. |
Paramiko still crashes (with the same error as in previous posts) on Windows as of version 1.12.0. The last working version for me is 1.10.2. |
I'm afraid I have no ability to troubleshoot on Windows but clearly 1.11 broke Windows support somewhere - if somebody can investigate & suggest a fix I'd be happy to test it on a POSIX platform (to ensure it still works there) & merge. |
Everything works again with akx's fix. Tested on Windows 7 32-bit, Python 2.7.5. |
+1 for akx's fix, works for me too, Windows 8 64-bit, Python 2.7.5 32-bit, paramiko 1.12.0 |
It works for me on Win 7 64-bit, Python 2.7.5. |
Experienced the same error on Windows 8.1 64 bit on Python 2.7.6. Tried upgrading to the latest paramiko but it made no difference. Used akx's fix and that seemed to work. |
It's unfortunate that @bitprophet hasn't been active regarding paramiko in a while... |
Is there a timeline to review akx's PR? Would be nice to have a working copy in PyPI; it's a bit wonky to have a git package dependency for my app. |
Hi! I am here, just been focusing on other things & busy/on vacation during the US winter holiday season. My policy re: Windows is "as long as multiple users on multiple versions of the OS + Python are cool, I'm cool" so @akx's PR looks great already. My only question is: can any of y'all (@akx @wkornewald @mpasternak @hobbsd @Atheuz @nicktimko) test Python 2.5 and/or 2.6 real quick? I noticed everybody's using 2.7 above, would love to verify this works prior to that as well. If nobody can (do it / do it soon) then I'll just say good enough & merge/release. Thanks! |
Sure, good point. I'll give it a shot w/ Py2.5 and Py2.6 on Windows XP (since that's a VM I can spin up quickly). |
Here, @bitprophet -- it seems Paramiko's winapi is totally broken on Python 2.5: https://gist.github.com/akx/8528051 2.6 and 2.7 work with the PR. |
Identical results on Win 7 using 32-bit Pythons 2.5.4 and 2.6.6 |
The above PR seems to fix the Py2.5 winapi regression. |
I cherry-picked both of @akx's PRs into the 1.10 branch, made one more cleanup tweak, and am merging that back upwards towards master. This will mean the fix should apply to most modern release lines. I'd like to snag a few more bugfixes before I release, so if y'all (@akx @wkornewald @mpasternak @hobbsd @Atheuz @nicktimko) have time to check out one of the 1.10/1.11/1.12/master branches and verify that the fix still works, that'd be awesome! Thanks again. |
The 1.12 master branch works for me (Windows 7-64bit, Python 2.7 32bit). |
@akx Thanks for fixing this issue. I'm curious as to why I never encountered the error in my testing. Do you know under what circumstances the error occurs? Was the issue only on 32-bit Python perhaps (as I develop/test primarily on 64-bit Python)? |
The 1.16.0 is not working for me (Windows 7-64bit, Python 2.7 32bit). |
@alexeiramone Same error as above? |
Yes, I don't have the stack but the message was "ValueError: Procedure probably called with too many arguments (4 bytes in excess)". I had to downgrade it to 1.10.2 and then my fabric's fabfile run commands worked. |
@alexeiramone You're looking for #613, fixed in #619. |
I'm using paramiko via Fabric. Version 1.10.1 works fine, but 1.11.0 failed with this traceback (just the paramiko part):
File "c:\python27\lib\site-packages\paramiko\client.py", line 342, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "c:\python27\lib\site-packages\paramiko\client.py", line 474, in _auth
self._agent = Agent()
File "c:\python27\lib\site-packages\paramiko\agent.py", line 345, in init
self._connect(conn)
File "c:\python27\lib\site-packages\paramiko\agent.py", line 71, in _connect
ptype, result = self._send_message(chr(SSH2_AGENTC_REQUEST_IDENTITIES))
File "c:\python27\lib\site-packages\paramiko\agent.py", line 87, in _send_message
self._conn.send(struct.pack('>I', len(msg)) + msg)
File "c:\python27\lib\site-packages\paramiko\win_pageant.py", line 113, in send
self._response = _query_pageant(data)
File "c:\python27\lib\site-packages\paramiko\win_pageant.py", line 83, in _query_pageant
pymap.write(msg)
File "c:\python27\lib\site-packages\paramiko_winapi.py", line 133, in write
ctypes.windll.msvcrt.memcpy(self.view + self.pos, msg, len(msg))
ValueError: Procedure probably called with too many arguments (12 bytes in excess)
The text was updated successfully, but these errors were encountered: