* CI failures on nipa
@ 2026-08-13 7:57 Paolo Abeni
2026-08-13 8:59 ` gang.yan
2026-08-13 9:15 ` Matthieu Baerts
0 siblings, 2 replies; 5+ messages in thread
From: Paolo Abeni @ 2026-08-13 7:57 UTC (permalink / raw)
To: Matthieu Baerts (NGI0); +Cc: MPTCP Linux
Hi,
I'm looking at this one:
https://netdev-ctrl.bots.linux.dev/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/
the output is strange:
https://netdev-ctrl.bots.linux.dev/logview.html?f=/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/stdout#L114
the first nstat dump includes apparently the counters from all the
previous runs, which is unexpected: the nstat_init/nstat_get/pr_nstat
dance should allow showing the data from current run only right?
Also I think mptcp_lib_wait_timeout completes too late (after ~60 secs),
when the listener already bailed out due to accept timeout (after ~30
secs), so it does not show any info on the listener side. I fear it may
also race with the actuall `timeout` command completion showing socket
states after the user-space program completion.
Judging on the final status, I *think*/*guess* the (re)connect is
hanged, possibly due to bad remote address?!? It could be useful to
print out on stderr the reconnect destination address.
/P
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: CI failures on nipa
2026-08-13 7:57 CI failures on nipa Paolo Abeni
@ 2026-08-13 8:59 ` gang.yan
2026-08-13 9:20 ` Matthieu Baerts
2026-08-13 9:15 ` Matthieu Baerts
1 sibling, 1 reply; 5+ messages in thread
From: gang.yan @ 2026-08-13 8:59 UTC (permalink / raw)
To: Paolo Abeni, Matthieu Baerts (NGI0); +Cc: MPTCP Linux
August 13, 2026 at 3:57 PM, "Paolo Abeni" <pabeni@redhat.com mailto:pabeni@redhat.com?to=%22Paolo%20Abeni%22%20%3Cpabeni%40redhat.com%3E > wrote:
>
> Hi,
>
> I'm looking at this one:
>
> https://netdev-ctrl.bots.linux.dev/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/
>
> the output is strange:
>
> https://netdev-ctrl.bots.linux.dev/logview.html?f=/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/stdout#L114
>
> the first nstat dump includes apparently the counters from all the
> previous runs, which is unexpected: the nstat_init/nstat_get/pr_nstat
> dance should allow showing the data from current run only right?
>
> Also I think mptcp_lib_wait_timeout completes too late (after ~60 secs),
> when the listener already bailed out due to accept timeout (after ~30
> secs), so it does not show any info on the listener side. I fear it may
> also race with the actuall `timeout` command completion showing socket
> states after the user-space program completion.
>
> Judging on the final status, I *think*/*guess* the (re)connect is
> hanged, possibly due to bad remote address?!? It could be useful to
> print out on stderr the reconnect destination address.
Hi Paolo,
That reminds me of an issue when I was reading mptcp_connect.c a long
time ago:
At the end of 'sock_connect_mptcp()', it calls 'freeaddrinfo(addr)',
the 'peer' pointer (which points into 'addr') remains. Later, the main loop
uses this peer pointer for reconnection attempts. If the memory has been freed
and reused, the address data could be overwritten, resulting in an invalid
remote address.
That might cause the hangs or failures you are seeing, right?
Thanks
Gang
>
> /P
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: CI failures on nipa
2026-08-13 7:57 CI failures on nipa Paolo Abeni
2026-08-13 8:59 ` gang.yan
@ 2026-08-13 9:15 ` Matthieu Baerts
1 sibling, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2026-08-13 9:15 UTC (permalink / raw)
To: Paolo Abeni; +Cc: MPTCP Linux
Hi Paolo,
On 13/08/2026 09:57, Paolo Abeni wrote:
> I'm looking at this one:
>
> https://netdev-ctrl.bots.linux.dev/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/
I was looking at that too, last night between two mosquitoes :)
> the output is strange:
>
> https://netdev-ctrl.bots.linux.dev/logview.html?f=/logs/vmksft/mptcp/results/776501/6-mptcp-connect-sh/stdout#L114
>
> the first nstat dump includes apparently the counters from all the
> previous runs, which is unexpected: the nstat_init/nstat_get/pr_nstat
> dance should allow showing the data from current run only right?
Ah yes, indeed. mptcp_lib_pr_nstat() is not looking at the nstat
history, taking data from the beginning instead of the last time
nstat_init was executed (same for mptcp_lib_get_counter()).
I can send a fix for that.
> Also I think mptcp_lib_wait_timeout completes too late (after ~60 secs),
> when the listener already bailed out due to accept timeout (after ~30
> secs), so it does not show any info on the listener side. I fear it may
> also race with the actuall `timeout` command completion showing socket
> states after the user-space program completion.
Do you mean you would like to have mptcp_lib_wait_timeout wait for less
than the accept timeout?
mptcp_lib_wait_timeout has been introduced to dump the counters when
mptcp_connect stalls, and even the poll timeout didn't help.
What about modifying mptcp_connect.c to dump counters -- only for its
netns -- before exiting in case of timeout?
> Judging on the final status, I *think*/*guess* the (re)connect is
> hanged, possibly due to bad remote address?!? It could be useful to
> print out on stderr the reconnect destination address.
Strange why would it be only visible now? But yes, as Gang said, it
looks like a free is done on the addresses in between.
(When I checked last night, I was initially thinking about an issue with
a Netdev pending patch -- maybe even one related to TCP as it was
visible even with connections from TCP to MPTCP -- because this wasn't
visible on our CI, but maybe not.)
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: CI failures on nipa
2026-08-13 8:59 ` gang.yan
@ 2026-08-13 9:20 ` Matthieu Baerts
2026-08-13 9:37 ` gang.yan
0 siblings, 1 reply; 5+ messages in thread
From: Matthieu Baerts @ 2026-08-13 9:20 UTC (permalink / raw)
To: gang.yan, Paolo Abeni; +Cc: MPTCP Linux
Hi Gang,
On 13/08/2026 10:59, gang.yan@linux.dev wrote:
> August 13, 2026 at 3:57 PM, "Paolo Abeni" <pabeni@redhat.com mailto:pabeni@redhat.com?to=%22Paolo%20Abeni%22%20%3Cpabeni%40redhat.com%3E > wrote:
(...)
>> Judging on the final status, I *think*/*guess* the (re)connect is
>> hanged, possibly due to bad remote address?!? It could be useful to
>> print out on stderr the reconnect destination address.
>
> Hi Paolo,
>
> That reminds me of an issue when I was reading mptcp_connect.c a long
> time ago:
>
> At the end of 'sock_connect_mptcp()', it calls 'freeaddrinfo(addr)',
> the 'peer' pointer (which points into 'addr') remains. Later, the main loop
> uses this peer pointer for reconnection attempts. If the memory has been freed
> and reused, the address data could be overwritten, resulting in an invalid
> remote address.
>
> That might cause the hangs or failures you are seeing, right?
Good catch!
Are you working on a fix for that? I guess we should copy the content,
not just the pointer. Or maybe we don't need to do this copy:
getaddrinfo() should return the same thing, no?
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: CI failures on nipa
2026-08-13 9:20 ` Matthieu Baerts
@ 2026-08-13 9:37 ` gang.yan
0 siblings, 0 replies; 5+ messages in thread
From: gang.yan @ 2026-08-13 9:37 UTC (permalink / raw)
To: Matthieu Baerts, Paolo Abeni; +Cc: MPTCP Linux
August 13, 2026 at 5:20 PM, "Matthieu Baerts" <matttbe@kernel.org mailto:matttbe@kernel.org?to=%22Matthieu%20Baerts%22%20%3Cmatttbe%40kernel.org%3E > wrote:
>
> Hi Gang,
>
> On 13/08/2026 10:59, gang.yan@linux.dev wrote:
>
> >
> > August 13, 2026 at 3:57 PM, "Paolo Abeni" <pabeni@redhat.com mailto:pabeni@redhat.com?to=%22Paolo%20Abeni%22%20%3Cpabeni%40redhat.com%3E > wrote:
> >
> (...)
>
> >
> > >
> > > Judging on the final status, I *think*/*guess* the (re)connect is
> > > hanged, possibly due to bad remote address?!? It could be useful to
> > > print out on stderr the reconnect destination address.
> > >
> >
> > Hi Paolo,
> >
> > That reminds me of an issue when I was reading mptcp_connect.c a long
> > time ago:
> >
> > At the end of 'sock_connect_mptcp()', it calls 'freeaddrinfo(addr)',
> > the 'peer' pointer (which points into 'addr') remains. Later, the main loop
> > uses this peer pointer for reconnection attempts. If the memory has been freed
> > and reused, the address data could be overwritten, resulting in an invalid
> > remote address.
> >
> > That might cause the hangs or failures you are seeing, right?
> >
> Good catch!
>
> Are you working on a fix for that? I guess we should copy the content,
> not just the pointer. Or maybe we don't need to do this copy:
> getaddrinfo() should return the same thing, no?
Hi Matt
I can working on this right now – and with the help of AI, I believe we can resolve
it quickly. :)
Thanks
Gang
>
> Cheers,
> Matt
> --
> Sponsored by the NGI0 Core fund.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-08-13 9:37 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 7:57 CI failures on nipa Paolo Abeni
2026-08-13 8:59 ` gang.yan
2026-08-13 9:20 ` Matthieu Baerts
2026-08-13 9:37 ` gang.yan
2026-08-13 9:15 ` Matthieu Baerts
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.