Project

General

Profile

Actions

Bug #19313

open

Leaked file descriptors while running test-all

Added by Eregon (Benoit Daloze) almost 2 years ago. Updated over 1 year ago.

Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-01-05T18:06:01Z master 54950a78e3) [x86_64-linux]
[ruby-core:111663]

Description

$ make test-all TESTOPTS="-j8"
Run options: 
  --seed=25187
  "--ruby=./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems"
  --excludes-dir=./test/excludes
  --name=!/memory_leak/
  -j8

# Running tests:

Skipping Gem::PackageTask tests.  rake not found.s_test_2 227226=test_mjit 227227=test_signal 227228=test_gem_comman          
Leaked file descriptor: TestFileUtils#test_chown_error: 11 #<File::Stat dev=0xfd00, ino=16777261, mode=0100664, nlink=1, uid=0, gid=0, rdev=0x0, size=9253600, blksize=4096, blocks=18080, atime=2023-01-05 18:16:02.96509764 +0100, mtime=2022-02-23 13:12:06.095215536 +0100, ctime=2022-02-23 13:12:06.095215536 +0100>
Leaked file descriptor: TestFileUtils#test_chown_error: 12 #<File::Stat dev=0xfd00, ino=16777274, mode=0100664, nlink=1, uid=0, gid=0, rdev=0x0, size=6940392, blksize=4096, blocks=13560, atime=2023-01-05 18:16:04.425114636 +0100, mtime=2022-02-23 13:13:58.955685143 +0100, ctime=2022-02-23 13:13:58.955685143 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME                                                               
ruby    227230 eregon   11r   REG  253,0  9253600 16777261 /var/lib/sss/mc/passwd
ruby    227230 eregon   12r   REG  253,0  6940392 16777274 /var/lib/sss/mc/group
Leaked file descriptor: Fiddle::TestFunc#test_qsort1: 12 #<File::Stat dev=0x1, ino=9463, mode=0100777, nlink=0, uid=1000, gid=1000, rdev=0x0, size=4096, blksize=4096, blocks=8, atime=2023-01-05 19:50:42.892803183 +0100, mtime=2023-01-05 19:50:42.892803183 +0100, ctime=2023-01-05 19:50:42.892803183 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME                                                                   
ruby    227225 eregon   12u   REG    0,1     4096 9463 /memfd:libffi (deleted)
Leaked file descriptor: TestFileExhaustive#test_expand_path_home_dir_string: 9 #<File::Stat dev=0xfd00, ino=16777261, mode=0100664, nlink=1, uid=0, gid=0, rdev=0x0, size=9253600, blksize=4096, blocks=18080, atime=2023-01-05 18:16:02.96509764 +0100, mtime=2022-02-23 13:12:06.095215536 +0100, ctime=2022-02-23 13:12:06.095215536 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME                                                               
ruby    227226 eregon    9r   REG  253,0  9253600 16777261 /var/lib/sss/mc/passwd
Leaked file descriptor: TestDir#test_home: 12 #<File::Stat dev=0xfd00, ino=16777261, mode=0100664, nlink=1, uid=0, gid=0, rdev=0x0, size=9253600, blksize=4096, blocks=18080, atime=2023-01-05 18:16:02.96509764 +0100, mtime=2022-02-23 13:12:06.095215536 +0100, ctime=2022-02-23 13:12:06.095215536 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME                                                               
ruby    227224 eregon   12r   REG  253,0  9253600 16777261 /var/lib/sss/mc/passwd
Leaked file descriptor: Fiddle::TestFunction#test_argument_count: 13 #<File::Stat dev=0x1, ino=13688, mode=0100777, nlink=0, uid=1000, gid=1000, rdev=0x0, size=4096, blksize=4096, blocks=8, atime=2023-01-05 19:50:49.882901778 +0100, mtime=2023-01-05 19:50:49.882901778 +0100, ctime=2023-01-05 19:50:49.882901778 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME                                                                  
ruby    227230 eregon   13u   REG    0,1     4096 13688 /memfd:libffi (deleted)
Leaked file descriptor: TestProcess#test_uid_from_name: 12 #<File::Stat dev=0xfd00, ino=16777261, mode=0100664, nlink=1, uid=0, gid=0, rdev=0x0, size=9253600, blksize=4096, blocks=18080, atime=2023-01-05 18:16:02.96509764 +0100, mtime=2022-02-23 13:12:06.095215536 +0100, ctime=2022-02-23 13:12:06.095215536 +0100>
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
ruby    227229 eregon   12r   REG  253,0  9253600 16777261 /var/lib/sss/mc/passwd
                                                       
Retrying...
Finished tests in 64.982686s, 360.4191 tests/s, 86076.9433 assertions/s.                    
23421 tests, 5593511 assertions, 0 failures, 0 errors, 156 skips

ruby -v: ruby 3.3.0dev (2023-01-05T18:06:01Z master 54950a78e3) [x86_64-linux]

On Fedora 37.

If this does not happen on Debian-based OS or macOS I guess it could be a glibc or maybe even a OS bug.

This doesn't cause test failures but makes the output quite noisy.
I have a few leaked descriptors for a while on Fedora when running test-all, also on previous Fedora versions.

Updated by luke-gru (Luke Gruber) over 1 year ago

This does not happen on Ubuntu 22.04 for me.
$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35

Actions

Also available in: Atom PDF

Like0
Like0