[paramiko] paramiko stops responding after huge data is transferred !
Dwayne Litzenberger
dwayne at oscl.ca
Tue Apr 15 12:03:00 PDT 2008
On April 15, 2008 11:02:14 am Dwayne Litzenberger wrote:
> More on this as I find out...
In the main thread:
Channel.send acquires Channel.lock, calls Channel._wait_for_send_window, then
calls Transport._send_user_message with a MSG_CHANNEL_DATA message.
Transport._send_user_message then waits for Transport.clear_to_send to be
set, but it's not set for some reason. Note that Channel.lock is still held
by the main thread.
Meanwhile, the Transport thread tries to process a MSG_WINDOW_ADJUST message.
It calls Channel._window_adjust, but that can't proceed until Channel.lock is
released.
At this point, the main thread and the Transport thread are deadlocked.
Remaining question: Why is Transport._parse_newkeys the only place where
Transport.clear_to_send is set? Can't we resume sending as soon as *our own*
MSG_NEWKEYS is transmitted?
--
Dwayne Litzenberger, B.A.Sc.
Information Technology Analyst
Open Systems Canada Limited
#210 - 2332 11th Ave
Regina, SK S4P0K1
Office: (306) 359-OSCL (6725)
http://www.oscl.ca/
More information about the paramiko
mailing list