• Levin Zimmermann's avatar
    wcfs/tests: Handle ECONNABORTED/ENOTCONN race in FUSE connection termination · ca119d6e
    Levin Zimmermann authored and Kirill Smelkov's avatar Kirill Smelkov committed
    On kernel 5.10.0-10-amd64, wcfs tests intermittently fail due to
    inconsistent FUSE error codes when the filesystem daemon is killed.
    Some read operations receive ECONNABORTED while others receive
    ENOTCONN, causing test assertions to fail.
    
    The inconsistency was observed on an older kernel (5.10.x)
    but not on a newer kernel (6.1.0-40-amd64+), suggesting the race
    has been fixed in later kernel versions.
    
    [1] Traceback is:
    
        ______________________________ test_start_after_crash _______________________________
    
            @func
            def test_start_after_crash():
                zurl  = testzurl
                mntpt = testmntpt
    
        >       wc = start_and_crash_wcfs(zurl, mntpt)
    
        wcfs/wcfs_test.py:214:
        _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
        zurl = 'file:///srv/slapgrid/slappart77/tmp/testdb_fs.wYO8Fy/1.fs', mntpt = '/dev/shm/wcfs/306b2220fc0d6299336a7d2279556c07d48a868a'
    
           ...
    ca119d6e