strange paramiko end-of-session behaviour

Robert Collins robertc at robertcollins.net
Thu Mar 9 21:20:04 GMT 2006


On Fri, 2006-03-10 at 07:58 +1100, Robert Collins wrote:
> testing knit based sftp push I had an extremely long session and I
> thought bzr had hung... then I quit out of an entirely different ssh
> session and bzr finished...

update... it looks like something is triggering a hang in sftp and the
disconnect was ssh connection sharing being nasty.

I *currently* have a hung process on hold:

robertc at lifelesslap:~/source/baz/versioned-file-performance$ strace -p
12866
Process 12866 attached - interrupt to quit
read(6, 

readv coalesced 1 reads.
readv coalesced 1 reads.
cache hit for revision-history in
BzrBranch5(u'/home/robertc/source/baz/t/integration/')
cache hit for revision-history in
BzrBranch5('sftp://people.ubuntu.com/home/robertc/public_html/baz2.0/integration.asknit/')
cache hit for revision-history in
BzrBranch5(u'/home/robertc/source/baz/t/integration/')
cache hit for revision-history in
BzrBranch5('sftp://people.ubuntu.com/home/robertc/public_html/baz2.0/integration.asknit/')
readv coalesced 1 reads.


(gdb) info threads
  1 Thread 2011117792 (LWP 12866)  0xffffe410 in __kernel_vsyscall ()
(gdb) 

(gdb) fr 3
(gdb) pyframe
0x7781423c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/sftp.py"
0x77bb3d74:      "recv"
$1 = 150
(gdb) fr 4
#4  0x080b6f8b in PyEval_EvalFrame (f=0x86482dc)
at ../Python/ceval.c:3642
3642    in ../Python/ceval.c
(gdb) pyframe
0x7781423c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/sftp.py"
0x77bb3d74:      "recv"
$2 = 150
(gdb) fr 5
#5  0x080b6f8b in PyEval_EvalFrame (f=0x8505a0c)
at ../Python/ceval.c:3642
3642    in ../Python/ceval.c
(gdb) pyframe
0x777a7f84:      "/usr/lib/python2.4/site-packages/paramiko/sftp.py"
0x777b4b4c:      "_read_all"
$3 = 145
(gdb) fr 6
#6  0x080b6f8b in PyEval_EvalFrame (f=0x85f3b5c)
at ../Python/ceval.c:3642
3642    in ../Python/ceval.c
(gdb) pyframe
0x777a7f84:      "/usr/lib/python2.4/site-packages/paramiko/sftp.py"
0x777b4764:      "_read_packet"
$4 = 161
(gdb) fr 7
#7  0x080b766f in PyEval_EvalCodeEx (co=0x777b5ca0, globals=0x777ca0b4,
locals=0x0, args=0x85f3afc, argcount=1, kws=0x85f3b00, kwcount=0, 
    defs=0x776fe718, defcount=1, closure=0x0) at ../Python/ceval.c:2736
2736    in ../Python/ceval.c
(gdb) pyframe
0x777a7cb4:
"/usr/lib/python2.4/site-packages/paramiko/sftp_client.py"
0x777b46ec:      "_read_response"
$5 = 553
(gdb) fr 8
#8  0x080b6ee3 in PyEval_EvalFrame (f=0x85f399c)
at ../Python/ceval.c:3653
3653    in ../Python/ceval.c
(gdb) pyframe
0x776fa264:
"/usr/lib/python2.4/site-packages/paramiko/sftp_file.py"
0x77700304:      "_read_prefetch"
$6 = 77
(gdb) fr 9
#9  0x080b6f8b in PyEval_EvalFrame (f=0x85cd444)
at ../Python/ceval.c:3642
3642    in ../Python/ceval.c
(gdb) pyframe
0x776fa264:
"/usr/lib/python2.4/site-packages/paramiko/sftp_file.py"
0x77700304:      "_read_prefetch"
$7 = 77
(gdb) fr 10
#10 0x080b6f8b in PyEval_EvalFrame (f=0x8469f04)
at ../Python/ceval.c:3642
3642    in ../Python/ceval.c
(gdb) pyframe
0x776fa264:
"/usr/lib/python2.4/site-packages/paramiko/sftp_file.py"
0x77bd7d74:      "_read"
$8 = 97
(gdb) fr 11
#11 0x080b766f in PyEval_EvalCodeEx (co=0x777b1b60, globals=0x77839d74,
locals=0x0, args=0x85059b4, argcount=2, kws=0x85059bc, kwcount=0, 
    defs=0x777b3bf8, defcount=1, closure=0x0) at ../Python/ceval.c:2736
2736    in ../Python/ceval.c
(gdb) pyframe
0x777a7ad4:      "/usr/lib/python2.4/site-packages/paramiko/file.py"
0x77dd0f94:      "read"
$9 = 109
(gdb) fr 12
#12 0x080b6ee3 in PyEval_EvalFrame (f=0x850584c)
at ../Python/ceval.c:3653
3653    in ../Python/ceval.c
(gdb) pyframe
0x77bb409c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/__init__.py"
0x77bc196c:      "do_combined_read"
$10 = 254
(gdb) fr 13
#13 0x080f9bf1 in gen_iternext (gen=0x76840bac)
at ../Objects/genobject.c:47
47      ../Objects/genobject.c: No such file or directory.
        in ../Objects/genobject.c
(gdb) pyframe
0x77bb409c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/__init__.py"
0x77bc196c:      "do_combined_read"
$11 = 254
(gdb) fr 14
#14 0x080b1fe2 in PyEval_EvalFrame (f=0x86b4454)
at ../Python/ceval.c:2121
2121    ../Python/ceval.c: No such file or directory.
        in ../Python/ceval.c
(gdb) pyframe
0x77bb409c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/__init__.py"
0x77bc6a14:      "readv"
$12 = 248
(gdb) fr 15
#15 0x080f9bf1 in gen_iternext (gen=0x7684034c)
at ../Objects/genobject.c:47
47      ../Objects/genobject.c: No such file or directory.
        in ../Objects/genobject.c
(gdb) pyframe
0x77bb409c:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/transport/__init__.py"
0x77bc6a14:      "readv"
$13 = 248
(gdb) fr 16
#16 0x77b8c639 in izip_next (lz=0x76840e4c)
at /build/buildd/python2.4-2.4.2/Modules/itertoolsmodule.c:2174
2174    /build/buildd/python2.4-2.4.2/Modules/itertoolsmodule.c: No such
file or directory.
        in /build/buildd/python2.4-2.4.2/Modules/itertoolsmodule.c
(gdb) pyframe
No symbol "f" in current context.
(gdb) fr 17
#17 0x080b1fe2 in PyEval_EvalFrame (f=0x86ddcf4)
at ../Python/ceval.c:2121
2121    ../Python/ceval.c: No such file or directory.
        in ../Python/ceval.c
(gdb) pyframe
0x77964274:
"/home/robertc/source/baz/versioned-file-performance/bzrlib/knit.py"
0x77978724:      "read_records_iter"
$14 = 1033



So its readv related I think, I've only ever seen this in sftp with
knits.

Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060310/7d5dc095/attachment.pgp 


More information about the bazaar mailing list