##// END OF EJS Templates
persistent-nodemap: disable it unconditionally for test-http-bad-server.t...
marmoute -
r47638:a8fa270a default
parent child Browse files
Show More
@@ -1,1285 +1,1286 b''
1 #require serve zstd
1 #require serve zstd
2
2
3 Client version is embedded in HTTP request and is effectively dynamic. Pin the
3 Client version is embedded in HTTP request and is effectively dynamic. Pin the
4 version so behavior is deterministic.
4 version so behavior is deterministic.
5
5
6 $ cat > fakeversion.py << EOF
6 $ cat > fakeversion.py << EOF
7 > from mercurial import util
7 > from mercurial import util
8 > util.version = lambda: b'4.2'
8 > util.version = lambda: b'4.2'
9 > EOF
9 > EOF
10
10
11 $ cat >> $HGRCPATH << EOF
11 $ cat >> $HGRCPATH << EOF
12 > [extensions]
12 > [extensions]
13 > fakeversion = `pwd`/fakeversion.py
13 > fakeversion = `pwd`/fakeversion.py
14 > [format]
14 > [format]
15 > sparse-revlog = no
15 > sparse-revlog = no
16 > use-persistent-nodemap = no
16 > [devel]
17 > [devel]
17 > legacy.exchange = phases
18 > legacy.exchange = phases
18 > [server]
19 > [server]
19 > concurrent-push-mode = strict
20 > concurrent-push-mode = strict
20 > EOF
21 > EOF
21
22
22 $ hg init server0
23 $ hg init server0
23 $ cd server0
24 $ cd server0
24 $ touch foo
25 $ touch foo
25 $ hg -q commit -A -m initial
26 $ hg -q commit -A -m initial
26
27
27 Also disable compression because zstd is optional and causes output to vary
28 Also disable compression because zstd is optional and causes output to vary
28 and because debugging partial responses is hard when compression is involved
29 and because debugging partial responses is hard when compression is involved
29
30
30 $ cat > .hg/hgrc << EOF
31 $ cat > .hg/hgrc << EOF
31 > [extensions]
32 > [extensions]
32 > badserver = $TESTDIR/badserverext.py
33 > badserver = $TESTDIR/badserverext.py
33 > [server]
34 > [server]
34 > compressionengines = none
35 > compressionengines = none
35 > EOF
36 > EOF
36
37
37 Failure to accept() socket should result in connection related error message
38 Failure to accept() socket should result in connection related error message
38
39
39 $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
40 $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
40 $ cat hg.pid > $DAEMON_PIDS
41 $ cat hg.pid > $DAEMON_PIDS
41
42
42 $ hg clone http://localhost:$HGPORT/ clone
43 $ hg clone http://localhost:$HGPORT/ clone
43 abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
44 abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
44 [100]
45 [100]
45
46
46 (The server exits on its own, but there is a race between that and starting a new server.
47 (The server exits on its own, but there is a race between that and starting a new server.
47 So ensure the process is dead.)
48 So ensure the process is dead.)
48
49
49 $ killdaemons.py $DAEMON_PIDS
50 $ killdaemons.py $DAEMON_PIDS
50
51
51 Failure immediately after accept() should yield connection related error message
52 Failure immediately after accept() should yield connection related error message
52
53
53 $ hg serve --config badserver.closeafteraccept=true -p $HGPORT -d --pid-file=hg.pid
54 $ hg serve --config badserver.closeafteraccept=true -p $HGPORT -d --pid-file=hg.pid
54 $ cat hg.pid > $DAEMON_PIDS
55 $ cat hg.pid > $DAEMON_PIDS
55
56
56 TODO: this usually outputs good results, but sometimes emits abort:
57 TODO: this usually outputs good results, but sometimes emits abort:
57 error: '' on FreeBSD and OS X.
58 error: '' on FreeBSD and OS X.
58 What we ideally want are:
59 What we ideally want are:
59
60
60 abort: error: $ECONNRESET$
61 abort: error: $ECONNRESET$
61
62
62 The flakiness in this output was observable easily with
63 The flakiness in this output was observable easily with
63 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
64 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
64 $ hg clone http://localhost:$HGPORT/ clone
65 $ hg clone http://localhost:$HGPORT/ clone
65 abort: error: * (glob)
66 abort: error: * (glob)
66 [100]
67 [100]
67
68
68 $ killdaemons.py $DAEMON_PIDS
69 $ killdaemons.py $DAEMON_PIDS
69
70
70 Failure to read all bytes in initial HTTP request should yield connection related error message
71 Failure to read all bytes in initial HTTP request should yield connection related error message
71
72
72 $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
73 $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
73 $ cat hg.pid > $DAEMON_PIDS
74 $ cat hg.pid > $DAEMON_PIDS
74
75
75 $ hg clone http://localhost:$HGPORT/ clone
76 $ hg clone http://localhost:$HGPORT/ clone
76 abort: error: bad HTTP status line: * (glob)
77 abort: error: bad HTTP status line: * (glob)
77 [100]
78 [100]
78
79
79 $ killdaemons.py $DAEMON_PIDS
80 $ killdaemons.py $DAEMON_PIDS
80
81
81 $ cat error.log
82 $ cat error.log
82 readline(1 from 65537) -> (1) G
83 readline(1 from 65537) -> (1) G
83 read limit reached; closing socket
84 read limit reached; closing socket
84
85
85 $ rm -f error.log
86 $ rm -f error.log
86
87
87 Same failure, but server reads full HTTP request line
88 Same failure, but server reads full HTTP request line
88
89
89 $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
90 $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
90 $ cat hg.pid > $DAEMON_PIDS
91 $ cat hg.pid > $DAEMON_PIDS
91 $ hg clone http://localhost:$HGPORT/ clone
92 $ hg clone http://localhost:$HGPORT/ clone
92 abort: error: bad HTTP status line: * (glob)
93 abort: error: bad HTTP status line: * (glob)
93 [100]
94 [100]
94
95
95 $ killdaemons.py $DAEMON_PIDS
96 $ killdaemons.py $DAEMON_PIDS
96
97
97 $ cat error.log
98 $ cat error.log
98 readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
99 readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
99 readline(7 from *) -> (7) Accept- (glob)
100 readline(7 from *) -> (7) Accept- (glob)
100 read limit reached; closing socket
101 read limit reached; closing socket
101
102
102 $ rm -f error.log
103 $ rm -f error.log
103
104
104 Failure on subsequent HTTP request on the same socket (cmd?batch)
105 Failure on subsequent HTTP request on the same socket (cmd?batch)
105
106
106 $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
107 $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
107 $ cat hg.pid > $DAEMON_PIDS
108 $ cat hg.pid > $DAEMON_PIDS
108 $ hg clone http://localhost:$HGPORT/ clone
109 $ hg clone http://localhost:$HGPORT/ clone
109 abort: error: bad HTTP status line: * (glob)
110 abort: error: bad HTTP status line: * (glob)
110 [100]
111 [100]
111
112
112 $ killdaemons.py $DAEMON_PIDS
113 $ killdaemons.py $DAEMON_PIDS
113
114
114 $ cat error.log
115 $ cat error.log
115 readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
116 readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
116 readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob)
117 readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob)
117 readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
118 readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
118 readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
119 readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
119 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
120 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
120 readline(* from *) -> (2) \r\n (glob)
121 readline(* from *) -> (2) \r\n (glob)
121 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
122 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
122 sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
123 sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
123 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
124 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
124 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
125 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
125 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
126 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
126 write(23) -> Server: badhttpserver\r\n (no-py3 !)
127 write(23) -> Server: badhttpserver\r\n (no-py3 !)
127 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
128 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
128 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
129 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
129 write(21) -> Content-Length: 431\r\n (no-py3 !)
130 write(21) -> Content-Length: 431\r\n (no-py3 !)
130 write(2) -> \r\n (no-py3 !)
131 write(2) -> \r\n (no-py3 !)
131 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
132 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
132 readline(4? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
133 readline(4? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
133 readline(1? from *) -> (1?) Accept-Encoding* (glob)
134 readline(1? from *) -> (1?) Accept-Encoding* (glob)
134 read limit reached; closing socket
135 read limit reached; closing socket
135 readline(223 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
136 readline(223 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
136 readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob)
137 readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob)
137 readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
138 readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
138 readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
139 readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
139 readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
140 readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
140 readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
141 readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
141 readline(4 from *) -> (4) host (glob)
142 readline(4 from *) -> (4) host (glob)
142 read limit reached; closing socket
143 read limit reached; closing socket
143
144
144 $ rm -f error.log
145 $ rm -f error.log
145
146
146 Failure to read getbundle HTTP request
147 Failure to read getbundle HTTP request
147
148
148 $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
149 $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
149 $ cat hg.pid > $DAEMON_PIDS
150 $ cat hg.pid > $DAEMON_PIDS
150 $ hg clone http://localhost:$HGPORT/ clone
151 $ hg clone http://localhost:$HGPORT/ clone
151 requesting all changes
152 requesting all changes
152 abort: error: bad HTTP status line: * (glob)
153 abort: error: bad HTTP status line: * (glob)
153 [100]
154 [100]
154
155
155 $ killdaemons.py $DAEMON_PIDS
156 $ killdaemons.py $DAEMON_PIDS
156
157
157 $ cat error.log
158 $ cat error.log
158 readline(1 from -1) -> (1) x (?)
159 readline(1 from -1) -> (1) x (?)
159 readline(1 from -1) -> (1) x (?)
160 readline(1 from -1) -> (1) x (?)
160 readline(308 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
161 readline(308 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
161 readline(275 from *) -> (27) Accept-Encoding: identity\r\n (glob)
162 readline(275 from *) -> (27) Accept-Encoding: identity\r\n (glob)
162 readline(248 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
163 readline(248 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
163 readline(213 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
164 readline(213 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
164 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
165 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
165 readline(* from *) -> (2) \r\n (glob)
166 readline(* from *) -> (2) \r\n (glob)
166 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
167 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
167 sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
168 sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
168 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
169 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
169 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
170 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
170 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
171 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
171 write(23) -> Server: badhttpserver\r\n (no-py3 !)
172 write(23) -> Server: badhttpserver\r\n (no-py3 !)
172 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
173 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
173 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
174 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
174 write(21) -> Content-Length: 431\r\n (no-py3 !)
175 write(21) -> Content-Length: 431\r\n (no-py3 !)
175 write(2) -> \r\n (no-py3 !)
176 write(2) -> \r\n (no-py3 !)
176 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
177 write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
177 readline(13? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
178 readline(13? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
178 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
179 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
179 readline(8? from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
180 readline(8? from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
180 readline(5? from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
181 readline(5? from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
181 readline(1? from *) -> (1?) x-hgproto-1:* (glob)
182 readline(1? from *) -> (1?) x-hgproto-1:* (glob)
182 read limit reached; closing socket
183 read limit reached; closing socket
183 readline(317 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
184 readline(317 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
184 readline(291 from *) -> (27) Accept-Encoding: identity\r\n (glob)
185 readline(291 from *) -> (27) Accept-Encoding: identity\r\n (glob)
185 readline(264 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
186 readline(264 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
186 readline(235 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
187 readline(235 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
187 readline(194 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
188 readline(194 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
188 readline(133 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
189 readline(133 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
189 readline(98 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
190 readline(98 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
190 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
191 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
191 readline(* from *) -> (2) \r\n (glob)
192 readline(* from *) -> (2) \r\n (glob)
192 sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
193 sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
193 sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
194 sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
194 write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
195 write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
195 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
196 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
196 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
197 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
197 write(23) -> Server: badhttpserver\r\n (no-py3 !)
198 write(23) -> Server: badhttpserver\r\n (no-py3 !)
198 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
199 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
199 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
200 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
200 write(20) -> Content-Length: 42\r\n (no-py3 !)
201 write(20) -> Content-Length: 42\r\n (no-py3 !)
201 write(2) -> \r\n (no-py3 !)
202 write(2) -> \r\n (no-py3 !)
202 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
203 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
203 readline(* from 65537) -> (*) GET /?cmd=getbundle HTTP* (glob)
204 readline(* from 65537) -> (*) GET /?cmd=getbundle HTTP* (glob)
204 read limit reached; closing socket
205 read limit reached; closing socket
205 readline(304 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
206 readline(304 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
206 readline(274 from *) -> (27) Accept-Encoding: identity\r\n (glob)
207 readline(274 from *) -> (27) Accept-Encoding: identity\r\n (glob)
207 readline(247 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
208 readline(247 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
208 readline(218 from *) -> (218) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob)
209 readline(218 from *) -> (218) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob)
209 read limit reached; closing socket
210 read limit reached; closing socket
210
211
211 $ rm -f error.log
212 $ rm -f error.log
212
213
213 Now do a variation using POST to send arguments
214 Now do a variation using POST to send arguments
214
215
215 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
216 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
216 $ cat hg.pid > $DAEMON_PIDS
217 $ cat hg.pid > $DAEMON_PIDS
217
218
218 $ hg clone http://localhost:$HGPORT/ clone
219 $ hg clone http://localhost:$HGPORT/ clone
219 abort: error: bad HTTP status line: * (glob)
220 abort: error: bad HTTP status line: * (glob)
220 [100]
221 [100]
221
222
222 $ killdaemons.py $DAEMON_PIDS
223 $ killdaemons.py $DAEMON_PIDS
223
224
224 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
225 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
225 readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
226 readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
226 readline(296 from *) -> (27) Accept-Encoding: identity\r\n (glob)
227 readline(296 from *) -> (27) Accept-Encoding: identity\r\n (glob)
227 readline(269 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
228 readline(269 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
228 readline(234 from *) -> (2?) host: localhost:$HGPORT\r\n (glob)
229 readline(234 from *) -> (2?) host: localhost:$HGPORT\r\n (glob)
229 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
230 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
230 readline(* from *) -> (2) \r\n (glob)
231 readline(* from *) -> (2) \r\n (glob)
231 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 444\r\n\r\n (py36 !)
232 sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 444\r\n\r\n (py36 !)
232 sendall(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
233 sendall(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
233 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 444\r\n\r\n (py3 no-py36 !)
234 write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 444\r\n\r\n (py3 no-py36 !)
234 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
235 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
235 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
236 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
236 write(23) -> Server: badhttpserver\r\n (no-py3 !)
237 write(23) -> Server: badhttpserver\r\n (no-py3 !)
237 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
238 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
238 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
239 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
239 write(21) -> Content-Length: 444\r\n (no-py3 !)
240 write(21) -> Content-Length: 444\r\n (no-py3 !)
240 write(2) -> \r\n (no-py3 !)
241 write(2) -> \r\n (no-py3 !)
241 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
242 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
242 readline(1?? from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n (glob)
243 readline(1?? from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n (glob)
243 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
244 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
244 readline(1?? from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
245 readline(1?? from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
245 readline(6? from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
246 readline(6? from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
246 readline(3? from *) -> (19) x-hgargs-post: 28\r\n (glob)
247 readline(3? from *) -> (19) x-hgargs-post: 28\r\n (glob)
247 readline(1? from *) -> (1?) x-hgproto-1: * (glob)
248 readline(1? from *) -> (1?) x-hgproto-1: * (glob)
248 read limit reached; closing socket
249 read limit reached; closing socket
249 readline(344 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
250 readline(344 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
250 readline(317 from *) -> (27) Accept-Encoding: identity\r\n (glob)
251 readline(317 from *) -> (27) Accept-Encoding: identity\r\n (glob)
251 readline(290 from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
252 readline(290 from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
252 readline(249 from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
253 readline(249 from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
253 readline(216 from *) -> (19) x-hgargs-post: 28\r\n (glob)
254 readline(216 from *) -> (19) x-hgargs-post: 28\r\n (glob)
254 readline(197 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
255 readline(197 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
255 readline(136 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
256 readline(136 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
256 readline(101 from *) -> (20) content-length: 28\r\n (glob)
257 readline(101 from *) -> (20) content-length: 28\r\n (glob)
257 readline(81 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
258 readline(81 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
258 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
259 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
259 readline(* from *) -> (2) \r\n (glob)
260 readline(* from *) -> (2) \r\n (glob)
260 read(* from 28) -> (*) cmds=* (glob)
261 read(* from 28) -> (*) cmds=* (glob)
261 read limit reached, closing socket
262 read limit reached, closing socket
262 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
263 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
263 Traceback (most recent call last):
264 Traceback (most recent call last):
264 Exception: connection closed after receiving N bytes
265 Exception: connection closed after receiving N bytes
265
266
266 write(126) -> HTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
267 write(126) -> HTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
267 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
268 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
268
269
269 $ rm -f error.log
270 $ rm -f error.log
270
271
271 Now move on to partial server responses
272 Now move on to partial server responses
272
273
273 Server sends a single character from the HTTP response line
274 Server sends a single character from the HTTP response line
274
275
275 $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
276 $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
276 $ cat hg.pid > $DAEMON_PIDS
277 $ cat hg.pid > $DAEMON_PIDS
277
278
278 $ hg clone http://localhost:$HGPORT/ clone
279 $ hg clone http://localhost:$HGPORT/ clone
279 abort: error: bad HTTP status line: H
280 abort: error: bad HTTP status line: H
280 [100]
281 [100]
281
282
282 $ killdaemons.py $DAEMON_PIDS
283 $ killdaemons.py $DAEMON_PIDS
283
284
284 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
285 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
285 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
286 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
286 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
287 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
287 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
288 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
288 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
289 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
289 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
290 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
290 readline(*) -> (2) \r\n (glob)
291 readline(*) -> (2) \r\n (glob)
291 sendall(1 from 160) -> (0) H (py36 !)
292 sendall(1 from 160) -> (0) H (py36 !)
292 write(1 from 160) -> (0) H (py3 no-py36 !)
293 write(1 from 160) -> (0) H (py3 no-py36 !)
293 write(1 from 36) -> (0) H (no-py3 !)
294 write(1 from 36) -> (0) H (no-py3 !)
294 write limit reached; closing socket
295 write limit reached; closing socket
295 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
296 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
296 Traceback (most recent call last):
297 Traceback (most recent call last):
297 Exception: connection closed after sending N bytes
298 Exception: connection closed after sending N bytes
298
299
299 write(286) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
300 write(286) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
300 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
301 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
301
302
302 $ rm -f error.log
303 $ rm -f error.log
303
304
304 Server sends an incomplete capabilities response body
305 Server sends an incomplete capabilities response body
305
306
306 $ hg serve --config badserver.closeaftersendbytes=180 -p $HGPORT -d --pid-file=hg.pid -E error.log
307 $ hg serve --config badserver.closeaftersendbytes=180 -p $HGPORT -d --pid-file=hg.pid -E error.log
307 $ cat hg.pid > $DAEMON_PIDS
308 $ cat hg.pid > $DAEMON_PIDS
308
309
309 $ hg clone http://localhost:$HGPORT/ clone
310 $ hg clone http://localhost:$HGPORT/ clone
310 abort: HTTP request error (incomplete response; expected 431 bytes got 20)
311 abort: HTTP request error (incomplete response; expected 431 bytes got 20)
311 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
312 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
312 [255]
313 [255]
313
314
314 $ killdaemons.py $DAEMON_PIDS
315 $ killdaemons.py $DAEMON_PIDS
315
316
316 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
317 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
317 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
318 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
318 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
319 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
319 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
320 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
320 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
321 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
321 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
322 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
322 readline(*) -> (2) \r\n (glob)
323 readline(*) -> (2) \r\n (glob)
323 sendall(160 from 160) -> (20) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
324 sendall(160 from 160) -> (20) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
324 sendall(20 from 431) -> (0) batch branchmap bund (py36 !)
325 sendall(20 from 431) -> (0) batch branchmap bund (py36 !)
325 write(160 from 160) -> (20) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
326 write(160 from 160) -> (20) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
326 write(20 from 431) -> (0) batch branchmap bund (py3 no-py36 !)
327 write(20 from 431) -> (0) batch branchmap bund (py3 no-py36 !)
327 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
328 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
328 write(23 from 23) -> (121) Server: badhttpserver\r\n (no-py3 !)
329 write(23 from 23) -> (121) Server: badhttpserver\r\n (no-py3 !)
329 write(37 from 37) -> (84) Date: $HTTP_DATE$\r\n (no-py3 !)
330 write(37 from 37) -> (84) Date: $HTTP_DATE$\r\n (no-py3 !)
330 write(41 from 41) -> (43) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
331 write(41 from 41) -> (43) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
331 write(21 from 21) -> (22) Content-Length: 431\r\n (no-py3 !)
332 write(21 from 21) -> (22) Content-Length: 431\r\n (no-py3 !)
332 write(2 from 2) -> (20) \r\n (no-py3 !)
333 write(2 from 2) -> (20) \r\n (no-py3 !)
333 write(20 from 431) -> (0) batch branchmap bund (no-py3 !)
334 write(20 from 431) -> (0) batch branchmap bund (no-py3 !)
334 write limit reached; closing socket
335 write limit reached; closing socket
335 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
336 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
336 Traceback (most recent call last):
337 Traceback (most recent call last):
337 Exception: connection closed after sending N bytes
338 Exception: connection closed after sending N bytes
338
339
339
340
340 $ rm -f error.log
341 $ rm -f error.log
341
342
342 Server sends incomplete headers for batch request
343 Server sends incomplete headers for batch request
343
344
344 $ hg serve --config badserver.closeaftersendbytes=709 -p $HGPORT -d --pid-file=hg.pid -E error.log
345 $ hg serve --config badserver.closeaftersendbytes=709 -p $HGPORT -d --pid-file=hg.pid -E error.log
345 $ cat hg.pid > $DAEMON_PIDS
346 $ cat hg.pid > $DAEMON_PIDS
346
347
347 TODO this output is horrible
348 TODO this output is horrible
348
349
349 $ hg clone http://localhost:$HGPORT/ clone
350 $ hg clone http://localhost:$HGPORT/ clone
350 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
351 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
351 ---%<--- (applicat)
352 ---%<--- (applicat)
352
353
353 ---%<---
354 ---%<---
354
355
355 [255]
356 [255]
356
357
357 $ killdaemons.py $DAEMON_PIDS
358 $ killdaemons.py $DAEMON_PIDS
358
359
359 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
360 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
360 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
361 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
361 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
362 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
362 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
363 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
363 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
364 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
364 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
365 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
365 readline(*) -> (2) \r\n (glob)
366 readline(*) -> (2) \r\n (glob)
366 sendall(160 from 160) -> (549) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
367 sendall(160 from 160) -> (549) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
367 sendall(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
368 sendall(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
368 write(160 from 160) -> (568) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
369 write(160 from 160) -> (568) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
369 write(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
370 write(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
370 write(36 from 36) -> (673) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
371 write(36 from 36) -> (673) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
371 write(23 from 23) -> (650) Server: badhttpserver\r\n (no-py3 !)
372 write(23 from 23) -> (650) Server: badhttpserver\r\n (no-py3 !)
372 write(37 from 37) -> (613) Date: $HTTP_DATE$\r\n (no-py3 !)
373 write(37 from 37) -> (613) Date: $HTTP_DATE$\r\n (no-py3 !)
373 write(41 from 41) -> (572) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
374 write(41 from 41) -> (572) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
374 write(21 from 21) -> (551) Content-Length: 431\r\n (no-py3 !)
375 write(21 from 21) -> (551) Content-Length: 431\r\n (no-py3 !)
375 write(2 from 2) -> (549) \r\n (no-py3 !)
376 write(2 from 2) -> (549) \r\n (no-py3 !)
376 write(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
377 write(431 from 431) -> (118) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
377 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
378 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
378 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
379 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
379 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
380 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
380 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
381 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
381 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
382 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
382 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
383 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
383 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
384 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
384 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
385 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
385 readline(*) -> (2) \r\n (glob)
386 readline(*) -> (2) \r\n (glob)
386 sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py36 !)
387 sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py36 !)
387 write(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py3 no-py36 !)
388 write(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py3 no-py36 !)
388 write(36 from 36) -> (82) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
389 write(36 from 36) -> (82) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
389 write(23 from 23) -> (59) Server: badhttpserver\r\n (no-py3 !)
390 write(23 from 23) -> (59) Server: badhttpserver\r\n (no-py3 !)
390 write(37 from 37) -> (22) Date: $HTTP_DATE$\r\n (no-py3 !)
391 write(37 from 37) -> (22) Date: $HTTP_DATE$\r\n (no-py3 !)
391 write(22 from 41) -> (0) Content-Type: applicat (no-py3 !)
392 write(22 from 41) -> (0) Content-Type: applicat (no-py3 !)
392 write limit reached; closing socket
393 write limit reached; closing socket
393 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
394 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
394 Traceback (most recent call last):
395 Traceback (most recent call last):
395 Exception: connection closed after sending N bytes
396 Exception: connection closed after sending N bytes
396
397
397 write(285) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
398 write(285) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
398 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
399 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
399
400
400 $ rm -f error.log
401 $ rm -f error.log
401
402
402 Server sends an incomplete HTTP response body to batch request
403 Server sends an incomplete HTTP response body to batch request
403
404
404 $ hg serve --config badserver.closeaftersendbytes=774 -p $HGPORT -d --pid-file=hg.pid -E error.log
405 $ hg serve --config badserver.closeaftersendbytes=774 -p $HGPORT -d --pid-file=hg.pid -E error.log
405 $ cat hg.pid > $DAEMON_PIDS
406 $ cat hg.pid > $DAEMON_PIDS
406
407
407 TODO client spews a stack due to uncaught ValueError in batch.results()
408 TODO client spews a stack due to uncaught ValueError in batch.results()
408 #if no-chg
409 #if no-chg
409 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
410 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
410 [1]
411 [1]
411 #else
412 #else
412 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
413 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
413 [255]
414 [255]
414 #endif
415 #endif
415
416
416 $ killdaemons.py $DAEMON_PIDS
417 $ killdaemons.py $DAEMON_PIDS
417
418
418 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
419 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
419 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
420 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
420 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
421 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
421 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
422 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
422 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
423 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
423 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
424 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
424 readline(*) -> (2) \r\n (glob)
425 readline(*) -> (2) \r\n (glob)
425 sendall(160 from 160) -> (614) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
426 sendall(160 from 160) -> (614) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
426 sendall(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
427 sendall(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
427 write(160 from 160) -> (633) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
428 write(160 from 160) -> (633) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
428 write(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
429 write(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
429 write(36 from 36) -> (738) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
430 write(36 from 36) -> (738) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
430 write(23 from 23) -> (715) Server: badhttpserver\r\n (no-py3 !)
431 write(23 from 23) -> (715) Server: badhttpserver\r\n (no-py3 !)
431 write(37 from 37) -> (678) Date: $HTTP_DATE$\r\n (no-py3 !)
432 write(37 from 37) -> (678) Date: $HTTP_DATE$\r\n (no-py3 !)
432 write(41 from 41) -> (637) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
433 write(41 from 41) -> (637) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
433 write(21 from 21) -> (616) Content-Length: 431\r\n (no-py3 !)
434 write(21 from 21) -> (616) Content-Length: 431\r\n (no-py3 !)
434 write(2 from 2) -> (614) \r\n (no-py3 !)
435 write(2 from 2) -> (614) \r\n (no-py3 !)
435 write(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
436 write(431 from 431) -> (183) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
436 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
437 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
437 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
438 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
438 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
439 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
439 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
440 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
440 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
441 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
441 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
442 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
442 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
443 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
443 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
444 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
444 readline(*) -> (2) \r\n (glob)
445 readline(*) -> (2) \r\n (glob)
445 sendall(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
446 sendall(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
446 sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !)
447 sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !)
447 write(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
448 write(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
448 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py3 no-py36 !)
449 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py3 no-py36 !)
449 write(36 from 36) -> (147) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
450 write(36 from 36) -> (147) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
450 write(23 from 23) -> (124) Server: badhttpserver\r\n (no-py3 !)
451 write(23 from 23) -> (124) Server: badhttpserver\r\n (no-py3 !)
451 write(37 from 37) -> (87) Date: $HTTP_DATE$\r\n (no-py3 !)
452 write(37 from 37) -> (87) Date: $HTTP_DATE$\r\n (no-py3 !)
452 write(41 from 41) -> (46) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
453 write(41 from 41) -> (46) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
453 write(20 from 20) -> (26) Content-Length: 42\r\n (no-py3 !)
454 write(20 from 20) -> (26) Content-Length: 42\r\n (no-py3 !)
454 write(2 from 2) -> (24) \r\n (no-py3 !)
455 write(2 from 2) -> (24) \r\n (no-py3 !)
455 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py3 !)
456 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py3 !)
456 write limit reached; closing socket
457 write limit reached; closing socket
457 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
458 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
458 Traceback (most recent call last):
459 Traceback (most recent call last):
459 Exception: connection closed after sending N bytes
460 Exception: connection closed after sending N bytes
460
461
461
462
462 $ rm -f error.log
463 $ rm -f error.log
463
464
464 Server sends incomplete headers for getbundle response
465 Server sends incomplete headers for getbundle response
465
466
466 $ hg serve --config badserver.closeaftersendbytes=921 -p $HGPORT -d --pid-file=hg.pid -E error.log
467 $ hg serve --config badserver.closeaftersendbytes=921 -p $HGPORT -d --pid-file=hg.pid -E error.log
467 $ cat hg.pid > $DAEMON_PIDS
468 $ cat hg.pid > $DAEMON_PIDS
468
469
469 TODO this output is terrible
470 TODO this output is terrible
470
471
471 $ hg clone http://localhost:$HGPORT/ clone
472 $ hg clone http://localhost:$HGPORT/ clone
472 requesting all changes
473 requesting all changes
473 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
474 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
474 ---%<--- (application/mercuri)
475 ---%<--- (application/mercuri)
475
476
476 ---%<---
477 ---%<---
477
478
478 [255]
479 [255]
479
480
480 $ killdaemons.py $DAEMON_PIDS
481 $ killdaemons.py $DAEMON_PIDS
481
482
482 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
483 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
483 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
484 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
484 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
485 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
485 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
486 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
486 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
487 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
487 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
488 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
488 readline(*) -> (2) \r\n (glob)
489 readline(*) -> (2) \r\n (glob)
489 sendall(160 from 160) -> (761) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
490 sendall(160 from 160) -> (761) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
490 sendall(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
491 sendall(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
491 write(160 from 160) -> (780) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
492 write(160 from 160) -> (780) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
492 write(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
493 write(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
493 write(36 from 36) -> (885) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
494 write(36 from 36) -> (885) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
494 write(23 from 23) -> (862) Server: badhttpserver\r\n (no-py3 !)
495 write(23 from 23) -> (862) Server: badhttpserver\r\n (no-py3 !)
495 write(37 from 37) -> (825) Date: $HTTP_DATE$\r\n (no-py3 !)
496 write(37 from 37) -> (825) Date: $HTTP_DATE$\r\n (no-py3 !)
496 write(41 from 41) -> (784) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
497 write(41 from 41) -> (784) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
497 write(21 from 21) -> (763) Content-Length: 431\r\n (no-py3 !)
498 write(21 from 21) -> (763) Content-Length: 431\r\n (no-py3 !)
498 write(2 from 2) -> (761) \r\n (no-py3 !)
499 write(2 from 2) -> (761) \r\n (no-py3 !)
499 write(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
500 write(431 from 431) -> (330) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
500 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
501 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
501 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
502 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
502 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
503 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
503 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
504 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
504 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
505 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
505 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
506 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
506 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
507 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
507 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
508 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
508 readline(*) -> (2) \r\n (glob)
509 readline(*) -> (2) \r\n (glob)
509 sendall(159 from 159) -> (171) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
510 sendall(159 from 159) -> (171) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
510 sendall(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
511 sendall(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
511 write(159 from 159) -> (171) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
512 write(159 from 159) -> (171) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
512 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
513 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
513 write(36 from 36) -> (294) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
514 write(36 from 36) -> (294) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
514 write(23 from 23) -> (271) Server: badhttpserver\r\n (no-py3 !)
515 write(23 from 23) -> (271) Server: badhttpserver\r\n (no-py3 !)
515 write(37 from 37) -> (234) Date: $HTTP_DATE$\r\n (no-py3 !)
516 write(37 from 37) -> (234) Date: $HTTP_DATE$\r\n (no-py3 !)
516 write(41 from 41) -> (193) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
517 write(41 from 41) -> (193) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
517 write(20 from 20) -> (173) Content-Length: 42\r\n (no-py3 !)
518 write(20 from 20) -> (173) Content-Length: 42\r\n (no-py3 !)
518 write(2 from 2) -> (171) \r\n (no-py3 !)
519 write(2 from 2) -> (171) \r\n (no-py3 !)
519 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
520 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
520 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
521 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
521 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
522 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
522 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
523 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
523 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
524 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
524 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
525 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
525 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
526 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
526 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
527 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
527 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
528 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
528 readline(*) -> (2) \r\n (glob)
529 readline(*) -> (2) \r\n (glob)
529 sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py36 !)
530 sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py36 !)
530 write(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py3 no-py36 !)
531 write(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py3 no-py36 !)
531 write(36 from 36) -> (93) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
532 write(36 from 36) -> (93) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
532 write(23 from 23) -> (70) Server: badhttpserver\r\n (no-py3 !)
533 write(23 from 23) -> (70) Server: badhttpserver\r\n (no-py3 !)
533 write(37 from 37) -> (33) Date: $HTTP_DATE$\r\n (no-py3 !)
534 write(37 from 37) -> (33) Date: $HTTP_DATE$\r\n (no-py3 !)
534 write(33 from 41) -> (0) Content-Type: application/mercuri (no-py3 !)
535 write(33 from 41) -> (0) Content-Type: application/mercuri (no-py3 !)
535 write limit reached; closing socket
536 write limit reached; closing socket
536 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
537 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
537 Traceback (most recent call last):
538 Traceback (most recent call last):
538 Exception: connection closed after sending N bytes
539 Exception: connection closed after sending N bytes
539
540
540 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
541 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
541 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
542 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
542
543
543 $ rm -f error.log
544 $ rm -f error.log
544
545
545 Server stops before it sends transfer encoding
546 Server stops before it sends transfer encoding
546
547
547 $ hg serve --config badserver.closeaftersendbytes=954 -p $HGPORT -d --pid-file=hg.pid -E error.log
548 $ hg serve --config badserver.closeaftersendbytes=954 -p $HGPORT -d --pid-file=hg.pid -E error.log
548 $ cat hg.pid > $DAEMON_PIDS
549 $ cat hg.pid > $DAEMON_PIDS
549
550
550 $ hg clone http://localhost:$HGPORT/ clone
551 $ hg clone http://localhost:$HGPORT/ clone
551 requesting all changes
552 requesting all changes
552 abort: stream ended unexpectedly (got 0 bytes, expected 1)
553 abort: stream ended unexpectedly (got 0 bytes, expected 1)
553 [255]
554 [255]
554
555
555 $ killdaemons.py $DAEMON_PIDS
556 $ killdaemons.py $DAEMON_PIDS
556
557
557 #if py36
558 #if py36
558 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -3
559 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -3
559 Traceback (most recent call last):
560 Traceback (most recent call last):
560 Exception: connection closed after sending N bytes
561 Exception: connection closed after sending N bytes
561
562
562
563
563 #else
564 #else
564 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -4
565 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -4
565 Traceback (most recent call last):
566 Traceback (most recent call last):
566 Exception: connection closed after sending N bytes
567 Exception: connection closed after sending N bytes
567
568
568 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
569 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
569 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
570 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
570 #endif
571 #endif
571
572
572 $ rm -f error.log
573 $ rm -f error.log
573
574
574 Server sends empty HTTP body for getbundle
575 Server sends empty HTTP body for getbundle
575
576
576 $ hg serve --config badserver.closeaftersendbytes=959 -p $HGPORT -d --pid-file=hg.pid -E error.log
577 $ hg serve --config badserver.closeaftersendbytes=959 -p $HGPORT -d --pid-file=hg.pid -E error.log
577 $ cat hg.pid > $DAEMON_PIDS
578 $ cat hg.pid > $DAEMON_PIDS
578
579
579 $ hg clone http://localhost:$HGPORT/ clone
580 $ hg clone http://localhost:$HGPORT/ clone
580 requesting all changes
581 requesting all changes
581 abort: HTTP request error (incomplete response)
582 abort: HTTP request error (incomplete response)
582 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
583 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
583 [255]
584 [255]
584
585
585 $ killdaemons.py $DAEMON_PIDS
586 $ killdaemons.py $DAEMON_PIDS
586
587
587 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
588 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
588 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
589 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
589 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
590 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
590 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
591 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
591 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
592 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
592 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
593 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
593 readline(*) -> (2) \r\n (glob)
594 readline(*) -> (2) \r\n (glob)
594 sendall(160 from 160) -> (799) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
595 sendall(160 from 160) -> (799) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
595 sendall(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
596 sendall(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
596 write(160 from 160) -> (818) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
597 write(160 from 160) -> (818) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
597 write(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
598 write(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
598 write(36 from 36) -> (923) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
599 write(36 from 36) -> (923) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
599 write(23 from 23) -> (900) Server: badhttpserver\r\n (no-py3 !)
600 write(23 from 23) -> (900) Server: badhttpserver\r\n (no-py3 !)
600 write(37 from 37) -> (863) Date: $HTTP_DATE$\r\n (no-py3 !)
601 write(37 from 37) -> (863) Date: $HTTP_DATE$\r\n (no-py3 !)
601 write(41 from 41) -> (822) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
602 write(41 from 41) -> (822) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
602 write(21 from 21) -> (801) Content-Length: 431\r\n (no-py3 !)
603 write(21 from 21) -> (801) Content-Length: 431\r\n (no-py3 !)
603 write(2 from 2) -> (799) \r\n (no-py3 !)
604 write(2 from 2) -> (799) \r\n (no-py3 !)
604 write(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
605 write(431 from 431) -> (368) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
605 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
606 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
606 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
607 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
607 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
608 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
608 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
609 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
609 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
610 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
610 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
611 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
611 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
612 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
612 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
613 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
613 readline(*) -> (2) \r\n (glob)
614 readline(*) -> (2) \r\n (glob)
614 sendall(159 from 159) -> (209) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
615 sendall(159 from 159) -> (209) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
615 sendall(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
616 sendall(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
616 write(159 from 159) -> (209) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
617 write(159 from 159) -> (209) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
617 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
618 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
618 write(36 from 36) -> (332) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
619 write(36 from 36) -> (332) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
619 write(23 from 23) -> (309) Server: badhttpserver\r\n (no-py3 !)
620 write(23 from 23) -> (309) Server: badhttpserver\r\n (no-py3 !)
620 write(37 from 37) -> (272) Date: $HTTP_DATE$\r\n (no-py3 !)
621 write(37 from 37) -> (272) Date: $HTTP_DATE$\r\n (no-py3 !)
621 write(41 from 41) -> (231) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
622 write(41 from 41) -> (231) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
622 write(20 from 20) -> (211) Content-Length: 42\r\n (no-py3 !)
623 write(20 from 20) -> (211) Content-Length: 42\r\n (no-py3 !)
623 write(2 from 2) -> (209) \r\n (no-py3 !)
624 write(2 from 2) -> (209) \r\n (no-py3 !)
624 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
625 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
625 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
626 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
626 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
627 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
627 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
628 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
628 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
629 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
629 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
630 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
630 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
631 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
631 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
632 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
632 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
633 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
633 readline(*) -> (2) \r\n (glob)
634 readline(*) -> (2) \r\n (glob)
634 sendall(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !)
635 sendall(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !)
635 write(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
636 write(167 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
636 write(36 from 36) -> (131) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
637 write(36 from 36) -> (131) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
637 write(23 from 23) -> (108) Server: badhttpserver\r\n (no-py3 !)
638 write(23 from 23) -> (108) Server: badhttpserver\r\n (no-py3 !)
638 write(37 from 37) -> (71) Date: $HTTP_DATE$\r\n (no-py3 !)
639 write(37 from 37) -> (71) Date: $HTTP_DATE$\r\n (no-py3 !)
639 write(41 from 41) -> (30) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
640 write(41 from 41) -> (30) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
640 write(28 from 28) -> (2) Transfer-Encoding: chunked\r\n (no-py3 !)
641 write(28 from 28) -> (2) Transfer-Encoding: chunked\r\n (no-py3 !)
641 write(2 from 2) -> (0) \r\n (no-py3 !)
642 write(2 from 2) -> (0) \r\n (no-py3 !)
642 write limit reached; closing socket
643 write limit reached; closing socket
643 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
644 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
644 Traceback (most recent call last):
645 Traceback (most recent call last):
645 Exception: connection closed after sending N bytes
646 Exception: connection closed after sending N bytes
646
647
647 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
648 write(293) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
648 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
649 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
649
650
650 $ rm -f error.log
651 $ rm -f error.log
651
652
652 Server sends partial compression string
653 Server sends partial compression string
653
654
654 $ hg serve --config badserver.closeaftersendbytes=983 -p $HGPORT -d --pid-file=hg.pid -E error.log
655 $ hg serve --config badserver.closeaftersendbytes=983 -p $HGPORT -d --pid-file=hg.pid -E error.log
655 $ cat hg.pid > $DAEMON_PIDS
656 $ cat hg.pid > $DAEMON_PIDS
656
657
657 $ hg clone http://localhost:$HGPORT/ clone
658 $ hg clone http://localhost:$HGPORT/ clone
658 requesting all changes
659 requesting all changes
659 abort: HTTP request error (incomplete response)
660 abort: HTTP request error (incomplete response)
660 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
661 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
661 [255]
662 [255]
662
663
663 $ killdaemons.py $DAEMON_PIDS
664 $ killdaemons.py $DAEMON_PIDS
664
665
665 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
666 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
666 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
667 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
667 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
668 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
668 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
669 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
669 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
670 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
670 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
671 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
671 readline(*) -> (2) \r\n (glob)
672 readline(*) -> (2) \r\n (glob)
672 sendall(160 from 160) -> (823) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
673 sendall(160 from 160) -> (823) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !)
673 sendall(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
674 sendall(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
674 write(160 from 160) -> (842) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
675 write(160 from 160) -> (842) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !)
675 write(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
676 write(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
676 write(36 from 36) -> (947) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
677 write(36 from 36) -> (947) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
677 write(23 from 23) -> (924) Server: badhttpserver\r\n (no-py3 !)
678 write(23 from 23) -> (924) Server: badhttpserver\r\n (no-py3 !)
678 write(37 from 37) -> (887) Date: $HTTP_DATE$\r\n (no-py3 !)
679 write(37 from 37) -> (887) Date: $HTTP_DATE$\r\n (no-py3 !)
679 write(41 from 41) -> (846) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
680 write(41 from 41) -> (846) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
680 write(21 from 21) -> (825) Content-Length: 431\r\n (no-py3 !)
681 write(21 from 21) -> (825) Content-Length: 431\r\n (no-py3 !)
681 write(2 from 2) -> (823) \r\n (no-py3 !)
682 write(2 from 2) -> (823) \r\n (no-py3 !)
682 write(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
683 write(431 from 431) -> (392) batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
683 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
684 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
684 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
685 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
685 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
686 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
686 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
687 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
687 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
688 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
688 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
689 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
689 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
690 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
690 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
691 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
691 readline(*) -> (2) \r\n (glob)
692 readline(*) -> (2) \r\n (glob)
692 sendall(159 from 159) -> (233) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
693 sendall(159 from 159) -> (233) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
693 sendall(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
694 sendall(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
694 write(159 from 159) -> (233) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
695 write(159 from 159) -> (233) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
695 write(36 from 36) -> (356) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
696 write(36 from 36) -> (356) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
696 write(23 from 23) -> (333) Server: badhttpserver\r\n (no-py3 !)
697 write(23 from 23) -> (333) Server: badhttpserver\r\n (no-py3 !)
697 write(37 from 37) -> (296) Date: $HTTP_DATE$\r\n (no-py3 !)
698 write(37 from 37) -> (296) Date: $HTTP_DATE$\r\n (no-py3 !)
698 write(41 from 41) -> (255) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
699 write(41 from 41) -> (255) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
699 write(20 from 20) -> (235) Content-Length: 42\r\n (no-py3 !)
700 write(20 from 20) -> (235) Content-Length: 42\r\n (no-py3 !)
700 write(2 from 2) -> (233) \r\n (no-py3 !)
701 write(2 from 2) -> (233) \r\n (no-py3 !)
701 write(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
702 write(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
702 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
703 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
703 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
704 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
704 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
705 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
705 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
706 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
706 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
707 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
707 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
708 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
708 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
709 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
709 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
710 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
710 readline(*) -> (2) \r\n (glob)
711 readline(*) -> (2) \r\n (glob)
711 sendall(167 from 167) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !)
712 sendall(167 from 167) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py36 !)
712 sendall(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (py36 !)
713 sendall(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (py36 !)
713 sendall(9 from 9) -> (9) 4\r\nnone\r\n (py36 !)
714 sendall(9 from 9) -> (9) 4\r\nnone\r\n (py36 !)
714 sendall(9 from 9) -> (0) 4\r\nHG20\r\n (py36 !)
715 sendall(9 from 9) -> (0) 4\r\nHG20\r\n (py36 !)
715 write(167 from 167) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
716 write(167 from 167) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
716 write(36 from 36) -> (155) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
717 write(36 from 36) -> (155) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
717 write(23 from 23) -> (132) Server: badhttpserver\r\n (no-py3 !)
718 write(23 from 23) -> (132) Server: badhttpserver\r\n (no-py3 !)
718 write(37 from 37) -> (95) Date: $HTTP_DATE$\r\n (no-py3 !)
719 write(37 from 37) -> (95) Date: $HTTP_DATE$\r\n (no-py3 !)
719 write(41 from 41) -> (54) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
720 write(41 from 41) -> (54) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
720 write(28 from 28) -> (26) Transfer-Encoding: chunked\r\n (no-py3 !)
721 write(28 from 28) -> (26) Transfer-Encoding: chunked\r\n (no-py3 !)
721 write(2 from 2) -> (24) \r\n (no-py3 !)
722 write(2 from 2) -> (24) \r\n (no-py3 !)
722 write(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (no-py3 !)
723 write(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (no-py3 !)
723 write(9 from 9) -> (9) 4\r\nnone\r\n (no-py3 !)
724 write(9 from 9) -> (9) 4\r\nnone\r\n (no-py3 !)
724 write(9 from 9) -> (0) 4\r\nHG20\r\n (no-py3 !)
725 write(9 from 9) -> (0) 4\r\nHG20\r\n (no-py3 !)
725 write limit reached; closing socket
726 write limit reached; closing socket
726 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
727 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
727 Traceback (most recent call last):
728 Traceback (most recent call last):
728 Exception: connection closed after sending N bytes
729 Exception: connection closed after sending N bytes
729
730
730 write(27) -> 15\r\nInternal Server Error\r\n (no-py3 !)
731 write(27) -> 15\r\nInternal Server Error\r\n (no-py3 !)
731
732
732 $ rm -f error.log
733 $ rm -f error.log
733
734
734 Server sends partial bundle2 header magic
735 Server sends partial bundle2 header magic
735
736
736 $ hg serve --config badserver.closeaftersendbytes=980 -p $HGPORT -d --pid-file=hg.pid -E error.log
737 $ hg serve --config badserver.closeaftersendbytes=980 -p $HGPORT -d --pid-file=hg.pid -E error.log
737 $ cat hg.pid > $DAEMON_PIDS
738 $ cat hg.pid > $DAEMON_PIDS
738
739
739 $ hg clone http://localhost:$HGPORT/ clone
740 $ hg clone http://localhost:$HGPORT/ clone
740 requesting all changes
741 requesting all changes
741 abort: HTTP request error (incomplete response) (py3 !)
742 abort: HTTP request error (incomplete response) (py3 !)
742 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
743 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
743 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
744 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
744 [255]
745 [255]
745
746
746 $ killdaemons.py $DAEMON_PIDS
747 $ killdaemons.py $DAEMON_PIDS
747
748
748 #if py36
749 #if py36
749 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -9
750 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -9
750 sendall(167 from 167) -> (21) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
751 sendall(167 from 167) -> (21) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
751 sendall(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
752 sendall(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
752 sendall(9 from 9) -> (6) 4\r\nnone\r\n
753 sendall(9 from 9) -> (6) 4\r\nnone\r\n
753 sendall(6 from 9) -> (0) 4\r\nHG2
754 sendall(6 from 9) -> (0) 4\r\nHG2
754 write limit reached; closing socket
755 write limit reached; closing socket
755 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
756 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
756 Traceback (most recent call last):
757 Traceback (most recent call last):
757 Exception: connection closed after sending N bytes
758 Exception: connection closed after sending N bytes
758
759
759
760
760 #else
761 #else
761 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
762 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
762 readline(65537) -> (2) \r\n (py3 !)
763 readline(65537) -> (2) \r\n (py3 !)
763 write(167 from 167) -> (21) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
764 write(167 from 167) -> (21) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
764 write(28 from 28) -> (23) Transfer-Encoding: chunked\r\n (no-py3 !)
765 write(28 from 28) -> (23) Transfer-Encoding: chunked\r\n (no-py3 !)
765 write(2 from 2) -> (21) \r\n (no-py3 !)
766 write(2 from 2) -> (21) \r\n (no-py3 !)
766 write(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
767 write(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
767 write(9 from 9) -> (6) 4\r\nnone\r\n
768 write(9 from 9) -> (6) 4\r\nnone\r\n
768 write(6 from 9) -> (0) 4\r\nHG2
769 write(6 from 9) -> (0) 4\r\nHG2
769 write limit reached; closing socket
770 write limit reached; closing socket
770 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
771 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
771 Traceback (most recent call last):
772 Traceback (most recent call last):
772 Exception: connection closed after sending N bytes
773 Exception: connection closed after sending N bytes
773
774
774 write(27) -> 15\r\nInternal Server Error\r\n
775 write(27) -> 15\r\nInternal Server Error\r\n
775 #endif
776 #endif
776
777
777 $ rm -f error.log
778 $ rm -f error.log
778
779
779 Server sends incomplete bundle2 stream params length
780 Server sends incomplete bundle2 stream params length
780
781
781 $ hg serve --config badserver.closeaftersendbytes=989 -p $HGPORT -d --pid-file=hg.pid -E error.log
782 $ hg serve --config badserver.closeaftersendbytes=989 -p $HGPORT -d --pid-file=hg.pid -E error.log
782 $ cat hg.pid > $DAEMON_PIDS
783 $ cat hg.pid > $DAEMON_PIDS
783
784
784 $ hg clone http://localhost:$HGPORT/ clone
785 $ hg clone http://localhost:$HGPORT/ clone
785 requesting all changes
786 requesting all changes
786 abort: HTTP request error (incomplete response) (py3 !)
787 abort: HTTP request error (incomplete response) (py3 !)
787 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
788 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
788 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
789 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
789 [255]
790 [255]
790
791
791 $ killdaemons.py $DAEMON_PIDS
792 $ killdaemons.py $DAEMON_PIDS
792
793
793 #if py36
794 #if py36
794 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
795 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
795 sendall(167 from 167) -> (30) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
796 sendall(167 from 167) -> (30) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
796 sendall(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
797 sendall(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
797 sendall(9 from 9) -> (15) 4\r\nnone\r\n
798 sendall(9 from 9) -> (15) 4\r\nnone\r\n
798 sendall(9 from 9) -> (6) 4\r\nHG20\r\n
799 sendall(9 from 9) -> (6) 4\r\nHG20\r\n
799 sendall(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
800 sendall(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
800 write limit reached; closing socket
801 write limit reached; closing socket
801 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
802 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
802 Traceback (most recent call last):
803 Traceback (most recent call last):
803 Exception: connection closed after sending N bytes
804 Exception: connection closed after sending N bytes
804
805
805
806
806 #else
807 #else
807 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
808 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
808 readline(65537) -> (2) \r\n (py3 !)
809 readline(65537) -> (2) \r\n (py3 !)
809 write(167 from 167) -> (30) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
810 write(167 from 167) -> (30) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
810 write(28 from 28) -> (32) Transfer-Encoding: chunked\r\n (no-py3 !)
811 write(28 from 28) -> (32) Transfer-Encoding: chunked\r\n (no-py3 !)
811 write(2 from 2) -> (30) \r\n (no-py3 !)
812 write(2 from 2) -> (30) \r\n (no-py3 !)
812 write(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
813 write(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
813 write(9 from 9) -> (15) 4\r\nnone\r\n
814 write(9 from 9) -> (15) 4\r\nnone\r\n
814 write(9 from 9) -> (6) 4\r\nHG20\r\n
815 write(9 from 9) -> (6) 4\r\nHG20\r\n
815 write(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
816 write(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
816 write limit reached; closing socket
817 write limit reached; closing socket
817 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
818 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
818 Traceback (most recent call last):
819 Traceback (most recent call last):
819 Exception: connection closed after sending N bytes
820 Exception: connection closed after sending N bytes
820
821
821 write(27) -> 15\r\nInternal Server Error\r\n
822 write(27) -> 15\r\nInternal Server Error\r\n
822 #endif
823 #endif
823
824
824 $ rm -f error.log
825 $ rm -f error.log
825
826
826 Servers stops after bundle2 stream params header
827 Servers stops after bundle2 stream params header
827
828
828 $ hg serve --config badserver.closeaftersendbytes=992 -p $HGPORT -d --pid-file=hg.pid -E error.log
829 $ hg serve --config badserver.closeaftersendbytes=992 -p $HGPORT -d --pid-file=hg.pid -E error.log
829 $ cat hg.pid > $DAEMON_PIDS
830 $ cat hg.pid > $DAEMON_PIDS
830
831
831 $ hg clone http://localhost:$HGPORT/ clone
832 $ hg clone http://localhost:$HGPORT/ clone
832 requesting all changes
833 requesting all changes
833 abort: HTTP request error (incomplete response)
834 abort: HTTP request error (incomplete response)
834 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
835 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
835 [255]
836 [255]
836
837
837 $ killdaemons.py $DAEMON_PIDS
838 $ killdaemons.py $DAEMON_PIDS
838
839
839 #if py36
840 #if py36
840 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
841 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
841 sendall(167 from 167) -> (33) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
842 sendall(167 from 167) -> (33) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
842 sendall(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
843 sendall(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
843 sendall(9 from 9) -> (18) 4\r\nnone\r\n
844 sendall(9 from 9) -> (18) 4\r\nnone\r\n
844 sendall(9 from 9) -> (9) 4\r\nHG20\r\n
845 sendall(9 from 9) -> (9) 4\r\nHG20\r\n
845 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
846 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
846 write limit reached; closing socket
847 write limit reached; closing socket
847 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
848 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
848 Traceback (most recent call last):
849 Traceback (most recent call last):
849 Exception: connection closed after sending N bytes
850 Exception: connection closed after sending N bytes
850
851
851
852
852 #else
853 #else
853 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
854 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
854 readline(65537) -> (2) \r\n (py3 !)
855 readline(65537) -> (2) \r\n (py3 !)
855 write(167 from 167) -> (33) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
856 write(167 from 167) -> (33) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
856 write(28 from 28) -> (35) Transfer-Encoding: chunked\r\n (no-py3 !)
857 write(28 from 28) -> (35) Transfer-Encoding: chunked\r\n (no-py3 !)
857 write(2 from 2) -> (33) \r\n (no-py3 !)
858 write(2 from 2) -> (33) \r\n (no-py3 !)
858 write(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
859 write(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
859 write(9 from 9) -> (18) 4\r\nnone\r\n
860 write(9 from 9) -> (18) 4\r\nnone\r\n
860 write(9 from 9) -> (9) 4\r\nHG20\r\n
861 write(9 from 9) -> (9) 4\r\nHG20\r\n
861 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
862 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
862 write limit reached; closing socket
863 write limit reached; closing socket
863 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
864 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
864 Traceback (most recent call last):
865 Traceback (most recent call last):
865 Exception: connection closed after sending N bytes
866 Exception: connection closed after sending N bytes
866
867
867 write(27) -> 15\r\nInternal Server Error\r\n
868 write(27) -> 15\r\nInternal Server Error\r\n
868 #endif
869 #endif
869
870
870 $ rm -f error.log
871 $ rm -f error.log
871
872
872 Server stops sending after bundle2 part header length
873 Server stops sending after bundle2 part header length
873
874
874 $ hg serve --config badserver.closeaftersendbytes=1001 -p $HGPORT -d --pid-file=hg.pid -E error.log
875 $ hg serve --config badserver.closeaftersendbytes=1001 -p $HGPORT -d --pid-file=hg.pid -E error.log
875 $ cat hg.pid > $DAEMON_PIDS
876 $ cat hg.pid > $DAEMON_PIDS
876
877
877 $ hg clone http://localhost:$HGPORT/ clone
878 $ hg clone http://localhost:$HGPORT/ clone
878 requesting all changes
879 requesting all changes
879 abort: HTTP request error (incomplete response)
880 abort: HTTP request error (incomplete response)
880 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
881 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
881 [255]
882 [255]
882
883
883 $ killdaemons.py $DAEMON_PIDS
884 $ killdaemons.py $DAEMON_PIDS
884
885
885 #if py36
886 #if py36
886 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
887 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
887 sendall(167 from 167) -> (42) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
888 sendall(167 from 167) -> (42) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
888 sendall(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
889 sendall(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
889 sendall(9 from 9) -> (27) 4\r\nnone\r\n
890 sendall(9 from 9) -> (27) 4\r\nnone\r\n
890 sendall(9 from 9) -> (18) 4\r\nHG20\r\n
891 sendall(9 from 9) -> (18) 4\r\nHG20\r\n
891 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
892 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
892 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
893 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
893 write limit reached; closing socket
894 write limit reached; closing socket
894 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
895 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
895 Traceback (most recent call last):
896 Traceback (most recent call last):
896 Exception: connection closed after sending N bytes
897 Exception: connection closed after sending N bytes
897
898
898
899
899 #else
900 #else
900
901
901 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -13
902 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -13
902 readline(65537) -> (2) \r\n (py3 !)
903 readline(65537) -> (2) \r\n (py3 !)
903 write(167 from 167) -> (42) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
904 write(167 from 167) -> (42) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
904 write(28 from 28) -> (44) Transfer-Encoding: chunked\r\n (no-py3 !)
905 write(28 from 28) -> (44) Transfer-Encoding: chunked\r\n (no-py3 !)
905 write(2 from 2) -> (42) \r\n (no-py3 !)
906 write(2 from 2) -> (42) \r\n (no-py3 !)
906 write(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
907 write(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
907 write(9 from 9) -> (27) 4\r\nnone\r\n
908 write(9 from 9) -> (27) 4\r\nnone\r\n
908 write(9 from 9) -> (18) 4\r\nHG20\r\n
909 write(9 from 9) -> (18) 4\r\nHG20\r\n
909 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
910 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
910 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
911 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
911 write limit reached; closing socket
912 write limit reached; closing socket
912 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
913 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
913 Traceback (most recent call last):
914 Traceback (most recent call last):
914 Exception: connection closed after sending N bytes
915 Exception: connection closed after sending N bytes
915
916
916 write(27) -> 15\r\nInternal Server Error\r\n
917 write(27) -> 15\r\nInternal Server Error\r\n
917 #endif
918 #endif
918
919
919 $ rm -f error.log
920 $ rm -f error.log
920
921
921 Server stops sending after bundle2 part header
922 Server stops sending after bundle2 part header
922
923
923 $ hg serve --config badserver.closeaftersendbytes=1048 -p $HGPORT -d --pid-file=hg.pid -E error.log
924 $ hg serve --config badserver.closeaftersendbytes=1048 -p $HGPORT -d --pid-file=hg.pid -E error.log
924 $ cat hg.pid > $DAEMON_PIDS
925 $ cat hg.pid > $DAEMON_PIDS
925
926
926 $ hg clone http://localhost:$HGPORT/ clone
927 $ hg clone http://localhost:$HGPORT/ clone
927 requesting all changes
928 requesting all changes
928 adding changesets
929 adding changesets
929 transaction abort!
930 transaction abort!
930 rollback completed
931 rollback completed
931 abort: HTTP request error (incomplete response)
932 abort: HTTP request error (incomplete response)
932 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
933 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
933 [255]
934 [255]
934
935
935 $ killdaemons.py $DAEMON_PIDS
936 $ killdaemons.py $DAEMON_PIDS
936
937
937 #if py36
938 #if py36
938 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
939 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
939 sendall(167 from 167) -> (89) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
940 sendall(167 from 167) -> (89) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
940 sendall(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
941 sendall(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
941 sendall(9 from 9) -> (74) 4\r\nnone\r\n
942 sendall(9 from 9) -> (74) 4\r\nnone\r\n
942 sendall(9 from 9) -> (65) 4\r\nHG20\r\n
943 sendall(9 from 9) -> (65) 4\r\nHG20\r\n
943 sendall(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
944 sendall(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
944 sendall(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
945 sendall(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
945 sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
946 sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
946 write limit reached; closing socket
947 write limit reached; closing socket
947 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
948 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
948 Traceback (most recent call last):
949 Traceback (most recent call last):
949 Exception: connection closed after sending N bytes
950 Exception: connection closed after sending N bytes
950
951
951
952
952 #else
953 #else
953 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
954 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
954 readline(65537) -> (2) \r\n (py3 !)
955 readline(65537) -> (2) \r\n (py3 !)
955 write(167 from 167) -> (89) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
956 write(167 from 167) -> (89) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
956 write(28 from 28) -> (91) Transfer-Encoding: chunked\r\n (no-py3 !)
957 write(28 from 28) -> (91) Transfer-Encoding: chunked\r\n (no-py3 !)
957 write(2 from 2) -> (89) \r\n (no-py3 !)
958 write(2 from 2) -> (89) \r\n (no-py3 !)
958 write(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
959 write(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
959 write(9 from 9) -> (74) 4\r\nnone\r\n
960 write(9 from 9) -> (74) 4\r\nnone\r\n
960 write(9 from 9) -> (65) 4\r\nHG20\r\n
961 write(9 from 9) -> (65) 4\r\nHG20\r\n
961 write(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
962 write(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
962 write(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
963 write(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
963 write(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
964 write(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
964 write limit reached; closing socket
965 write limit reached; closing socket
965 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
966 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
966 Traceback (most recent call last):
967 Traceback (most recent call last):
967 Exception: connection closed after sending N bytes
968 Exception: connection closed after sending N bytes
968
969
969 write(27) -> 15\r\nInternal Server Error\r\n
970 write(27) -> 15\r\nInternal Server Error\r\n
970 #endif
971 #endif
971
972
972 $ rm -f error.log
973 $ rm -f error.log
973
974
974 Server stops after bundle2 part payload chunk size
975 Server stops after bundle2 part payload chunk size
975
976
976 $ hg serve --config badserver.closeaftersendbytes=1069 -p $HGPORT -d --pid-file=hg.pid -E error.log
977 $ hg serve --config badserver.closeaftersendbytes=1069 -p $HGPORT -d --pid-file=hg.pid -E error.log
977 $ cat hg.pid > $DAEMON_PIDS
978 $ cat hg.pid > $DAEMON_PIDS
978
979
979 $ hg clone http://localhost:$HGPORT/ clone
980 $ hg clone http://localhost:$HGPORT/ clone
980 requesting all changes
981 requesting all changes
981 adding changesets
982 adding changesets
982 transaction abort!
983 transaction abort!
983 rollback completed
984 rollback completed
984 abort: HTTP request error (incomplete response) (py3 !)
985 abort: HTTP request error (incomplete response) (py3 !)
985 abort: HTTP request error (incomplete response; expected 466 bytes got 7) (no-py3 !)
986 abort: HTTP request error (incomplete response; expected 466 bytes got 7) (no-py3 !)
986 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
987 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
987 [255]
988 [255]
988
989
989 $ killdaemons.py $DAEMON_PIDS
990 $ killdaemons.py $DAEMON_PIDS
990
991
991 #if py36
992 #if py36
992 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
993 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
993 sendall(167 from 167) -> (110) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
994 sendall(167 from 167) -> (110) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
994 sendall(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
995 sendall(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
995 sendall(9 from 9) -> (95) 4\r\nnone\r\n
996 sendall(9 from 9) -> (95) 4\r\nnone\r\n
996 sendall(9 from 9) -> (86) 4\r\nHG20\r\n
997 sendall(9 from 9) -> (86) 4\r\nHG20\r\n
997 sendall(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
998 sendall(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
998 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
999 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
999 sendall(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1000 sendall(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1000 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1001 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1001 sendall(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1002 sendall(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1002 write limit reached; closing socket
1003 write limit reached; closing socket
1003 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1004 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1004 Traceback (most recent call last):
1005 Traceback (most recent call last):
1005 Exception: connection closed after sending N bytes
1006 Exception: connection closed after sending N bytes
1006
1007
1007
1008
1008 #else
1009 #else
1009 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -15
1010 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -15
1010 write(167 from 167) -> (110) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
1011 write(167 from 167) -> (110) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
1011 write(2 from 2) -> (110) \r\n (no-py3 !)
1012 write(2 from 2) -> (110) \r\n (no-py3 !)
1012 write(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
1013 write(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
1013 write(9 from 9) -> (95) 4\r\nnone\r\n
1014 write(9 from 9) -> (95) 4\r\nnone\r\n
1014 write(9 from 9) -> (86) 4\r\nHG20\r\n
1015 write(9 from 9) -> (86) 4\r\nHG20\r\n
1015 write(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1016 write(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1016 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1017 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1017 write(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1018 write(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1018 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1019 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1019 write(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1020 write(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1020 write limit reached; closing socket
1021 write limit reached; closing socket
1021 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1022 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1022 Traceback (most recent call last):
1023 Traceback (most recent call last):
1023 Exception: connection closed after sending N bytes
1024 Exception: connection closed after sending N bytes
1024
1025
1025 write(27) -> 15\r\nInternal Server Error\r\n
1026 write(27) -> 15\r\nInternal Server Error\r\n
1026 #endif
1027 #endif
1027
1028
1028 $ rm -f error.log
1029 $ rm -f error.log
1029
1030
1030 Server stops sending in middle of bundle2 payload chunk
1031 Server stops sending in middle of bundle2 payload chunk
1031
1032
1032 $ hg serve --config badserver.closeaftersendbytes=1530 -p $HGPORT -d --pid-file=hg.pid -E error.log
1033 $ hg serve --config badserver.closeaftersendbytes=1530 -p $HGPORT -d --pid-file=hg.pid -E error.log
1033 $ cat hg.pid > $DAEMON_PIDS
1034 $ cat hg.pid > $DAEMON_PIDS
1034
1035
1035 $ hg clone http://localhost:$HGPORT/ clone
1036 $ hg clone http://localhost:$HGPORT/ clone
1036 requesting all changes
1037 requesting all changes
1037 adding changesets
1038 adding changesets
1038 transaction abort!
1039 transaction abort!
1039 rollback completed
1040 rollback completed
1040 abort: HTTP request error (incomplete response)
1041 abort: HTTP request error (incomplete response)
1041 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1042 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1042 [255]
1043 [255]
1043
1044
1044 $ killdaemons.py $DAEMON_PIDS
1045 $ killdaemons.py $DAEMON_PIDS
1045
1046
1046 #if py36
1047 #if py36
1047 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
1048 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
1048 sendall(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
1049 sendall(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n
1049 sendall(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1050 sendall(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1050 sendall(9 from 9) -> (556) 4\r\nnone\r\n
1051 sendall(9 from 9) -> (556) 4\r\nnone\r\n
1051 sendall(9 from 9) -> (547) 4\r\nHG20\r\n
1052 sendall(9 from 9) -> (547) 4\r\nHG20\r\n
1052 sendall(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1053 sendall(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1053 sendall(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1054 sendall(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1054 sendall(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1055 sendall(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1055 sendall(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1056 sendall(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1056 sendall(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1057 sendall(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1057 write limit reached; closing socket
1058 write limit reached; closing socket
1058 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1059 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1059 Traceback (most recent call last):
1060 Traceback (most recent call last):
1060 Exception: connection closed after sending N bytes
1061 Exception: connection closed after sending N bytes
1061
1062
1062
1063
1063 #else
1064 #else
1064 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1065 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1065 readline(65537) -> (2) \r\n (py3 !)
1066 readline(65537) -> (2) \r\n (py3 !)
1066 write(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
1067 write(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
1067 write(28 from 28) -> (573) Transfer-Encoding: chunked\r\n (no-py3 !)
1068 write(28 from 28) -> (573) Transfer-Encoding: chunked\r\n (no-py3 !)
1068 write(2 from 2) -> (571) \r\n (no-py3 !)
1069 write(2 from 2) -> (571) \r\n (no-py3 !)
1069 write(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1070 write(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1070 write(9 from 9) -> (556) 4\r\nnone\r\n
1071 write(9 from 9) -> (556) 4\r\nnone\r\n
1071 write(9 from 9) -> (547) 4\r\nHG20\r\n
1072 write(9 from 9) -> (547) 4\r\nHG20\r\n
1072 write(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1073 write(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1073 write(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1074 write(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1074 write(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1075 write(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1075 write(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1076 write(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1076 write(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1077 write(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1077 write limit reached; closing socket
1078 write limit reached; closing socket
1078 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1079 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1079 Traceback (most recent call last):
1080 Traceback (most recent call last):
1080 Exception: connection closed after sending N bytes
1081 Exception: connection closed after sending N bytes
1081
1082
1082 write(27) -> 15\r\nInternal Server Error\r\n
1083 write(27) -> 15\r\nInternal Server Error\r\n
1083 #endif
1084 #endif
1084
1085
1085 $ rm -f error.log
1086 $ rm -f error.log
1086
1087
1087 Server stops sending after 0 length payload chunk size
1088 Server stops sending after 0 length payload chunk size
1088
1089
1089 $ hg serve --config badserver.closeaftersendbytes=1561 -p $HGPORT -d --pid-file=hg.pid -E error.log
1090 $ hg serve --config badserver.closeaftersendbytes=1561 -p $HGPORT -d --pid-file=hg.pid -E error.log
1090 $ cat hg.pid > $DAEMON_PIDS
1091 $ cat hg.pid > $DAEMON_PIDS
1091
1092
1092 $ hg clone http://localhost:$HGPORT/ clone
1093 $ hg clone http://localhost:$HGPORT/ clone
1093 requesting all changes
1094 requesting all changes
1094 adding changesets
1095 adding changesets
1095 adding manifests
1096 adding manifests
1096 adding file changes
1097 adding file changes
1097 transaction abort!
1098 transaction abort!
1098 rollback completed
1099 rollback completed
1099 abort: HTTP request error (incomplete response) (py3 !)
1100 abort: HTTP request error (incomplete response) (py3 !)
1100 abort: HTTP request error (incomplete response; expected 32 bytes got 9) (no-py3 !)
1101 abort: HTTP request error (incomplete response; expected 32 bytes got 9) (no-py3 !)
1101 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1102 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1102 [255]
1103 [255]
1103
1104
1104 $ killdaemons.py $DAEMON_PIDS
1105 $ killdaemons.py $DAEMON_PIDS
1105
1106
1106 #if py36
1107 #if py36
1107 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1108 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1108 sendall(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1109 sendall(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1109 sendall(9 from 9) -> (587) 4\r\nnone\r\n
1110 sendall(9 from 9) -> (587) 4\r\nnone\r\n
1110 sendall(9 from 9) -> (578) 4\r\nHG20\r\n
1111 sendall(9 from 9) -> (578) 4\r\nHG20\r\n
1111 sendall(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1112 sendall(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1112 sendall(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1113 sendall(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1113 sendall(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1114 sendall(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1114 sendall(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1115 sendall(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1115 sendall(473 from 473) -> (31) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1116 sendall(473 from 473) -> (31) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1116 sendall(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1117 sendall(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1117 sendall(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1118 sendall(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1118 sendall(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1119 sendall(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1119 write limit reached; closing socket
1120 write limit reached; closing socket
1120 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1121 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1121 Traceback (most recent call last):
1122 Traceback (most recent call last):
1122 Exception: connection closed after sending N bytes
1123 Exception: connection closed after sending N bytes
1123
1124
1124
1125
1125 #else
1126 #else
1126 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -17
1127 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -17
1127 write(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1128 write(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1128 write(9 from 9) -> (587) 4\r\nnone\r\n
1129 write(9 from 9) -> (587) 4\r\nnone\r\n
1129 write(9 from 9) -> (578) 4\r\nHG20\r\n
1130 write(9 from 9) -> (578) 4\r\nHG20\r\n
1130 write(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1131 write(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1131 write(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1132 write(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1132 write(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1133 write(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1133 write(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1134 write(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1134 write(473 from 473) -> (31) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1135 write(473 from 473) -> (31) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1135 write(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1136 write(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1136 write(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1137 write(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1137 write(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1138 write(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1138 write limit reached; closing socket
1139 write limit reached; closing socket
1139 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1140 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1140 Traceback (most recent call last):
1141 Traceback (most recent call last):
1141 Exception: connection closed after sending N bytes
1142 Exception: connection closed after sending N bytes
1142
1143
1143 write(27) -> 15\r\nInternal Server Error\r\n
1144 write(27) -> 15\r\nInternal Server Error\r\n
1144 #endif
1145 #endif
1145
1146
1146 $ rm -f error.log
1147 $ rm -f error.log
1147
1148
1148 Server stops sending after 0 part bundle part header (indicating end of bundle2 payload)
1149 Server stops sending after 0 part bundle part header (indicating end of bundle2 payload)
1149 This is before the 0 size chunked transfer part that signals end of HTTP response.
1150 This is before the 0 size chunked transfer part that signals end of HTTP response.
1150
1151
1151 $ hg serve --config badserver.closeaftersendbytes=1736 -p $HGPORT -d --pid-file=hg.pid -E error.log
1152 $ hg serve --config badserver.closeaftersendbytes=1736 -p $HGPORT -d --pid-file=hg.pid -E error.log
1152 $ cat hg.pid > $DAEMON_PIDS
1153 $ cat hg.pid > $DAEMON_PIDS
1153
1154
1154 $ hg clone http://localhost:$HGPORT/ clone
1155 $ hg clone http://localhost:$HGPORT/ clone
1155 requesting all changes
1156 requesting all changes
1156 adding changesets
1157 adding changesets
1157 adding manifests
1158 adding manifests
1158 adding file changes
1159 adding file changes
1159 added 1 changesets with 1 changes to 1 files
1160 added 1 changesets with 1 changes to 1 files
1160 new changesets 96ee1d7354c4
1161 new changesets 96ee1d7354c4
1161 updating to branch default
1162 updating to branch default
1162 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1163 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1163
1164
1164 $ killdaemons.py $DAEMON_PIDS
1165 $ killdaemons.py $DAEMON_PIDS
1165
1166
1166 #if py36
1167 #if py36
1167 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -20
1168 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -20
1168 sendall(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1169 sendall(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1169 sendall(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1170 sendall(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1170 sendall(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1171 sendall(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1171 sendall(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1172 sendall(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1172 sendall(473 from 473) -> (206) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1173 sendall(473 from 473) -> (206) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1173 sendall(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1174 sendall(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1174 sendall(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1175 sendall(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1175 sendall(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1176 sendall(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1176 sendall(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1177 sendall(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1177 sendall(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1178 sendall(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1178 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1179 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1179 sendall(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1180 sendall(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1180 sendall(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1181 sendall(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1181 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1182 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1182 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1183 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1183 write limit reached; closing socket
1184 write limit reached; closing socket
1184 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1185 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1185 Traceback (most recent call last):
1186 Traceback (most recent call last):
1186 Exception: connection closed after sending N bytes
1187 Exception: connection closed after sending N bytes
1187
1188
1188
1189
1189 #else
1190 #else
1190 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1191 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1191 write(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1192 write(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1192 write(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1193 write(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1193 write(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1194 write(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1194 write(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1195 write(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1195 write(473 from 473) -> (206) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1196 write(473 from 473) -> (206) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1196 write(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1197 write(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1197 write(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1198 write(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1198 write(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1199 write(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1199 write(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1200 write(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1200 write(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1201 write(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1201 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1202 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1202 write(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1203 write(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1203 write(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1204 write(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1204 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1205 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1205 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1206 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1206 write limit reached; closing socket
1207 write limit reached; closing socket
1207 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1208 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1208 Traceback (most recent call last):
1209 Traceback (most recent call last):
1209 Exception: connection closed after sending N bytes
1210 Exception: connection closed after sending N bytes
1210
1211
1211 write(27) -> 15\r\nInternal Server Error\r\n
1212 write(27) -> 15\r\nInternal Server Error\r\n
1212 #endif
1213 #endif
1213
1214
1214 $ rm -f error.log
1215 $ rm -f error.log
1215 $ rm -rf clone
1216 $ rm -rf clone
1216
1217
1217 Server sends a size 0 chunked-transfer size without terminating \r\n
1218 Server sends a size 0 chunked-transfer size without terminating \r\n
1218
1219
1219 $ hg serve --config badserver.closeaftersendbytes=1739 -p $HGPORT -d --pid-file=hg.pid -E error.log
1220 $ hg serve --config badserver.closeaftersendbytes=1739 -p $HGPORT -d --pid-file=hg.pid -E error.log
1220 $ cat hg.pid > $DAEMON_PIDS
1221 $ cat hg.pid > $DAEMON_PIDS
1221
1222
1222 $ hg clone http://localhost:$HGPORT/ clone
1223 $ hg clone http://localhost:$HGPORT/ clone
1223 requesting all changes
1224 requesting all changes
1224 adding changesets
1225 adding changesets
1225 adding manifests
1226 adding manifests
1226 adding file changes
1227 adding file changes
1227 added 1 changesets with 1 changes to 1 files
1228 added 1 changesets with 1 changes to 1 files
1228 new changesets 96ee1d7354c4
1229 new changesets 96ee1d7354c4
1229 updating to branch default
1230 updating to branch default
1230 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1231 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1231
1232
1232 $ killdaemons.py $DAEMON_PIDS
1233 $ killdaemons.py $DAEMON_PIDS
1233
1234
1234 #if py36
1235 #if py36
1235 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1236 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1236 sendall(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1237 sendall(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1237 sendall(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1238 sendall(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1238 sendall(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1239 sendall(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1239 sendall(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1240 sendall(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1240 sendall(473 from 473) -> (209) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1241 sendall(473 from 473) -> (209) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1241 sendall(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1242 sendall(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1242 sendall(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1243 sendall(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1243 sendall(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1244 sendall(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1244 sendall(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1245 sendall(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1245 sendall(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1246 sendall(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1246 sendall(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1247 sendall(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1247 sendall(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1248 sendall(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1248 sendall(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1249 sendall(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1249 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1250 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1250 sendall(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1251 sendall(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1251 sendall(3 from 5) -> (0) 0\r\n
1252 sendall(3 from 5) -> (0) 0\r\n
1252 write limit reached; closing socket
1253 write limit reached; closing socket
1253 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1254 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1254 Traceback (most recent call last):
1255 Traceback (most recent call last):
1255 Exception: connection closed after sending N bytes
1256 Exception: connection closed after sending N bytes
1256
1257
1257
1258
1258 #else
1259 #else
1259 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -22
1260 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -22
1260 write(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1261 write(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1261 write(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1262 write(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1262 write(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1263 write(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1263 write(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1264 write(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1264 write(473 from 473) -> (209) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1265 write(473 from 473) -> (209) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\\r\\n (esc)
1265 write(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1266 write(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1266 write(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1267 write(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1267 write(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1268 write(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1268 write(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1269 write(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1269 write(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1270 write(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1270 write(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1271 write(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1271 write(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1272 write(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1272 write(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1273 write(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1273 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1274 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1274 write(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1275 write(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1275 write(3 from 5) -> (0) 0\r\n
1276 write(3 from 5) -> (0) 0\r\n
1276 write limit reached; closing socket
1277 write limit reached; closing socket
1277 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1278 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1278 Traceback (most recent call last):
1279 Traceback (most recent call last):
1279 Exception: connection closed after sending N bytes
1280 Exception: connection closed after sending N bytes
1280
1281
1281 write(27) -> 15\r\nInternal Server Error\r\n
1282 write(27) -> 15\r\nInternal Server Error\r\n
1282 #endif
1283 #endif
1283
1284
1284 $ rm -f error.log
1285 $ rm -f error.log
1285 $ rm -rf clone
1286 $ rm -rf clone
General Comments 0
You need to be logged in to leave comments. Login now