does not look like this patch skips any tests? On Sun, Sep 06, 2026 at 12:53:34PM +0400, Marc-André Lureau wrote: > Running vhost-user-bridge built with ASAN with stdbuf dies: > ==2431898==ASan runtime does not come first in initial library list; you > should either link runtime to your application or manually preload it > with LD_PRELOAD.
so it dies but why? judging by below because of stdbuf? pls describe the fix not just the problem. > Signed-off-by: Marc-André Lureau <[email protected]> > --- > tests/functional/x86_64/test_vhost_user_bridge.py | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/tests/functional/x86_64/test_vhost_user_bridge.py > b/tests/functional/x86_64/test_vhost_user_bridge.py > index c36c62542053..5fedf61c5e72 100755 > --- a/tests/functional/x86_64/test_vhost_user_bridge.py > +++ b/tests/functional/x86_64/test_vhost_user_bridge.py > @@ -73,12 +73,25 @@ def configure_vm(self, ud_socket_path, lport, rport, > hostfwd_port, tftpdir): > "-netdev", "hubport,id=hub1,hubid=0,netdev=user0" > ) > > + @staticmethod > + def _is_asan_linked(binary_path): > + try: > + output = subprocess.check_output( > + ["ldd", binary_path], stderr=subprocess.DEVNULL, text=True) > + return "libasan" in output this is quite a hack > + except (subprocess.CalledProcessError, FileNotFoundError): > + return False > + > def assemble_vubr_args(self, vubr_path, ud_socket_path, lport, rport): > vubr_args = [] > > if (stdbuf_path := which("stdbuf")) is None: > self.log.info("Could not find stdbuf: vhost-user-bridge " > "log lines may appear out of order") > + elif self._is_asan_linked(vubr_path): > + self.log.info("vhost-user-bridge is ASan-linked: skipping " > + "stdbuf to avoid LD_PRELOAD conflict, " > + "log lines may appear out of order") > else: > vubr_args += [stdbuf_path, "-o0", "-e0"] > maybe just avoid stdbuf completely. i don't remember why we use it, but it looks like merely to disable buffering for stdout? If so: setvbuf(stdout, NULL, _IONBF, 0); will do just that with no asan issues. > -- > 2.55.0.543.g5ebe2ebe4ea8 > >
