- vfs_pipe: components that use the "pipe" plug-in should make sure to
enable RTC (<libc rtc="/dev/rtc"...>)
as of 23.02 -- previously it would work without specifying an RTC path.
This made me curios because the nightly tests [1,2] for the vfs_pipe plugin do in fact not configure the rtc for the libc, yet are known to work.
There is one suspicion: The VFS changes in 23.02 foster the batching of I/O in the file-system session. When operating both sides of a pipe
..
completed write operation - we end up in a deadlock situation. May this be the case in your scenario?
In practice, such situations don't occur whenever both ends of one pipe are operated by different components - each using a distinct file-system session. But when interacting with a pipe behind a chain of VFS servers, stalling effects are plausible. But as I said, I'm just speculating.
Should you by any chance find a way to come up with a run script that shows the non-working behavior, I'd love to investigate it.
Just filed ticket #4951 Although... Now that we've discussed it, I see that: 1) it's a cross-component issue, in my case, which might rule out the intra-component deadlock you describe 2) it's not a deadlock anyhow, but a problem whereby write() always returns -1, it won't work no matter what I throw at it.
But the ticket is there if you still think it's worth investigating,
Cédric