ncclient.transport.ssh trrigers the Exception: Invalid packet blocking
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9.9k
- Forks
- 2.1k
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I have an exception(sometimes) with the following environnment:
- Host: mx480
- junOS version : 19.3R3.6
- ansible==2.10.0
- paramiko==2.7.0
- ncclient==0.6.10
- junos-eznc==2.5.4
#Playbook
- name: Get facts on JunOS devices
junos_facts:
gather_subset: all
2021-03-11 10:44:27,249 p=252 u=root n=ncclient.transport.ssh | Authentication (password) successful!
2021-03-11 10:44:27,400 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session 0x7f56f2065860] Sending:
b'<?xml version="1.0" encoding="UTF-8"?><nc:hello xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:capabilities><nc:capability>urn:ietf:params:netconf:base:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:base:1.1</nc:capability><nc:capability>urn:ietf:params:netconf:capability:writable-running:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:candidate:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:confirmed-commit:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:startup:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file,https,sftp</nc:capability><nc:capability>urn:ietf:params:netconf:capability:validate:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:xpath:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:notification:1.0</nc:capability><nc:capability>urn:liberouter:params:netconf:capability:power-control:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:interleave:1.0</nc:capability><nc:capability>urn:ietf:params:netconf:capability:with-defaults:1.0</nc:capability></nc:capabilities></nc:hello>]]>]]>'
2021-03-11 10:44:27,698 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session 0x7f56f2065860] Received message from host
2021-03-11 10:44:27,699 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session-id 93868] initialized: session-id=93868 | server_capabilities=<dict_keyiterator object at 0x7f56f1f4b598>
2021-03-11 10:44:27,699 p=252 u=root n=ncclient.operations.rpc | [host 193.51.178.203 session-id 93868] Requesting 'GenericRPC'
2021-03-11 10:44:27,799 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session-id 93868] Sending:
b'<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:c5613c53-bdd7-4aee-8ae5-75b2ff55fba9"><nc:get-software-information/></nc:rpc>]]>]]>'
2021-03-11 10:44:28,221 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session-id 93868] Received message from host
2021-03-11 10:44:28,226 p=252 u=root n=ncclient.operations.rpc | [host 193.51.178.203 session-id 93868] Requesting 'GenericRPC'
2021-03-11 10:44:28,322 p=252 u=root n=ncclient.transport.ssh | [host 193.51.178.203 session-id 93868] Sending:
b'<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:9ce5240f-1009-4e99-b3ba-4c6f7a21ba8b"><get-system-memory-information/></nc:rpc>]]>]]>'
2021-03-11 10:44:29,780 p=252 u=root n=ncclient.transport.ssh | Exception: Invalid packet blocking
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | Traceback (most recent call last):
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | File "/usr/local/lib/python3.6/site-packages/paramiko/transport.py", line 2055, in run
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | ptype, m = self.packetizer.read_message()
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | File "/usr/local/lib/python3.6/site-packages/paramiko/packet.py", line 493, in read_message
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | raise SSHException("Invalid packet blocking")
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh | paramiko.ssh_exception.SSHException: Invalid packet blocking
2021-03-11 10:44:29,783 p=252 u=root n=ncclient.transport.ssh |
2021-03-11 10:44:29,786 p=252 u=root n=ansible | Traceback (most recent call last): ```
File "/usr/local/lib/python3.6/site-packages/ansible/utils/jsonrpc.py", line 46, in handle_request
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining Paramiko's paramiko/transport.py around the reported call into packet.py read_message, then reproduce the failure with the listed Paramiko, ncclient, Ansible, and Junos versions. Compare the SSH and NETCONF log sequence to determine the cause of the intermittent invalid packet; done requires a confirmed explanation and a verified fix or regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100