[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compressed communication between 1.11.2 server and 1.11.1p1 client h
From: |
Tanaka Akira |
Subject: |
Re: compressed communication between 1.11.2 server and 1.11.1p1 client hangs up |
Date: |
13 May 2002 02:43:06 +0900 |
User-agent: |
T-gnus/6.14.5 (based on Gnus v5.8.7) (revision 08) SEMI/1.14.0 (Iburihashi) Deisui/1.14.0 (Kikuhime) APEL/10.3 Emacs/21.0.104 (i386-unknown-freebsd4.2) MULE/5.0 (SAKAKI) |
In article <address@hidden>,
Tanaka Akira <address@hidden> writes:
> I found that cvs-1.11.2 server and cvs-1.11.1p1 client hangs up when
> communication is compressed by -z.
I investigated the problem by strace.
I concluded that cvs-1.11.2 server waits EOF on a connection after
deflated stream is terminated but cvs-1.11.1p1 client doesn't close it
after terminating deflated stream. So they waits EOF from each other
and they hangs.
Since cvs-1.11.1p1 server doesn't waits EOF, cvs-1.11.1p1
client/server has no problem.
Since cvs-1.11.2 client shutdown a connection just after deflated
stream termination, cvs-1.11.2 client/server has no problem.
The change is not backward compatible. Is it intentional?
It is changed by introducing stdio_buffer_shutdown between
2001-05-03 00:00:00 GMT and 2001-05-07 00:00:00 GMT.
I think
http://mail.gnu.org/pipermail/bug-cvs/2002-March/007367.html and
http://mail.gnu.org/pipermail/bug-cvs/2001-August/006217.html are
same problem.
system call trace of cvs-1.11.2 server:
...
read(0, "Root /home/akr/.cvsroot\nValid-responses ok error Valid-requests
Checked-in New-entry Checksum Copy-file Updated Created Update-existing Merged
Patched Rcs-diff Mode Mod-time Removed Remove-entry Set-static-directory
Clear-static-directory Set-sticky Clear-sticky Template Set-checkin-prog
Set-update-"..., 4096) = 381
...
write(1, "Valid-requests Root Valid-responses valid-requests Repository
Directory Max-dotdot Static-directory Sticky Checkin-prog Update-prog Entry
Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify
Questionable Case Argument Argumentx Global_option Gzip-stream
wrapper-sendme-rcsOptions Set "..., 544) = 544
read(0, "UseUnchanged\nGzip-stream
1\nx\1r,J/\315M\315+Q\320\365\343r\204\263\3\220\330\311H\354\354|.\227\314\242\324\344\222\374\242J\5=.\375\214\374\334T\375\304\354\"}\275\344\262\342\242\374\374\22\256\344|.\0\0\0\0\377\377",
4096) = 93
...
write(1, "x\1\2\0\0\0\377\377", 8) = 8
...
--- SIGCHLD (Child exited) ---
...
write(1, "\312\317\346\2\0\0\0\377\377", 9) = 9
read(0, "\3\0\227\333\33\351", 4096) = 6 # deflate stream
termination received. the last four bytes are ADLER-32 checksum.
...
read(0, # check EOF.
system call trace of cvs-1.11.1p1 client:
...
write(5, "Root /home/akr/.cvsroot\nValid-responses ok error Valid-requests
Checked-in New-entry Checksum Copy-file Updated Created Update-existing Merged
Patched Rcs-diff Mode Mod-time Removed Remove-entry Set-static-directory
Clear-static-directory Set-sticky Clear-sticky Template Set-checkin-prog
Set-update-"..., 381) = 381
read(6, "Valid-requests Root Valid-responses valid-requests Repository
Directory Max-dotdot Static-directory Sticky Checkin-prog Update-prog Entry
Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify
Questionable Case Argument Argumentx Global_option Gzip-stream
wrapper-sendme-rcsOptions Set "..., 4096) = 544
write(5, "UseUnchanged\n", 13) = 13
...
write(5, "Gzip-stream
1\nx\1r,J/\315M\315+Q\320\365\343r\204\263\3\220\330\311H\354\354|.\227\314\242\324\344\222\374\242J\5=.\375\214\374\334T\375\304\354\"}\275\344\262\342\242\374\374\22\256\344|.\0\0\0\0\377\377",
80) = 80
read(6, "x\1\2\0\0\0\377\377", 4096) = 8
read(6, "\312\317\346\2\0\0\0\377\377", 4096) = 9
write(5, "\3\0\227\333\33\351", 6) = 6 # deflate stream
termnation sent.
read(6, # check EOF.
command line:
CVS_RSH=/home/akr/src/cvs/cvs-1.11.2/strace-cvs-server strace -s300 -o
cvs-1.11.2/client.log /home/akr/src/cvs/cvs-1.11.1p1/cvs -d
:ext:address@hidden:/home/akr/.cvsroot -z1 co -c
cvs-1.11.2/strace-cvs-server:
#!/bin/sh
d=/home/akr/src/cvs/cvs-1.11.2
strace -s300 -o $d/server.log $d/cvs server
--
Tanaka Akira
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: compressed communication between 1.11.2 server and 1.11.1p1 client hangs up,
Tanaka Akira <=