paramiko / paramiko/paramiko

ncclient.transport.ssh trrigers the Exception: Invalid packet blocking

Open
#1,825 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.