make -C tools/testing/selftests TARGETS="net/mptcp" TEST_PROGS=mptcp_conneect.sh TEST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-12/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-12/tools/testing/selftests/net/mptcp' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-12/tools/testing/selftests/net/mptcp' make[1]: Entering directory '/home/virtme/testing-12/tools/testing/selftests/net/mptcp' TAP version 13 1..1 # overriding timeout to 3600 # selftests: net/mptcp: mptcp_connect.sh # Created /tmp/tmp.0mGo72lscE (size 7074628 B) containing data sent by client # Created /tmp/tmp.NDBd38p0Ym (size 1590580 B) containing data sent by server # 01 New MPTCP socket can be blocked via sysctl [ OK ] # 02 Validating network environment with pings [ OK ] # INFO: Using loss of 0.07% delay 34 ms reorder 94% 86% with delay 8ms on ns3eth4 # 03 ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 420ms) [ OK ] # 04 ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 386ms) [ OK ] # 05 ns1 TCP -> ns1 (10.0.1.1:10002 ) MPTCP (duration 375ms) [ OK ] # 06 ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP (duration 449ms) [ OK ] # 07 ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP (duration 327ms) [ OK ] # 08 ns1 TCP -> ns1 (dead:beef:1::1:10005) MPTCP (duration 385ms) [ OK ] # 09 ns1 MPTCP -> ns2 (10.0.1.2:10006 ) MPTCP (duration 890ms) [ OK ] # 10 ns1 MPTCP -> ns2 (dead:beef:1::2:10007) MPTCP (duration 898ms) [ OK ] # 11 ns1 MPTCP -> ns2 (10.0.2.1:10008 ) MPTCP (duration 881ms) [ OK ] # 12 ns1 MPTCP -> ns2 (dead:beef:2::1:10009) MPTCP (duration 920ms) [ OK ] # 13 ns1 MPTCP -> ns3 (10.0.2.2:10010 ) MPTCP (duration 887ms) [ OK ] # 14 ns1 MPTCP -> ns3 (dead:beef:2::2:10011) MPTCP (duration 804ms) [ OK ] # 15 ns1 MPTCP -> ns3 (10.0.3.2:10012 ) MPTCP (duration 1044ms) [ OK ] # 16 ns1 MPTCP -> ns3 (dead:beef:3::2:10013) MPTCP (duration 1019ms) [ OK ] # 17 ns1 MPTCP -> ns4 (10.0.3.1:10014 ) MPTCP (duration 841ms) [ OK ] # 18 ns1 MPTCP -> ns4 (dead:beef:3::1:10015) MPTCP (duration 1054ms) [ OK ] # 19 ns2 MPTCP -> ns1 (10.0.1.1:10016 ) MPTCP (duration 879ms) [ OK ] # 20 ns2 MPTCP -> ns1 (dead:beef:1::1:10017) MPTCP (duration 911ms) [ OK ] # 21 ns2 MPTCP -> ns3 (10.0.2.2:10018 ) MPTCP (duration 843ms) [ OK ] # 22 ns2 MPTCP -> ns3 (dead:beef:2::2:10019) MPTCP (duration 852ms) [ OK ] # 23 ns2 MPTCP -> ns3 (10.0.3.2:10020 ) MPTCP (duration 806ms) [ OK ] # 24 ns2 MPTCP -> ns3 (dead:beef:3::2:10021) MPTCP (duration 821ms) [ OK ] # 25 ns2 MPTCP -> ns4 (10.0.3.1:10022 ) MPTCP (duration 949ms) [ OK ] # 26 ns2 MPTCP -> ns4 (dead:beef:3::1:10023) MPTCP (duration 846ms) [ OK ] # 27 ns3 MPTCP -> ns1 (10.0.1.1:10024 ) MPTCP (duration 890ms) [ OK ] # 28 ns3 MPTCP -> ns1 (dead:beef:1::1:10025) MPTCP (duration 1226ms) [ OK ] # 29 ns3 MPTCP -> ns2 (10.0.1.2:10026 ) MPTCP (duration 2106ms) [ OK ] # 30 ns3 MPTCP -> ns2 (dead:beef:1::2:10027) MPTCP (duration 808ms) [ OK ] # 31 ns3 MPTCP -> ns2 (10.0.2.1:10028 ) MPTCP (duration 1075ms) [ OK ] # 32 ns3 MPTCP -> ns2 (dead:beef:2::1:10029) MPTCP (duration 945ms) [ OK ] # 33 ns3 MPTCP -> ns4 (10.0.3.1:10030 ) MPTCP (duration 865ms) [ OK ] # 34 ns3 MPTCP -> ns4 (dead:beef:3::1:10031) MPTCP (duration 918ms) [ OK ] # 35 ns4 MPTCP -> ns1 (10.0.1.1:10032 ) MPTCP (duration 1086ms) [ OK ] # 36 ns4 MPTCP -> ns1 (dead:beef:1::1:10033) MPTCP (duration 1207ms) [ OK ] # 37 ns4 MPTCP -> ns2 (10.0.1.2:10034 ) MPTCP (duration 1270ms) [ OK ] # 38 ns4 MPTCP -> ns2 (dead:beef:1::2:10035) MPTCP (duration 1126ms) [ OK ] # 39 ns4 MPTCP -> ns2 (10.0.2.1:10036 ) MPTCP (duration 1172ms) [ OK ] # 40 ns4 MPTCP -> ns2 (dead:beef:2::1:10037) MPTCP (duration 1172ms) [ OK ] # 41 ns4 MPTCP -> ns3 (10.0.2.2:10038 ) MPTCP (duration 914ms) [ OK ] # 42 ns4 MPTCP -> ns3 (dead:beef:2::2:10039) MPTCP (duration 831ms) [ OK ] # 43 ns4 MPTCP -> ns3 (10.0.3.2:10040 ) MPTCP (duration 885ms) [ OK ] # 44 ns4 MPTCP -> ns3 (dead:beef:3::2:10041) MPTCP (duration 905ms) [ OK ] # INFO: with peek mode: saveWithPeek # 45 ns1 MPTCP -> ns1 (10.0.1.1:10042 ) MPTCP (duration 440ms) [ OK ] # 46 ns1 MPTCP -> ns1 (10.0.1.1:10043 ) TCP (duration 380ms) [ OK ] # 47 ns1 TCP -> ns1 (10.0.1.1:10044 ) MPTCP (duration 360ms) [ OK ] # 48 ns1 MPTCP -> ns1 (dead:beef:1::1:10045) MPTCP (duration 483ms) [ OK ] # 49 ns1 MPTCP -> ns1 (dead:beef:1::1:10046) TCP (duration 381ms) [ OK ] # 50 ns1 TCP -> ns1 (dead:beef:1::1:10047) MPTCP (duration 364ms) [ OK ] # INFO: with peek mode: saveAfterPeek # 51 ns1 MPTCP -> ns1 (10.0.1.1:10048 ) MPTCP (duration 410ms) [ OK ] # 52 ns1 MPTCP -> ns1 (10.0.1.1:10049 ) TCP (duration 407ms) [ OK ] # 53 ns1 TCP -> ns1 (10.0.1.1:10050 ) MPTCP (duration 377ms) [ OK ] # 54 ns1 MPTCP -> ns1 (dead:beef:1::1:10051) MPTCP (duration 465ms) [ OK ] # 55 ns1 MPTCP -> ns1 (dead:beef:1::1:10052) TCP (duration 396ms) [ OK ] # 56 ns1 TCP -> ns1 (dead:beef:1::1:10053) MPTCP (duration 458ms) [ OK ] # INFO: with MPTFO start # 57 ns2 MPTCP -> ns1 (10.0.1.1:10054 ) MPTCP (duration 925ms) [ OK ] # 58 ns2 MPTCP -> ns1 (10.0.1.1:10055 ) MPTCP (duration 1037ms) [ OK ] # 59 ns2 MPTCP -> ns1 (dead:beef:1::1:10056) MPTCP (duration 974ms) [ OK ] # 60 ns2 MPTCP -> ns1 (dead:beef:1::1:10057) MPTCP (duration 916ms) [ OK ] # INFO: with MPTFO end # INFO: test tproxy ipv4 # 61 ns1 MPTCP -> ns2 (10.0.3.1:20000 ) MPTCP (duration 932ms) [ OK ] # INFO: tproxy ipv4 pass # INFO: test tproxy ipv6 # 62 ns1 MPTCP -> ns2 (dead:beef:3::1:20000) MPTCP (duration 1139ms) [ OK ] # INFO: tproxy ipv6 pass # INFO: disconnect # 63 ns1 MPTCP -> ns1 (10.0.1.1:20001 ) MPTCP (duration 1423ms) [ OK ] # 64 ns1 MPTCP -> ns1 (10.0.1.1:20002 ) TCP (duration 1089ms) [ OK ] # 65 ns1 TCP -> ns1 (10.0.1.1:20003 ) MPTCP (duration 1079ms) [ OK ] # 66 ns1 MPTCP -> ns1 (dead:beef:1::1:20004) MPTCP (duration 1331ms) [ OK ] # 67 ns1 MPTCP -> ns1 (dead:beef:1::1:20005) TCP (duration 994ms) [ OK ] # 68 ns1 TCP -> ns1 (dead:beef:1::1:20006) MPTCP copyfd_io_poll: poll timed out (events: POLLIN 0, POLLOUT 4) # copyfd_io_poll: poll timed out (events: POLLIN 1, POLLOUT 0) # (duration 32002ms) [FAIL] client exit code 2, server 0 # # netns ns1-b8iSl8 (listener) socket stat for 20006: # Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port # tcp FIN-WAIT-2 0 0 [dead:beef:1::1]:20006 [dead:beef:1::1]:50004 timer:(timewait,59sec,0) ino:0 sk:a # # tcp TIME-WAIT 0 0 [dead:beef:1::1]:20006 [dead:beef:1::1]:49992 timer:(timewait,28sec,0) ino:0 sk:b # # TcpActiveOpens 3 0.0 # TcpPassiveOpens 3 0.0 # TcpInSegs 1367 0.0 # TcpOutSegs 1352 0.0 # TcpRetransSegs 21 0.0 # TcpExtPruneCalled 12 0.0 # TcpExtRcvPruned 10 0.0 # TcpExtTW 3 0.0 # TcpExtBeyondWindow 10 0.0 # TcpExtDelayedACKs 1 0.0 # TcpExtDelayedACKLost 5 0.0 # TcpExtTCPHPHits 30 0.0 # TcpExtTCPPureAcks 413 0.0 # TcpExtTCPHPAcks 24 0.0 # TcpExtTCPSackRecovery 5 0.0 # TcpExtTCPLostRetransmit 1 0.0 # TcpExtTCPFastRetrans 7 0.0 # TcpExtTCPSlowStartRetrans 1 0.0 # TcpExtTCPTimeouts 2 0.0 # TcpExtTCPLossProbes 11 0.0 # TcpExtTCPLossProbeRecovery 2 0.0 # TcpExtTCPSackRecoveryFail 1 0.0 # TcpExtTCPRcvCollapsed 650 0.0 # TcpExtTCPBacklogCoalesce 146 0.0 # TcpExtTCPDSACKOldSent 5 0.0 # TcpExtTCPDSACKRecv 4 0.0 # TcpExtTCPDSACKIgnoredNoUndo 1 0.0 # TcpExtTCPSackMerged 1 0.0 # TcpExtTCPSackShiftFallback 6 0.0 # TcpExtTCPRcvCoalesce 420 0.0 # TcpExtTCPOFOQueue 7 0.0 # TcpExtTCPOFODrop 2 0.0 # TcpExtTCPFromZeroWindowAdv 59 0.0 # TcpExtTCPToZeroWindowAdv 52 0.0 # TcpExtTCPWantZeroWindowAdv 218 0.0 # TcpExtTCPOrigDataSent 884 0.0 # TcpExtTCPHystartTrainDetect 1 0.0 # TcpExtTCPHystartTrainCwnd 17 0.0 # TcpExtTCPACKSkippedSeq 1 0.0 # TcpExtTCPWinProbe 7 0.0 # TcpExtTCPDelivered 891 0.0 # TcpExtTCPRcvQDrop 7 0.0 # TcpExtTcpTimeoutRehash 2 0.0 # TcpExtTCPDSACKRecvSegs 4 0.0 # # netns ns1-b8iSl8 (connector) socket stat for 20006: # Failed to find cgroup2 mount # Failed to find cgroup2 mount # Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port # tcp TIME-WAIT 0 0 [dead:beef:1::1]:49988 [dead:beef:1::1]:20006 timer:(timewait,28sec,0) ino:0 sk:1010 # # tcp LAST-ACK 0 1727425 [dead:beef:1::1]:50004 [dead:beef:1::1]:20006 timer:(persist,21sec,0) ino:0 sk:1011 cgroup:unreachable:1 --- # skmem:(r0,rb914032,t0,tb2626560,f2496,w1758784,o0,bl0,d43) ts sack cubic wscale:7,7 rto:201 backoff:7 rtt:0.899/0.763 ato:40 mss:58432 pmtu:65536 rcvmss:65464 advmss:65464 cwnd:7 ssthresh:7 bytes_sent:3172480 bytes_retrans:58432 bytes_acked:3114049 bytes_received:7074629 segs_out:149 segs_in:202 data_segs_out:79 data_segs_in:140 send 3639813126bps lastsnd:30839 lastrcv:31029 lastack:4361 pacing_rate 4366561464bps delivery_rate 2291450976bps delivered:79 busy:31457ms rwnd_limited:31205ms(99.2%) retrans:0/1 rcv_rtt:0.6 rcv_space:654640 rcv_ssthresh:843008 notsent:1727425 minrtt:0.089 rcv_wnd:843008 # # [FAIL] Tests of the full disconnection have failed # Time: 440 seconds # # TAP version 13 # 1..68 # ok 1 - mptcp_connect: New MPTCP socket can be blocked via sysctl # time=2041ms # ok 2 - mptcp_connect: ping tests # time=8909ms # ok 3 - mptcp_connect: loopback v4: ns1 MPTCP -> ns1 (10.0.1.1:10000) MPTCP # time=5629ms # ok 4 - mptcp_connect: loopback v4: ns1 MPTCP -> ns1 (10.0.1.1:10001) TCP # time=5284ms # ok 5 - mptcp_connect: loopback v4: ns1 TCP -> ns1 (10.0.1.1:10002) MPTCP # time=4929ms # ok 6 - mptcp_connect: loopback v6: ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP # time=5132ms # ok 7 - mptcp_connect: loopback v6: ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP # time=5161ms # ok 8 - mptcp_connect: loopback v6: ns1 TCP -> ns1 (dead:beef:1::1:10005) MPTCP # time=5082ms # ok 9 - mptcp_connect: multihosts: ns1 MPTCP -> ns2 (10.0.1.2:10006) MPTCP # time=6179ms # ok 10 - mptcp_connect: multihosts: ns1 MPTCP -> ns2 (dead:beef:1::2:10007) MPTCP # time=5956ms # ok 11 - mptcp_connect: multihosts: ns1 MPTCP -> ns2 (10.0.2.1:10008) MPTCP # time=6104ms # ok 12 - mptcp_connect: multihosts: ns1 MPTCP -> ns2 (dead:beef:2::1:10009) MPTCP # time=6052ms # ok 13 - mptcp_connect: multihosts: ns1 MPTCP -> ns3 (10.0.2.2:10010) MPTCP # time=6023ms # ok 14 - mptcp_connect: multihosts: ns1 MPTCP -> ns3 (dead:beef:2::2:10011) MPTCP # time=5845ms # ok 15 - mptcp_connect: multihosts: ns1 MPTCP -> ns3 (10.0.3.2:10012) MPTCP # time=6130ms # ok 16 - mptcp_connect: multihosts: ns1 MPTCP -> ns3 (dead:beef:3::2:10013) MPTCP # time=6245ms # ok 17 - mptcp_connect: multihosts: ns1 MPTCP -> ns4 (10.0.3.1:10014) MPTCP # time=5910ms # ok 18 - mptcp_connect: multihosts: ns1 MPTCP -> ns4 (dead:beef:3::1:10015) MPTCP # time=6183ms # ok 19 - mptcp_connect: multihosts: ns2 MPTCP -> ns1 (10.0.1.1:10016) MPTCP # time=6118ms # ok 20 - mptcp_connect: multihosts: ns2 MPTCP -> ns1 (dead:beef:1::1:10017) MPTCP # time=6004ms # ok 21 - mptcp_connect: multihosts: ns2 MPTCP -> ns3 (10.0.2.2:10018) MPTCP # time=5947ms # ok 22 - mptcp_connect: multihosts: ns2 MPTCP -> ns3 (dead:beef:2::2:10019) MPTCP # time=5972ms # ok 23 - mptcp_connect: multihosts: ns2 MPTCP -> ns3 (10.0.3.2:10020) MPTCP # time=5945ms # ok 24 - mptcp_connect: multihosts: ns2 MPTCP -> ns3 (dead:beef:3::2:10021) MPTCP # time=5982ms # ok 25 - mptcp_connect: multihosts: ns2 MPTCP -> ns4 (10.0.3.1:10022) MPTCP # time=6081ms # ok 26 - mptcp_connect: multihosts: ns2 MPTCP -> ns4 (dead:beef:3::1:10023) MPTCP # time=6024ms # ok 27 - mptcp_connect: multihosts: ns3 MPTCP -> ns1 (10.0.1.1:10024) MPTCP # time=6092ms # ok 28 - mptcp_connect: multihosts: ns3 MPTCP -> ns1 (dead:beef:1::1:10025) MPTCP # time=6308ms # ok 29 - mptcp_connect: multihosts: ns3 MPTCP -> ns2 (10.0.1.2:10026) MPTCP # time=7155ms # ok 30 - mptcp_connect: multihosts: ns3 MPTCP -> ns2 (dead:beef:1::2:10027) MPTCP # time=5918ms # ok 31 - mptcp_connect: multihosts: ns3 MPTCP -> ns2 (10.0.2.1:10028) MPTCP # time=6184ms # ok 32 - mptcp_connect: multihosts: ns3 MPTCP -> ns2 (dead:beef:2::1:10029) MPTCP # time=5951ms # ok 33 - mptcp_connect: multihosts: ns3 MPTCP -> ns4 (10.0.3.1:10030) MPTCP # time=6001ms # ok 34 - mptcp_connect: multihosts: ns3 MPTCP -> ns4 (dead:beef:3::1:10031) MPTCP # time=6235ms # ok 35 - mptcp_connect: multihosts: ns4 MPTCP -> ns1 (10.0.1.1:10032) MPTCP # time=6522ms # ok 36 - mptcp_connect: multihosts: ns4 MPTCP -> ns1 (dead:beef:1::1:10033) MPTCP # time=6392ms # ok 37 - mptcp_connect: multihosts: ns4 MPTCP -> ns2 (10.0.1.2:10034) MPTCP # time=6573ms # ok 38 - mptcp_connect: multihosts: ns4 MPTCP -> ns2 (dead:beef:1::2:10035) MPTCP # time=6170ms # ok 39 - mptcp_connect: multihosts: ns4 MPTCP -> ns2 (10.0.2.1:10036) MPTCP # time=6249ms # ok 40 - mptcp_connect: multihosts: ns4 MPTCP -> ns2 (dead:beef:2::1:10037) MPTCP # time=6322ms # ok 41 - mptcp_connect: multihosts: ns4 MPTCP -> ns3 (10.0.2.2:10038) MPTCP # time=5914ms # ok 42 - mptcp_connect: multihosts: ns4 MPTCP -> ns3 (dead:beef:2::2:10039) MPTCP # time=5886ms # ok 43 - mptcp_connect: multihosts: ns4 MPTCP -> ns3 (10.0.3.2:10040) MPTCP # time=5978ms # ok 44 - mptcp_connect: multihosts: ns4 MPTCP -> ns3 (dead:beef:3::2:10041) MPTCP # time=5956ms # ok 45 - mptcp_connect: peek mode: saveWithPeek: ns1 MPTCP -> ns1 (10.0.1.1:10042) MPTCP # time=5031ms # ok 46 - mptcp_connect: peek mode: saveWithPeek: ns1 MPTCP -> ns1 (10.0.1.1:10043) TCP # time=5016ms # ok 47 - mptcp_connect: peek mode: saveWithPeek: ns1 TCP -> ns1 (10.0.1.1:10044) MPTCP # time=5004ms # ok 48 - mptcp_connect: peek mode: saveWithPeek: ns1 MPTCP -> ns1 (dead:beef:1::1:10045) MPTCP # time=5234ms # ok 49 - mptcp_connect: peek mode: saveWithPeek: ns1 MPTCP -> ns1 (dead:beef:1::1:10046) TCP # time=5196ms # ok 50 - mptcp_connect: peek mode: saveWithPeek: ns1 TCP -> ns1 (dead:beef:1::1:10047) MPTCP # time=5007ms # ok 51 - mptcp_connect: peek mode: saveAfterPeek: ns1 MPTCP -> ns1 (10.0.1.1:10048) MPTCP # time=5113ms # ok 52 - mptcp_connect: peek mode: saveAfterPeek: ns1 MPTCP -> ns1 (10.0.1.1:10049) TCP # time=5158ms # ok 53 - mptcp_connect: peek mode: saveAfterPeek: ns1 TCP -> ns1 (10.0.1.1:10050) MPTCP # time=5219ms # ok 54 - mptcp_connect: peek mode: saveAfterPeek: ns1 MPTCP -> ns1 (dead:beef:1::1:10051) MPTCP # time=5240ms # ok 55 - mptcp_connect: peek mode: saveAfterPeek: ns1 MPTCP -> ns1 (dead:beef:1::1:10052) TCP # time=5319ms # ok 56 - mptcp_connect: peek mode: saveAfterPeek: ns1 TCP -> ns1 (dead:beef:1::1:10053) MPTCP # time=5245ms # ok 57 - mptcp_connect: MPTFO: ns2 MPTCP -> ns1 (10.0.1.1:10054) MPTCP # time=6632ms # ok 58 - mptcp_connect: MPTFO: ns2 MPTCP -> ns1 (10.0.1.1:10055) MPTCP # time=6293ms # ok 59 - mptcp_connect: MPTFO: ns2 MPTCP -> ns1 (dead:beef:1::1:10056) MPTCP # time=6443ms # ok 60 - mptcp_connect: MPTFO: ns2 MPTCP -> ns1 (dead:beef:1::1:10057) MPTCP # time=6169ms # ok 61 - mptcp_connect: tproxy ipv4: ns1 MPTCP -> ns2 (10.0.3.1:20000) MPTCP # time=8354ms # ok 62 - mptcp_connect: tproxy ipv6: ns1 MPTCP -> ns2 (dead:beef:3::1:20000) MPTCP # time=7522ms # ok 63 - mptcp_connect: full disconnect: ns1 MPTCP -> ns1 (10.0.1.1:20001) MPTCP # time=6960ms # ok 64 - mptcp_connect: full disconnect: ns1 MPTCP -> ns1 (10.0.1.1:20002) TCP # time=5884ms # ok 65 - mptcp_connect: full disconnect: ns1 TCP -> ns1 (10.0.1.1:20003) MPTCP # time=5898ms # ok 66 - mptcp_connect: full disconnect: ns1 MPTCP -> ns1 (dead:beef:1::1:20004) MPTCP # time=6127ms # ok 67 - mptcp_connect: full disconnect: ns1 MPTCP -> ns1 (dead:beef:1::1:20005) TCP # time=5872ms # not ok 68 - mptcp_connect: full disconnect: ns1 TCP -> ns1 (dead:beef:1::1:20006) MPTCP # time=35515ms not ok 1 selftests: net/mptcp: mptcp_connect.sh # exit=1 make[1]: Leaving directory '/home/virtme/testing-12/tools/testing/selftests/net/mptcp' make: Leaving directory '/home/virtme/testing-12/tools/testing/selftests' xx__-> echo $? 0 xx__-> echo scan > /sys/kernel/debug/kmemleak && cat /sys/kernel/debug/kmemleak xx__-> echo scan > /sys/kernel/debug/kmemleak && cat /sys/kernel/debug/kmemleak xx__->