Closed voxik closed 2 years ago
Please try using -T
and -t
options, they should help us here. And can you please upload somewhere the RPM files?
Being bored, this is small strace output:
$ strace -p 87550
strace: Process 87550 attached
restart_syscall(<... resuming interrupted read ...>) = 1
read(4, "\nElf file type is DYN (Shared ob"..., 32768) = 1732
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90331, si_uid=1000, si_status=0, si_utime=14, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90331, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90331
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90337
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nThere is no dynamic section in "..., 32768) = 43
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90337, si_uid=1000, si_status=0, si_utime=14, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90337, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90337
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90340
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nSymbol table '.symtab' contains"..., 32768) = 12288
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "T UND onigenc_with_ascii_strnic"..., 32768) = 1127
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90340, si_uid=1000, si_status=0, si_utime=12, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90340, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90340
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90343
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nString dump of section '.commen"..., 32768) = 95
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90343, si_uid=1000, si_status=0, si_utime=16, si_stime=0} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90343, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90343
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc8602a270) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc8602a270) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90346
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\n/tmp/rpmlint.ruby-libs-debuginf"..., 32768) = 1419
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90346, si_uid=1000, si_status=0, si_utime=15, si_stime=2} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90346, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90346
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 4
read(4, "0-7\n", 1024) = 4
close(4) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f766f7fe910, parent_tid=0x7f766f7fe910, exit_signal=0, stack=0x7f766effe000, stack_size=0x7fff00, tls=0x7f766f7fe640} => {parent_tid=[90349]}, 88) = 90349
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f76a57d4acc, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x561c8683a2a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f76a57d4ac8, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=4596783, tv_nsec=409612022}, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f768c001220, FUTEX_WAKE_PRIVATE, 1) = 1
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f7690ff8910, parent_tid=0x7f7690ff8910, exit_signal=0, stack=0x7f76907f8000, stack_size=0x7fff00, tls=0x7f7690ff8640} => {parent_tid=[90350]}, 88) = 90350
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f76a57d4acc, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x561c8681e450, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f768c001220, FUTEX_WAKE_PRIVATE, 1) = 1
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f766effd910, parent_tid=0x7f766effd910, exit_signal=0, stack=0x7f766e7fd000, stack_size=0x7fff00, tls=0x7f766effd640} => {parent_tid=[90351]}, 88) = 90351
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f76a57d4ac8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x561c862889c0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f766ffff910, parent_tid=0x7f766ffff910, exit_signal=0, stack=0x7f766f7ff000, stack_size=0x7fff00, tls=0x7f766ffff640} => {parent_tid=[90352]}, 88) = 90352
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f76a57d4ac8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x561c863ee8a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f768c001220, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ac8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x561c867b50f0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f76a57d4ac8, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=4596783, tv_nsec=416446562}, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f768c001220, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4acc, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f7674000d10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f76a57d4ad0, FUTEX_WAKE_PRIVATE, 1) = 0
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90353
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "There are 37 section headers, st"..., 32768) = 3728
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90353, si_uid=1000, si_status=0, si_utime=15, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90353, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90353
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90356
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nElf file type is DYN (Shared ob"..., 32768) = 1732
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90356, si_uid=1000, si_status=0, si_utime=14, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90356, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90356
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90359
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nThere is no dynamic section in "..., 32768) = 43
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90359, si_uid=1000, si_status=0, si_utime=14, si_stime=0} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90359, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90359
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90362
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nSymbol table '.symtab' contains"..., 32768) = 8192
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "14 __GNU_EH_FRAME_HDR\n 116: 00"..., 32768) = 1784
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90362, si_uid=1000, si_status=0, si_utime=15, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90362, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90362
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc86029ed0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90365
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nString dump of section '.commen"..., 32768) = 95
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = 2 ([{fd=4, revents=POLLHUP}, {fd=6, revents=POLLHUP}])
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=90365, si_uid=1000, si_status=0, si_utime=16, si_stime=1} ---
read(4, "", 32768) = 0
close(4) = 0
read(6, "", 32768) = 0
close(6) = 0
wait4(90365, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 90365
pipe2([4, 5], O_CLOEXEC) = 0
pipe2([6, 7], O_CLOEXEC) = 0
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(4, TCGETS, 0x7ffc8602a270) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
newfstatat(6, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
ioctl(6, TCGETS, 0x7ffc8602a270) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
pipe2([8, 9], O_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
vfork() = 90368
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(9) = 0
close(7) = 0
close(5) = 0
read(8, "", 50000) = 0
close(8) = 0
poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1^Cstrace: Process 87550 detached
<detached ...>
It seems it checks some elf properties in some inefficient manner. Can this be related to #780?
I guess you can get the files from this scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=80818741
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 623.93 99.0 201
TOTAL 630.19 100.00 17037
cProfile report:
13339907 function calls (13295273 primitive calls) in 631.753 seconds
Ordered by: cumulative time
List reduced from 1577 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 631.433 631.433 /usr/lib/python3.10/site-packages/rpmlint/lint.py:101(run)
1 0.000 0.000 631.433 631.433 /usr/lib/python3.10/site-packages/rpmlint/lint.py:58(_run)
1 0.003 0.003 631.415 631.415 /usr/lib/python3.10/site-packages/rpmlint/lint.py:214(validate_files)
34 0.000 0.000 631.411 18.571 /usr/lib/python3.10/site-packages/rpmlint/lint.py:252(validate_file)
34 0.006 0.000 630.188 18.535 /usr/lib/python3.10/site-packages/rpmlint/lint.py:268(run_checks)
561 0.008 0.000 627.597 1.119 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:14(check)
32 0.053 0.002 623.933 19.498 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:584(check_binary)
201 0.062 0.000 623.723 3.103 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
1275 0.036 0.000 622.423 0.488 /usr/lib64/python3.10/subprocess.py:460(run)
1275 0.024 0.000 620.069 0.486 /usr/lib64/python3.10/subprocess.py:1105(communicate)
1206 0.177 0.000 618.801 0.513 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
4460 0.100 0.000 618.150 0.139 /usr/lib64/python3.10/selectors.py:403(select)
4460 618.035 0.139 618.035 0.139 {method 'poll' of 'select.poll' objects}
201 0.008 0.000 518.752 2.581 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:348(__init__)
201 0.003 0.000 106.233 0.529 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:282(__init__)
201 0.195 0.001 106.230 0.529 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
201 0.002 0.000 104.143 0.518 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:148(__init__)
201 0.034 0.000 104.141 0.518 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:154(parse)
201 0.002 0.000 103.582 0.515 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:27(__init__)
201 0.027 0.000 103.580 0.515 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:33(parse_dwarf_compilation_units)
201 0.002 0.000 103.350 0.514 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:220(__init__)
201 0.022 0.000 103.340 0.514 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:227(parse)
201 0.001 0.000 103.105 0.513 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:319(__init__)
201 0.009 0.000 103.103 0.513 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:325(parse)
201 0.002 0.000 101.912 0.507 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:79(__init__)
201 0.057 0.000 101.910 0.507 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:86(parse)
224 0.028 0.000 3.355 0.015 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:38(check_binary)
29131 1.149 0.000 2.742 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:521(grep)
1276 0.098 0.000 2.291 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
1276 0.371 0.000 2.053 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
========================================================
13339907 function calls (13295273 primitive calls) in 631.753 seconds
Ordered by: call count
List reduced from 1577 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
4745087 1.999 0.000 1.999 0.000 {method 'search' of 're.Pattern' objects}
1007935 0.116 0.000 0.116 0.000 {method 'append' of 'list' objects}
979674 0.135 0.000 0.143 0.000 {built-in method builtins.isinstance}
705335 0.094 0.000 0.094 0.000 {method 'startswith' of 'str' objects}
380447 0.067 0.000 0.067 0.000 {built-in method sys.intern}
340364 0.025 0.000 0.025 0.000 {built-in method builtins.ord}
322139/311919 0.038 0.000 0.040 0.000 {built-in method builtins.len}
296159 0.089 0.000 0.089 0.000 {method 'group' of 're.Match' objects}
275320 0.061 0.000 0.061 0.000 {built-in method posix.fspath}
153506 0.073 0.000 0.073 0.000 {method 'encode' of 'str' objects}
144987/144936 0.030 0.000 0.040 0.000 /usr/lib/python3.10/site-packages/rpmlint/helpers.py:35(byte_to_string)
144017 0.045 0.000 0.045 0.000 {method 'match' of 're.Pattern' objects}
136127 0.254 0.000 0.408 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
116987 0.040 0.000 0.040 0.000 {method 'split' of 'str' objects}
114192 0.020 0.000 0.020 0.000 {method 'endswith' of 'str' objects}
93081 0.052 0.000 0.099 0.000 /usr/lib64/python3.10/codecs.py:319(decode)
93081 0.047 0.000 0.047 0.000 {built-in method _codecs.utf_8_decode}
92835 0.018 0.000 0.018 0.000 {method 'lstrip' of 'str' objects}
86713 0.010 0.000 0.010 0.000 {built-in method _stat.S_ISREG}
77082 0.052 0.000 0.070 0.000 /usr/lib64/python3.10/pathlib.py:239(splitroot)
75813 0.016 0.000 0.023 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
63678 0.015 0.000 0.015 0.000 {method '__exit__' of '_thread.lock' objects}
51111 0.010 0.000 0.014 0.000 /usr/lib/python3.10/site-packages/rpmlint/checks/DBusPolicyCheck.py:19(<genexpr>)
51022 0.016 0.000 0.016 0.000 {built-in method __new__ of type object at 0x7f6359c5c0a0}
50958 0.033 0.000 0.033 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
48914 0.014 0.000 0.014 0.000 {method 'join' of 'str' objects}
47622 0.037 0.000 0.135 0.000 /usr/lib64/python3.10/threading.py:264(__enter__)
47622 0.029 0.000 0.039 0.000 /usr/lib64/python3.10/threading.py:267(__exit__)
47357 0.270 0.000 0.469 0.000 /usr/lib64/python3.10/pathlib.py:56(parse_parts)
47357 0.005 0.000 0.005 0.000 {method 'reverse' of 'list' objects}
========================================================
13339907 function calls (13295273 primitive calls) in 631.753 seconds
Ordered by: internal time
List reduced from 1577 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
4460 618.035 0.139 618.035 0.139 {method 'poll' of 'select.poll' objects}
4745087 1.999 0.000 1.999 0.000 {method 'search' of 're.Pattern' objects}
15170/15020 1.180 0.000 1.182 0.000 {method 'read' of '_io.BufferedReader' objects}
29131 1.149 0.000 2.742 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:521(grep)
1276 0.838 0.001 0.838 0.001 {built-in method _posixsubprocess.fork_exec}
22373 0.827 0.000 0.827 0.000 {method 'acquire' of '_thread.lock' objects}
46506 0.427 0.000 0.546 0.000 {built-in method io.open}
33 0.376 0.011 1.531 0.046 /usr/lib/python3.10/site-packages/rpmlint/checks/FilesCheck.py:423(check)
1276 0.371 0.000 2.053 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
47357 0.270 0.000 0.469 0.000 /usr/lib64/python3.10/pathlib.py:56(parse_parts)
136127 0.254 0.000 0.408 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
201 0.195 0.001 106.230 0.529 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
1206 0.177 0.000 618.801 0.513 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
979674 0.135 0.000 0.143 0.000 {built-in method builtins.isinstance}
33 0.133 0.004 0.444 0.013 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:547(_gatherFilesInfo)
1007935 0.116 0.000 0.116 0.000 {method 'append' of 'list' objects}
4460 0.100 0.000 618.150 0.139 /usr/lib64/python3.10/selectors.py:403(select)
47356 0.099 0.000 0.606 0.000 /usr/lib64/python3.10/pathlib.py:567(_parse_args)
41994 0.099 0.000 0.151 0.000 /usr/lib64/python3.10/posixpath.py:71(join)
1276 0.098 0.000 2.291 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
705335 0.094 0.000 0.094 0.000 {method 'startswith' of 'str' objects}
21153 0.090 0.000 0.090 0.000 {method '__enter__' of '_thread.lock' objects}
19851 0.090 0.000 0.257 0.000 /usr/lib64/python3.10/threading.py:421(acquire)
37 0.089 0.002 0.089 0.002 {method 'read' of '_io.TextIOWrapper' objects}
296159 0.089 0.000 0.089 0.000 {method 'group' of 're.Match' objects}
10766/7937 0.084 0.000 0.129 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:128(has_forbidden_controlchars)
19851 0.082 0.000 1.124 0.000 /usr/lib64/python3.10/concurrent/futures/thread.py:155(submit)
21386 0.081 0.000 0.093 0.000 /usr/lib64/python3.10/threading.py:236(__init__)
17755 0.074 0.000 0.106 0.000 /usr/lib64/python3.10/posixpath.py:337(normpath)
153506 0.073 0.000 0.073 0.000 {method 'encode' of 'str' objects}
Just looking closer, 1275 subprocess calls must be expensive:
1275 0.036 0.000 622.423 0.488 /usr/lib64/python3.10/subprocess.py:460(run)
and that likely corresponds with the strace output
This should be good enough reproducer to demonstrate the issue:
$ curl -OL https://kojipkgs.fedoraproject.org//work/tasks/8741/80818741/ruby-libs-debuginfo-3.1.0-1.fc36.x86_64.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7666k 100 7666k 0 0 4904k 0 0:00:01 0:00:01 --:--:-- 4908k
$ rpmlint -t -T ./ruby-libs-debuginfo-3.1.0-1.fc36.x86_64.rpm
============================================================================================== rpmlint session starts =============================================================================================
rpmlint: 2.2.0
configuration:
/usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
/etc/xdg/rpmlint/fedora.toml
/etc/xdg/rpmlint/licenses.toml
/etc/xdg/rpmlint/scoring.toml
/etc/xdg/rpmlint/users-groups.toml
/etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: ruby.rpmlintrc
checks: 32, packages: 1
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):20: E: use-of-RPM_SOURCE_DIR$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-build_assert\)$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-check_type\)$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-container_of\)$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-list\)$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "^rubygem-bundler\.noarch: E: non-executable-script /usr/share/gems/gems/bundler-[\d\.]+/lib/bundler/templates/[\w/\.]+ 644 /usr/bin/env "
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "^ruby-libs\.\w+: E: missing-call-to-chdir-with-chroot /usr/lib(64)?/libruby.so.[\d/.]+$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "^ruby-libs\.\w+: E: shared-library-without-dependency-information /usr/lib(64)?/ruby/enc/gb2312.so$"
ruby-libs-debuginfo.x86_64: E: unused-rpmlintrc-filter "^ruby-libs\.\w+: W: library-not-linked-against-libc /usr/lib64/ruby/.+.so$"
ruby-libs-debuginfo.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib/debug/usr/lib64/ruby/openssl.so-3.1.0-1.fc36.x86_64.debug SSL_CTX_set_cipher_list
ruby-libs-debuginfo.x86_64: W: binary-or-shlib-calls-gethostbyname /usr/lib/debug/usr/lib64/ruby/socket.so-3.1.0-1.fc36.x86_64.debug
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 288.47 99.9 92
TOTAL 288.63 100.00 365
cProfile report:
1816310 function calls (1777394 primitive calls) in 289.037 seconds
Ordered by: cumulative time
List reduced from 1445 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 288.714 288.714 /usr/lib/python3.10/site-packages/rpmlint/lint.py:101(run)
1 0.000 0.000 288.714 288.714 /usr/lib/python3.10/site-packages/rpmlint/lint.py:58(_run)
1 0.000 0.000 288.714 288.714 /usr/lib/python3.10/site-packages/rpmlint/lint.py:214(validate_files)
1 0.000 0.000 288.714 288.714 /usr/lib/python3.10/site-packages/rpmlint/lint.py:252(validate_file)
1 0.000 0.000 288.630 288.630 /usr/lib/python3.10/site-packages/rpmlint/lint.py:268(run_checks)
17 0.000 0.000 288.491 16.970 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:14(check)
1 0.010 0.010 288.475 288.475 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:584(check_binary)
92 0.027 0.000 288.382 3.135 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
555 0.016 0.000 286.969 0.517 /usr/lib64/python3.10/subprocess.py:460(run)
555 0.011 0.000 285.908 0.515 /usr/lib64/python3.10/subprocess.py:1105(communicate)
552 0.081 0.000 285.745 0.518 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
2931 0.047 0.000 285.436 0.097 /usr/lib64/python3.10/selectors.py:403(select)
2931 285.381 0.097 285.381 0.097 {method 'poll' of 'select.poll' objects}
92 0.003 0.000 239.541 2.604 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:348(__init__)
92 0.001 0.000 49.125 0.534 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:79(__init__)
92 0.029 0.000 49.124 0.534 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:86(parse)
92 0.001 0.000 48.176 0.524 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:27(__init__)
92 0.019 0.000 48.175 0.524 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:33(parse_dwarf_compilation_units)
92 0.002 0.000 48.163 0.524 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:282(__init__)
92 0.158 0.002 48.161 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
92 0.001 0.000 48.078 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:220(__init__)
92 0.005 0.000 48.075 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:227(parse)
92 0.001 0.000 47.190 0.513 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:319(__init__)
92 0.005 0.000 47.189 0.513 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:325(parse)
92 0.001 0.000 46.981 0.511 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:148(__init__)
92 0.015 0.000 46.980 0.511 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:154(parse)
556 0.044 0.000 1.033 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
556 0.168 0.000 0.925 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
130525 0.606 0.000 0.606 0.000 {method 'search' of 're.Pattern' objects}
4903 0.394 0.000 0.394 0.000 {method 'acquire' of '_thread.lock' objects}
========================================================
1816310 function calls (1777394 primitive calls) in 289.037 seconds
Ordered by: call count
List reduced from 1445 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
254826 0.036 0.000 0.036 0.000 {method 'append' of 'list' objects}
216671 0.065 0.000 0.065 0.000 {method 'group' of 're.Match' objects}
163093 0.037 0.000 0.040 0.000 {built-in method builtins.isinstance}
133001/123002 0.015 0.000 0.017 0.000 {built-in method builtins.len}
130525 0.606 0.000 0.606 0.000 {method 'search' of 're.Pattern' objects}
74794 0.016 0.000 0.023 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
66270 0.021 0.000 0.021 0.000 {built-in method posix.fspath}
59653 0.032 0.000 0.032 0.000 {method 'encode' of 'str' objects}
59279 0.116 0.000 0.185 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
45202 0.014 0.000 0.014 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
41319 0.027 0.000 0.027 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
38931 0.003 0.000 0.003 0.000 {built-in method builtins.ord}
35439 0.009 0.000 0.020 0.000 /usr/lib64/python3.10/sre_parse.py:254(get)
33308 0.009 0.000 0.011 0.000 /usr/lib64/python3.10/sre_parse.py:172(append)
28624 0.011 0.000 0.011 0.000 {built-in method builtins.min}
14965 0.003 0.000 0.003 0.000 {method 'startswith' of 'str' objects}
11874 0.002 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:160(__len__)
11264 0.003 0.000 0.006 0.000 /usr/lib64/python3.10/sre_parse.py:249(match)
10124/656 0.016 0.000 0.028 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
10054 0.003 0.000 0.003 0.000 {method 'strip' of 'str' objects}
9954 0.003 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:111(__init__)
9826/351 0.033 0.000 0.056 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
9147/383 0.051 0.000 0.145 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
8739 0.001 0.000 0.001 0.000 {built-in method builtins.max}
7819 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects}
7802 0.001 0.000 0.001 0.000 {method 'isalnum' of 'str' objects}
6708 0.004 0.000 0.004 0.000 {method 'split' of 'str' objects}
6696 0.003 0.000 0.003 0.000 {method '__exit__' of '_thread.lock' objects}
5433 0.007 0.000 0.011 0.000 /usr/lib64/python3.10/threading.py:264(__enter__)
5433 0.007 0.000 0.009 0.000 /usr/lib64/python3.10/threading.py:267(__exit__)
========================================================
1816310 function calls (1777394 primitive calls) in 289.037 seconds
Ordered by: internal time
List reduced from 1445 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
2931 285.381 0.097 285.381 0.097 {method 'poll' of 'select.poll' objects}
130525 0.606 0.000 0.606 0.000 {method 'search' of 're.Pattern' objects}
4903 0.394 0.000 0.394 0.000 {method 'acquire' of '_thread.lock' objects}
556 0.376 0.001 0.376 0.001 {built-in method _posixsubprocess.fork_exec}
556 0.168 0.000 0.925 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
92 0.158 0.002 48.161 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
192 0.121 0.001 0.121 0.001 {method 'read' of '_io.BufferedReader' objects}
59279 0.116 0.000 0.185 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
552 0.081 0.000 285.745 0.518 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
216671 0.065 0.000 0.065 0.000 {method 'group' of 're.Match' objects}
9147/383 0.051 0.000 0.145 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
2931 0.047 0.000 285.436 0.097 /usr/lib64/python3.10/selectors.py:403(select)
556 0.044 0.000 1.033 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
163093 0.037 0.000 0.040 0.000 {built-in method builtins.isinstance}
254826 0.036 0.000 0.036 0.000 {method 'append' of 'list' objects}
1235 0.035 0.000 0.035 0.000 {built-in method io.open}
9826/351 0.033 0.000 0.056 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
59653 0.032 0.000 0.032 0.000 {method 'encode' of 'str' objects}
4038 0.031 0.000 0.031 0.000 {built-in method posix.read}
381 0.029 0.000 0.029 0.000 {built-in method _thread.start_new_thread}
35 0.029 0.001 0.029 0.001 {method 'read' of '_io.TextIOWrapper' objects}
92 0.029 0.000 49.124 0.534 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:86(parse)
2210 0.028 0.000 0.028 0.000 {method 'close' of '_io.TextIOWrapper' objects}
553 0.028 0.000 0.028 0.000 {method 'splitlines' of 'str' objects}
92 0.027 0.000 288.382 3.135 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
41319 0.027 0.000 0.027 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
556 0.024 0.000 0.024 0.000 {built-in method posix.waitpid}
4054 0.023 0.000 0.035 0.000 /usr/lib64/python3.10/posixpath.py:71(join)
2220 0.021 0.000 0.025 0.000 /usr/lib64/python3.10/threading.py:236(__init__)
66270 0.021 0.000 0.021 0.000 {built-in method posix.fspath}
============================================================== 1 packages and 0 specfiles checked; 9 errors, 2 warnings, 9 badness; has taken 288.7 s =============================================================
I can confirm it comes from ReadelfParser
which wraps readelf
and parses various stuff.
Please, re-test without the debug info packages. Is it still slooow?
I am afraid it is not any better. Using just ruby-libs instead:
$ curl -OL https://kojipkgs.fedoraproject.org//work/tasks/8741/80818741/ruby-libs-3.1.0-1.fc36.x86_64.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3284k 100 3284k 0 0 2535k 0 0:00:01 0:00:01 --:--:-- 2536k
$ rpmlint -t -T ./ruby-libs-3.1.0-1.fc36.x86_64.rpm
============================================================================================== rpmlint session starts =============================================================================================
rpmlint: 2.2.0
configuration:
/usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
/etc/xdg/rpmlint/fedora.toml
/etc/xdg/rpmlint/licenses.toml
/etc/xdg/rpmlint/scoring.toml
/etc/xdg/rpmlint/users-groups.toml
/etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: ruby.rpmlintrc
checks: 32, packages: 1
ruby-libs.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):20: E: use-of-RPM_SOURCE_DIR$"
ruby-libs.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-build_assert\)$"
ruby-libs.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-check_type\)$"
ruby-libs.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-container_of\)$"
ruby-libs.x86_64: E: unused-rpmlintrc-filter "ruby\.(spec|src):\d+: W: unversioned-explicit-provides bundled\(ccan-list\)$"
ruby-libs.x86_64: E: unused-rpmlintrc-filter "^rubygem-bundler\.noarch: E: non-executable-script /usr/share/gems/gems/bundler-[\d\.]+/lib/bundler/templates/[\w/\.]+ 644 /usr/bin/env "
ruby-libs.x86_64: W: obsolete-not-provided ruby-tcltk
ruby-libs.x86_64: W: obsolete-not-provided rubygem-net-telnet
ruby-libs.x86_64: W: obsolete-not-provided rubygem-xmlrpc
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/continuation.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/digest/bubblebabble.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cp949.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/emacs_mule.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/encdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_jp.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_kr.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_tw.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_1.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_10.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_11.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_13.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_14.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_15.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_16.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_2.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_3.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_4.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_6.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_7.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_9.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_r.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_u.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/shift_jis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/chinese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/ebcdic.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_iso2022_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_docomo.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_softbank.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/escape.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/iso2022.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_euc.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_sjis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/korean.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/single_byte.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/transdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/utf_16_32.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1250.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1251.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1252.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1253.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1254.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1257.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_31j.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/fcntl.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/rbconfig/sizeof.so
ruby-libs.x86_64: W: dangling-symlink /usr/share/ruby/io /usr/share/gems/gems/io-console-0.5.10/lib/io
ruby-libs.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/ruby/openssl.so SSL_CTX_set_cipher_list
ruby-libs.x86_64: W: binary-or-shlib-calls-gethostbyname /usr/lib64/ruby/socket.so
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 286.48 99.9 92
TOTAL 286.68 100.00 549
cProfile report:
1695339 function calls (1656193 primitive calls) in 287.055 seconds
Ordered by: cumulative time
List reduced from 1498 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 286.732 286.732 /usr/lib/python3.10/site-packages/rpmlint/lint.py:101(run)
1 0.000 0.000 286.732 286.732 /usr/lib/python3.10/site-packages/rpmlint/lint.py:58(_run)
1 0.000 0.000 286.732 286.732 /usr/lib/python3.10/site-packages/rpmlint/lint.py:214(validate_files)
1 0.000 0.000 286.732 286.732 /usr/lib/python3.10/site-packages/rpmlint/lint.py:252(validate_file)
1 0.000 0.000 286.678 286.678 /usr/lib/python3.10/site-packages/rpmlint/lint.py:268(run_checks)
17 0.000 0.000 286.586 16.858 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:14(check)
1 0.012 0.012 286.480 286.480 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:584(check_binary)
92 0.019 0.000 286.447 3.114 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
555 0.016 0.000 285.708 0.515 /usr/lib64/python3.10/subprocess.py:460(run)
555 0.012 0.000 284.601 0.513 /usr/lib64/python3.10/subprocess.py:1105(communicate)
552 0.073 0.000 284.499 0.515 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
1196 0.041 0.000 284.223 0.238 /usr/lib64/python3.10/selectors.py:403(select)
1196 284.175 0.238 284.175 0.238 {method 'poll' of 'select.poll' objects}
92 0.003 0.000 238.539 2.593 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:348(__init__)
92 0.001 0.000 48.110 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:148(__init__)
92 0.015 0.000 48.109 0.523 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:154(parse)
92 0.001 0.000 47.755 0.519 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:282(__init__)
92 0.043 0.000 47.754 0.519 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
92 0.001 0.000 47.722 0.519 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:220(__init__)
92 0.017 0.000 47.716 0.519 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:227(parse)
92 0.001 0.000 47.532 0.517 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:79(__init__)
92 0.023 0.000 47.531 0.517 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:86(parse)
92 0.001 0.000 47.416 0.515 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:319(__init__)
92 0.003 0.000 47.415 0.515 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:325(parse)
92 0.001 0.000 47.328 0.514 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:27(__init__)
92 0.004 0.000 47.328 0.514 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:33(parse_dwarf_compilation_units)
556 0.045 0.000 1.079 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
556 0.174 0.000 0.967 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
556 0.392 0.001 0.392 0.001 {built-in method _posixsubprocess.fork_exec}
1837 0.019 0.000 0.332 0.000 /usr/lib64/python3.10/concurrent/futures/thread.py:155(submit)
========================================================
1695339 function calls (1656193 primitive calls) in 287.055 seconds
Ordered by: call count
List reduced from 1498 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
221687 0.031 0.000 0.031 0.000 {method 'append' of 'list' objects}
200803 0.119 0.000 0.119 0.000 {method 'search' of 're.Pattern' objects}
175941 0.039 0.000 0.042 0.000 {built-in method builtins.isinstance}
131860/121870 0.014 0.000 0.016 0.000 {built-in method builtins.len}
74361 0.015 0.000 0.023 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
69246 0.023 0.000 0.023 0.000 {built-in method posix.fspath}
60956 0.034 0.000 0.034 0.000 {method 'encode' of 'str' objects}
60387 0.121 0.000 0.195 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
44823 0.014 0.000 0.014 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
44365 0.003 0.000 0.003 0.000 {built-in method builtins.ord}
43124 0.025 0.000 0.025 0.000 {method 'group' of 're.Match' objects}
35058 0.009 0.000 0.019 0.000 /usr/lib64/python3.10/sre_parse.py:254(get)
32935 0.008 0.000 0.010 0.000 /usr/lib64/python3.10/sre_parse.py:172(append)
28600 0.013 0.000 0.013 0.000 {built-in method builtins.min}
22289 0.003 0.000 0.003 0.000 {method 'startswith' of 'str' objects}
11848 0.002 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:160(__len__)
11260 0.003 0.000 0.006 0.000 /usr/lib64/python3.10/sre_parse.py:249(match)
10112/652 0.016 0.000 0.030 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
9944 0.003 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:111(__init__)
9814/347 0.032 0.000 0.056 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
9147/379 0.050 0.000 0.144 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
8745 0.001 0.000 0.002 0.000 {built-in method builtins.max}
7903 0.001 0.000 0.001 0.000 {built-in method sys.intern}
7819 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects}
7802 0.001 0.000 0.001 0.000 {method 'isalnum' of 'str' objects}
7252 0.004 0.000 0.004 0.000 {method '__exit__' of '_thread.lock' objects}
6148 0.008 0.000 0.008 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
5984 0.007 0.000 0.011 0.000 /usr/lib64/python3.10/threading.py:264(__enter__)
5984 0.007 0.000 0.009 0.000 /usr/lib64/python3.10/threading.py:267(__exit__)
5835 0.003 0.000 0.003 0.000 {method 'split' of 'str' objects}
========================================================
1695339 function calls (1656193 primitive calls) in 287.055 seconds
Ordered by: internal time
List reduced from 1498 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1196 284.175 0.238 284.175 0.238 {method 'poll' of 'select.poll' objects}
556 0.392 0.001 0.392 0.001 {built-in method _posixsubprocess.fork_exec}
5630 0.316 0.000 0.316 0.000 {method 'acquire' of '_thread.lock' objects}
556 0.174 0.000 0.967 0.002 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
60387 0.121 0.000 0.195 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
200803 0.119 0.000 0.119 0.000 {method 'search' of 're.Pattern' objects}
552 0.073 0.000 284.499 0.515 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
429 0.059 0.000 0.059 0.000 {method 'read' of '_io.BufferedReader' objects}
9147/379 0.050 0.000 0.144 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
556 0.045 0.000 1.079 0.002 /usr/lib64/python3.10/subprocess.py:753(__init__)
92 0.043 0.000 47.754 0.519 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:288(parse)
2123 0.043 0.000 0.045 0.000 {built-in method io.open}
1196 0.041 0.000 284.223 0.238 /usr/lib64/python3.10/selectors.py:403(select)
652 0.041 0.000 0.085 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:521(grep)
175941 0.039 0.000 0.042 0.000 {built-in method builtins.isinstance}
60956 0.034 0.000 0.034 0.000 {method 'encode' of 'str' objects}
9814/347 0.032 0.000 0.056 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
221687 0.031 0.000 0.031 0.000 {method 'append' of 'list' objects}
35 0.029 0.001 0.029 0.001 {method 'read' of '_io.TextIOWrapper' objects}
380 0.029 0.000 0.029 0.000 {built-in method _thread.start_new_thread}
2210 0.028 0.000 0.028 0.000 {method 'close' of '_io.TextIOWrapper' objects}
43124 0.025 0.000 0.025 0.000 {method 'group' of 're.Match' objects}
556 0.025 0.000 0.025 0.000 {built-in method posix.waitpid}
4426 0.024 0.000 0.037 0.000 /usr/lib64/python3.10/posixpath.py:71(join)
2304 0.024 0.000 0.024 0.000 {built-in method posix.read}
69246 0.023 0.000 0.023 0.000 {built-in method posix.fspath}
92 0.023 0.000 47.531 0.517 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:86(parse)
1664 0.022 0.000 0.022 0.000 {built-in method posix.pipe}
2403 0.021 0.000 0.025 0.000 /usr/lib64/python3.10/threading.py:236(__init__)
33 0.020 0.001 0.038 0.001 /usr/lib/python3.10/site-packages/toml/decoder.py:165(loads)
============================================================= 1 packages and 0 specfiles checked; 6 errors, 69 warnings, 6 badness; has taken 286.7 s =============================================================
Hmm, it finishes in 2 seconds for me:
============================ rpmlint session starts ============================
rpmlint: 2.0.0
configuration:
/home/marxin/Programming/rpmlint/rpmlint/configdefaults.toml
checks: 27, packages: 1
ruby-libs.x86_64: W: symlink-should-be-relative /usr/share/ruby/io /usr/share/gems/gems/io-console-0.5.10/lib/io
ruby-libs.x86_64: E: shared-library-without-dependency-information /usr/lib64/ruby/enc/gb2312.so
ruby-libs.x86_64: E: outside-libdir-files /usr/share/systemtap/tapset/libruby.so.3.1.stp
ruby-libs.x86_64: W: obsolete-not-provided ruby-tcltk
ruby-libs.x86_64: W: obsolete-not-provided rubygem-net-telnet
ruby-libs.x86_64: W: obsolete-not-provided rubygem-xmlrpc
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id/ae
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id/ba
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id/cb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id/da
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/lib/.build-id/de
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/doc/ruby-libs
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/doc/ruby-libs/NEWS.md
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/doc/ruby-libs/README.md
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/licenses/ruby-libs
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/licenses/ruby-libs/COPYING
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/licenses/ruby-libs/COPYING.ja
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/licenses/ruby-libs/GPL
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/licenses/ruby-libs/LEGAL
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/English.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/abbrev.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/benchmark
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/benchmark.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/benchmark/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/cookie.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/core.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/html.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/session
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/session.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/session/pstore.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/cgi/util.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/coverage.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/core_ext
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/core_ext/array.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/core_ext/string.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/delete_suffix.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/fields_converter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/input_record_separator.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/match_p.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/parser.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/row.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/table.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/csv/writer.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/date.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/delegate.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/core_ext
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/core_ext/name_error.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/experimental.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/formatters
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/formatters/plain_formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/formatters/verbose_formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/jaro_winkler.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/levenshtein.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/key_error_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/method_name_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/name_error_checkers
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/name_error_checkers.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/null_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/pattern_key_name_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/spell_checkers/require_path_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/tree_spell_checker.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/verbose.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/did_you_mean/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/digest
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/digest.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/digest/loader.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/digest/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/acl.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/drb.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/eq.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/extserv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/extservm.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/gw.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/invokemethod.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/observer.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/ssl.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/timeridconv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/unix.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/drb/weakidconv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/erb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/erb.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/erb/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight/base.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight/core_ext.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight/formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/error_highlight/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/expect.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/closure.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/cparser.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/function.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/import.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/pack.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/struct.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/types.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/value.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fiddle/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/fileutils.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/find.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/forwardable
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/forwardable.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/forwardable/impl.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/getoptlong.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/io
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ipaddr.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/kconv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/errors.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/log_device.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/period.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/severity.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/logger/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/mkmf.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/monitor.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/mutex_m.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/backward.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/exceptions.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/generic_request.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/header.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/proxy_delta.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/request.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/requests.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/response.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/responses.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/http/status.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/https.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/net/protocol.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/objspace
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/objspace.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/objspace/trace.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/observer.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/open-uri.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/bn.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/buffering.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/cipher.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/digest.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/hmac.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/marshal.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/pkey.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/ssl.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/openssl/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optionparser.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/ac.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/date.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/kwargs.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/shellwords.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/time.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/uri.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/optparse/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ostruct.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/pathname.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/pp.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/prettyprint.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/pstore.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/compat.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/debugflags.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/exception.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/grammar.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/grammarfileparser.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/info.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/iset.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/logfilegenerator.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/parser-text.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/parser.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/parserfilegenerator.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/sourcetext.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/state.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/statetransitiontable.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/racc/static.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/random
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/random/formatter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/readline.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/ansi.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/config.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/general_io.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/history.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor/base.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor/emacs.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor/vi_command.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_actor/vi_insert.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/key_stroke.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/kill_ring.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/line_editor.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/terminfo.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/unicode
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/unicode.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/unicode/east_asian_width.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/reline/windows.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/resolv-replace.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/resolv.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/rinda
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/rinda/rinda.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/rinda/ring.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/rinda/tuplespace.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper/core.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper/filter.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper/lexer.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/ripper/sexp.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/securerandom.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/set
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/set.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/set/sorted_set.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/shellwords.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/singleton.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/socket.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/syslog
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/syslog/logger.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/tempfile.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/time.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/timeout.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/tmpdir.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/tsort.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/un.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/unicode_normalize
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/unicode_normalize/normalize.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/unicode_normalize/tables.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/common.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/file.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/ftp.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/generic.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/http.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/https.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/ldap.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/ldaps.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/mailto.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/version.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/ws.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/uri/wss.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/vendor_ruby
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/weakref.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/yaml
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/yaml.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/yaml/dbm.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/ruby/yaml/store.rb
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/systemtap
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/systemtap/tapset
ruby-libs.x86_64: E: non-versioned-file-in-library-package /usr/share/systemtap/tapset/libruby.so.3.1.stp
ruby-libs.x86_64: E: no-signature
ruby-libs.x86_64: E: no-group-tag
ruby-libs.x86_64: E: library-without-ldconfig-postun /usr/lib64/libruby.so.3.1.0
ruby-libs.x86_64: E: library-without-ldconfig-postin /usr/lib64/libruby.so.3.1.0
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/continuation.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/digest/bubblebabble.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cp949.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/emacs_mule.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/encdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_jp.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_kr.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_tw.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_1.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_10.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_11.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_13.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_14.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_15.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_16.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_2.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_3.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_4.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_6.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_7.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_9.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_r.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_u.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/shift_jis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/chinese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/ebcdic.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_iso2022_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_docomo.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_softbank.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/escape.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/iso2022.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_euc.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_sjis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/korean.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/single_byte.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/transdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/utf_16_32.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1250.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1251.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1252.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1253.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1254.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1257.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_31j.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/fcntl.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/rbconfig/sizeof.so
ruby-libs.x86_64: W: invalid-license Ruby
ruby-libs.x86_64: W: invalid-license BSD
ruby-libs.x86_64: W: dangling-symlink /usr/share/ruby/io /usr/share/gems/gems/io-console-0.5.10/lib/io
ruby-libs.x86_64: W: binary-or-shlib-calls-gethostbyname /usr/lib64/ruby/socket.so
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 2.15 91.6 92
BuildDateCheck 0.05 2.0 549
FilesCheck 0.04 1.9
BuildRootCheck 0.04 1.8 549
SignatureCheck 0.03 1.3
TagsCheck 0.02 1.1
TOTAL 2.35 100.00 549
cProfile report:
1799974 function calls (1761782 primitive calls) in 2.707 seconds
Ordered by: cumulative time
List reduced from 1520 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 2.421 2.421 /home/marxin/Programming/rpmlint/rpmlint/lint.py:101(run)
1 0.000 0.000 2.421 2.421 /home/marxin/Programming/rpmlint/rpmlint/lint.py:58(_run)
1 0.000 0.000 2.420 2.420 /home/marxin/Programming/rpmlint/rpmlint/lint.py:214(validate_files)
1 0.000 0.000 2.420 2.420 /home/marxin/Programming/rpmlint/rpmlint/lint.py:252(validate_file)
1 0.000 0.000 2.346 2.346 /home/marxin/Programming/rpmlint/rpmlint/lint.py:268(run_checks)
16 0.000 0.000 2.244 0.140 /home/marxin/Programming/rpmlint/rpmlint/checks/AbstractCheck.py:14(check)
1 0.006 0.006 2.150 2.150 /home/marxin/Programming/rpmlint/rpmlint/checks/BinariesCheck.py:585(check_binary)
92 0.012 0.000 2.137 0.023 /home/marxin/Programming/rpmlint/rpmlint/checks/BinariesCheck.py:547(run_elf_checks)
555 0.010 0.000 1.955 0.004 /usr/lib64/python3.8/subprocess.py:452(run)
92 0.003 0.000 1.504 0.016 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:348(__init__)
556 0.025 0.000 1.197 0.002 /usr/lib64/python3.8/subprocess.py:736(__init__)
556 0.136 0.000 1.150 0.002 /usr/lib64/python3.8/subprocess.py:1552(_execute_child)
555 0.005 0.000 0.745 0.001 /usr/lib64/python3.8/subprocess.py:984(communicate)
552 0.032 0.000 0.660 0.001 /usr/lib64/python3.8/subprocess.py:1815(_communicate)
1259 0.009 0.000 0.549 0.000 /usr/lib64/python3.8/selectors.py:402(select)
1259 0.538 0.000 0.538 0.000 {method 'poll' of 'select.poll' objects}
2303 0.498 0.000 0.498 0.000 {built-in method posix.read}
92 0.001 0.000 0.473 0.005 /home/marxin/Programming/rpmlint/rpmlint/objdumpparser.py:27(__init__)
92 0.002 0.000 0.472 0.005 /home/marxin/Programming/rpmlint/rpmlint/objdumpparser.py:33(parse_dwarf_compilation_units)
92 0.001 0.000 0.378 0.004 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:282(__init__)
92 0.016 0.000 0.377 0.004 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:288(parse)
92 0.000 0.000 0.301 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:79(__init__)
92 0.008 0.000 0.301 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:86(parse)
92 0.001 0.000 0.286 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:148(__init__)
556 0.286 0.001 0.286 0.001 {built-in method _posixsubprocess.fork_exec}
92 0.007 0.000 0.286 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:154(parse)
92 0.001 0.000 0.277 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:220(__init__)
92 0.006 0.000 0.275 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:227(parse)
92 0.001 0.000 0.258 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:319(__init__)
92 0.002 0.000 0.258 0.003 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:325(parse)
========================================================
1799974 function calls (1761782 primitive calls) in 2.707 seconds
Ordered by: call count
List reduced from 1520 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
224260 0.021 0.000 0.021 0.000 {method 'append' of 'list' objects}
209613 0.028 0.000 0.030 0.000 {built-in method builtins.isinstance}
199002 0.076 0.000 0.076 0.000 {method 'search' of 're.Pattern' objects}
131093/121434 0.012 0.000 0.014 0.000 {built-in method builtins.len}
109134 0.012 0.000 0.012 0.000 {built-in method posix.fspath}
98635 0.021 0.000 0.021 0.000 {method 'encode' of 'str' objects}
98065 0.057 0.000 0.099 0.000 /usr/lib64/python3.8/os.py:800(fsencode)
68624 0.015 0.000 0.023 0.000 /usr/lib64/python3.8/sre_parse.py:164(__getitem__)
43117 0.011 0.000 0.011 0.000 {method 'group' of 're.Match' objects}
40783 0.003 0.000 0.003 0.000 {built-in method builtins.ord}
39803 0.014 0.000 0.014 0.000 /usr/lib64/python3.8/sre_parse.py:233(__next)
30341 0.008 0.000 0.019 0.000 /usr/lib64/python3.8/sre_parse.py:254(get)
29153 0.006 0.000 0.008 0.000 /usr/lib64/python3.8/sre_parse.py:172(append)
27742 0.013 0.000 0.013 0.000 {built-in method builtins.min}
20096 0.003 0.000 0.003 0.000 {method 'startswith' of 'str' objects}
11301 0.002 0.000 0.003 0.000 /usr/lib64/python3.8/sre_parse.py:160(__len__)
10912 0.003 0.000 0.007 0.000 /usr/lib64/python3.8/sre_parse.py:249(match)
9756/535 0.013 0.000 0.027 0.000 /usr/lib64/python3.8/sre_parse.py:174(getwidth)
9613 0.004 0.000 0.004 0.000 /usr/lib64/python3.8/sre_parse.py:111(__init__)
9489/264 0.029 0.000 0.054 0.000 /usr/lib64/python3.8/sre_compile.py:71(_compile)
8908/294 0.044 0.000 0.135 0.000 /usr/lib64/python3.8/sre_parse.py:493(_parse)
8614 0.002 0.000 0.002 0.000 {built-in method builtins.max}
7958 0.002 0.000 0.002 0.000 {built-in method sys.intern}
7819 0.001 0.000 0.001 0.000 {method 'isspace' of 'str' objects}
7802 0.001 0.000 0.001 0.000 {method 'isalnum' of 'str' objects}
7761 0.003 0.000 0.004 0.000 /usr/lib64/python3.8/posixpath.py:41(_get_sep)
6646 0.014 0.000 0.021 0.000 /usr/lib64/python3.8/posixpath.py:71(join)
6148 0.004 0.000 0.004 0.000 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:39(__init__)
6119 0.002 0.000 0.002 0.000 {method 'split' of 'str' objects}
6094 0.008 0.000 0.033 0.000 /usr/lib64/python3.8/subprocess.py:1634(<genexpr>)
========================================================
1799974 function calls (1761782 primitive calls) in 2.707 seconds
Ordered by: internal time
List reduced from 1520 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1259 0.538 0.000 0.538 0.000 {method 'poll' of 'select.poll' objects}
2303 0.498 0.000 0.498 0.000 {built-in method posix.read}
556 0.286 0.001 0.286 0.001 {built-in method _posixsubprocess.fork_exec}
556 0.136 0.000 1.150 0.002 /usr/lib64/python3.8/subprocess.py:1552(_execute_child)
490 0.081 0.000 0.081 0.000 {method 'read' of '_io.BufferedReader' objects}
199002 0.076 0.000 0.076 0.000 {method 'search' of 're.Pattern' objects}
3682 0.061 0.000 0.061 0.000 {method 'acquire' of '_thread.lock' objects}
98065 0.057 0.000 0.099 0.000 /usr/lib64/python3.8/os.py:800(fsencode)
8908/294 0.044 0.000 0.135 0.000 /usr/lib64/python3.8/sre_parse.py:493(_parse)
652 0.041 0.000 0.086 0.000 /home/marxin/Programming/rpmlint/rpmlint/pkg.py:521(grep)
552 0.032 0.000 0.660 0.001 /usr/lib64/python3.8/subprocess.py:1815(_communicate)
9489/264 0.029 0.000 0.054 0.000 /usr/lib64/python3.8/sre_compile.py:71(_compile)
209613 0.028 0.000 0.030 0.000 {built-in method builtins.isinstance}
556 0.025 0.000 1.197 0.002 /usr/lib64/python3.8/subprocess.py:736(__init__)
556 0.023 0.000 0.066 0.000 /usr/lib64/python3.8/subprocess.py:1101(_close_pipe_fds)
224260 0.021 0.000 0.021 0.000 {method 'append' of 'list' objects}
98635 0.021 0.000 0.021 0.000 {method 'encode' of 'str' objects}
2122 0.020 0.000 0.023 0.000 {built-in method io.open}
33 0.016 0.000 0.034 0.001 /usr/lib/python3.8/site-packages/toml/decoder.py:165(loads)
92 0.016 0.000 0.377 0.004 /home/marxin/Programming/rpmlint/rpmlint/readelfparser.py:288(parse)
1111 0.016 0.000 0.023 0.000 /usr/lib64/python3.8/contextlib.py:429(callback)
1 0.015 0.015 0.015 0.015 /usr/lib/python3.8/site-packages/enchant/__init__.py:276(_request_dict_data)
68624 0.015 0.000 0.023 0.000 /usr/lib64/python3.8/sre_parse.py:164(__getitem__)
39803 0.014 0.000 0.014 0.000 /usr/lib64/python3.8/sre_parse.py:233(__next)
6646 0.014 0.000 0.021 0.000 /usr/lib64/python3.8/posixpath.py:71(join)
9756/535 0.013 0.000 0.027 0.000 /usr/lib64/python3.8/sre_parse.py:174(getwidth)
27742 0.013 0.000 0.013 0.000 {built-in method builtins.min}
131093/121434 0.012 0.000 0.014 0.000 {built-in method builtins.len}
92 0.012 0.000 2.137 0.023 /home/marxin/Programming/rpmlint/rpmlint/checks/BinariesCheck.py:547(run_elf_checks)
109134 0.012 0.000 0.012 0.000 {built-in method posix.fspath}
1 packages and 0 specfiles checked; 277 errors, 71 warnings, 277 badness; has taken 2.4 s
There set of check enabled on Fedora is quite customized looking at the configuration files. Can there be some heavyweight check enabled comparing to defaults?
Check time report (>1%): Check Duration (in s) Fraction (in %) Checked files BinariesCheck 288.47 99.9 92
No, it all comes from the BinariesCheck
, it seems readelf
runs enormously long for you for some reason. Can you please perf record
it?
Interesting. I have expanded the build I was testing and the latest official build:
$ time readelf -W -S usr/lib64/libruby.so.3.1.0
There are 32 section headers, starting at offset 0x3ca2e8:
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .note.gnu.property NOTE 00000000000002e0 0002e0 000030 00 A 0 0 8
[ 2] .note.gnu.build-id NOTE 0000000000000310 000310 000024 00 A 0 0 4
[ 3] .gnu.hash GNU_HASH 0000000000000338 000338 00349c 00 A 4 0 8
[ 4] .dynsym DYNSYM 00000000000037d8 0037d8 00c720 18 A 5 1 8
[ 5] .dynstr STRTAB 000000000000fef8 00fef8 009050 00 A 0 0 1
[ 6] .gnu.version VERSYM 0000000000018f48 018f48 001098 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 0000000000019fe0 019fe0 0001c0 00 A 5 4 8
[ 8] .rela.dyn RELA 000000000001a1a0 01a1a0 00f840 18 A 4 0 8
[ 9] .rela.plt RELA 00000000000299e0 0299e0 009240 18 AI 4 23 8
[10] .init PROGBITS 0000000000033000 033000 00001b 00 AX 0 0 4
[11] .plt PROGBITS 0000000000033020 033020 006190 10 AX 0 0 16
[12] .text PROGBITS 00000000000391b0 0391b0 25f592 00 AX 0 0 16
[13] .fini PROGBITS 0000000000298744 298744 00000d 00 AX 0 0 4
[14] .rodata PROGBITS 0000000000299000 299000 0b2a6c 00 A 0 0 32
[15] .stapsdt.base PROGBITS 000000000034ba6c 34ba6c 000001 00 A 0 0 1
[16] .eh_frame_hdr PROGBITS 000000000034ba70 34ba70 00da44 00 A 0 0 4
[17] .eh_frame PROGBITS 00000000003594b8 3594b8 0544c8 00 A 0 0 8
[18] .tbss NOBITS 00000000003af050 3ae050 000010 00 WAT 0 0 8
[19] .init_array INIT_ARRAY 00000000003af050 3ae050 000008 08 WA 0 0 8
[20] .fini_array FINI_ARRAY 00000000003af058 3ae058 000008 08 WA 0 0 8
[21] .data.rel.ro PROGBITS 00000000003af060 3ae060 006230 00 WA 0 0 32
[22] .dynamic DYNAMIC 00000000003b5290 3b4290 000240 10 WA 5 0 8
[23] .got PROGBITS 00000000003b54d0 3b44d0 003b20 08 WA 0 0 8
[24] .data PROGBITS 00000000003b9000 3b8000 000248 00 WA 0 0 32
[25] .probes PROGBITS 00000000003b9248 3b8248 00002c 00 WA 0 0 2
[26] .bss NOBITS 00000000003b9280 3b8274 011f98 00 WA 0 0 32
[27] .note.stapsdt NOTE 0000000000000000 3b8274 000eb4 00 0 0 4
[28] .gnu.build.attributes NOTE 00000000003cd218 3b9128 00059c 00 0 0 4
[29] .gnu_debuglink PROGBITS 0000000000000000 3b96c4 000030 00 0 0 4
[30] .gnu_debugdata PROGBITS 0000000000000000 3b96f4 010aa4 00 0 0 1
[31] .shstrtab STRTAB 0000000000000000 3ca198 000149 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
D (mbind), l (large), p (processor specific)
real 0m0,615s
user 0m0,137s
sys 0m0,009s
$ time readelf -W -S usr/lib64/libruby.so.3.0.3
There are 32 section headers, starting at offset 0x381d68:
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .note.gnu.property NOTE 00000000000002e0 0002e0 000030 00 A 0 0 8
[ 2] .note.gnu.build-id NOTE 0000000000000310 000310 000024 00 A 0 0 4
[ 3] .gnu.hash GNU_HASH 0000000000000338 000338 003358 00 A 4 0 8
[ 4] .dynsym DYNSYM 0000000000003690 003690 00bf88 18 A 5 1 8
[ 5] .dynstr STRTAB 000000000000f618 00f618 008946 00 A 0 0 1
[ 6] .gnu.version VERSYM 0000000000017f5e 017f5e 000ff6 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 0000000000018f58 018f58 0001b0 00 A 5 4 8
[ 8] .rela.dyn RELA 0000000000019108 019108 00ea48 18 A 4 0 8
[ 9] .rela.plt RELA 0000000000027b50 027b50 008cd0 18 AI 4 23 8
[10] .init PROGBITS 0000000000031000 031000 00001b 00 AX 0 0 4
[11] .plt PROGBITS 0000000000031020 031020 005df0 10 AX 0 0 16
[12] .text PROGBITS 0000000000036e10 036e10 230f92 00 AX 0 0 16
[13] .fini PROGBITS 0000000000267da4 267da4 00000d 00 AX 0 0 4
[14] .rodata PROGBITS 0000000000268000 268000 0a7f1e 00 A 0 0 32
[15] .stapsdt.base PROGBITS 000000000030ff1e 30ff1e 000001 00 A 0 0 1
[16] .eh_frame_hdr PROGBITS 000000000030ff20 30ff20 00ca44 00 A 0 0 4
[17] .eh_frame PROGBITS 000000000031c968 31c968 04abf0 00 A 0 0 8
[18] .tbss NOBITS 0000000000368950 367950 000010 00 WAT 0 0 8
[19] .init_array INIT_ARRAY 0000000000368950 367950 000008 08 WA 0 0 8
[20] .fini_array FINI_ARRAY 0000000000368958 367958 000008 08 WA 0 0 8
[21] .data.rel.ro PROGBITS 0000000000368960 367960 005c30 00 WA 0 0 32
[22] .dynamic DYNAMIC 000000000036e590 36d590 000240 10 WA 5 0 8
[23] .got PROGBITS 000000000036e7d0 36d7d0 003818 08 WA 0 0 8
[24] .data PROGBITS 0000000000372000 371000 000248 00 WA 0 0 32
[25] .probes PROGBITS 0000000000372248 371248 00002c 00 WA 0 0 2
[26] .bss NOBITS 0000000000372280 371274 0107c8 00 WA 0 0 32
[27] .note.stapsdt NOTE 0000000000000000 371274 000f28 00 0 0 4
[28] .gnu.build.attributes NOTE 0000000000384a48 37219c 0005ac 00 0 0 4
[29] .gnu_debuglink PROGBITS 0000000000000000 372748 000034 00 0 0 4
[30] .gnu_debugdata PROGBITS 0000000000000000 37277c 00f4a0 00 0 0 1
[31] .shstrtab STRTAB 0000000000000000 381c1c 000149 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
D (mbind), l (large), p (processor specific)
real 0m0,006s
user 0m0,003s
sys 0m0,003s
So it is quite fast on the old version but slow with the new version. I'll report this against elfutils in Fedora.
I'll report this against elfutils in Fedora.
So it is quite fast on the old version but slow with the new version. I'll report this against elfutils in Fedora.
Interesting, I guess it's related to debuginfod
that downloads a debug info for the binary.
All right, so we need to use --debug-dump=no-follow-links
that is present is recent binutils. Lemme prepare a patch.
The ab476fe on itself improves situation:
$ rpmlint -t -T ./ruby-libs-3.1.0-1.fc36.x86_64.rpm
============================================================================================== rpmlint session starts =============================================================================================
rpmlint: 2.2.0
configuration:
/usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
/etc/xdg/rpmlint/fedora.toml
/etc/xdg/rpmlint/licenses.toml
/etc/xdg/rpmlint/scoring.toml
/etc/xdg/rpmlint/users-groups.toml
/etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1
ruby-libs.x86_64: E: shared-library-without-dependency-information /usr/lib64/ruby/enc/gb2312.so
ruby-libs.x86_64: W: obsolete-not-provided ruby-tcltk
ruby-libs.x86_64: W: obsolete-not-provided rubygem-net-telnet
ruby-libs.x86_64: W: obsolete-not-provided rubygem-xmlrpc
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/continuation.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/digest/bubblebabble.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cp949.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/emacs_mule.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/encdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_jp.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_kr.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_tw.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_1.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_10.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_11.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_13.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_14.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_15.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_16.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_2.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_3.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_4.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_6.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_7.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_9.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_r.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_u.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/shift_jis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/chinese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/ebcdic.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_iso2022_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_docomo.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_softbank.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/escape.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/iso2022.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_euc.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_sjis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/korean.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/single_byte.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/transdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/utf_16_32.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1250.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1251.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1252.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1253.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1254.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1257.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_31j.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/fcntl.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/rbconfig/sizeof.so
ruby-libs.x86_64: W: dangling-symlink /usr/share/ruby/io /usr/share/gems/gems/io-console-0.5.10/lib/io
ruby-libs.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/ruby/openssl.so SSL_CTX_set_cipher_list
ruby-libs.x86_64: W: binary-or-shlib-calls-gethostbyname /usr/lib64/ruby/socket.so
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 49.39 99.6 92
TOTAL 49.60 100.00 549
cProfile report:
1694511 function calls (1655466 primitive calls) in 49.988 seconds
Ordered by: cumulative time
List reduced from 1494 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 49.652 49.652 /usr/lib/python3.10/site-packages/rpmlint/lint.py:101(run)
1 0.000 0.000 49.652 49.652 /usr/lib/python3.10/site-packages/rpmlint/lint.py:58(_run)
1 0.000 0.000 49.652 49.652 /usr/lib/python3.10/site-packages/rpmlint/lint.py:214(validate_files)
1 0.000 0.000 49.652 49.652 /usr/lib/python3.10/site-packages/rpmlint/lint.py:252(validate_file)
1 0.000 0.000 49.597 49.597 /usr/lib/python3.10/site-packages/rpmlint/lint.py:268(run_checks)
17 0.000 0.000 49.498 2.912 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:14(check)
1 0.008 0.008 49.386 49.386 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:584(check_binary)
92 0.009 0.000 49.344 0.536 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
647 0.008 0.000 48.995 0.076 /usr/lib64/python3.10/subprocess.py:460(run)
647 0.005 0.000 48.513 0.075 /usr/lib64/python3.10/subprocess.py:1105(communicate)
552 0.028 0.000 47.539 0.086 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
1197 0.015 0.000 47.432 0.040 /usr/lib64/python3.10/selectors.py:403(select)
1197 47.415 0.040 47.415 0.040 {method 'poll' of 'select.poll' objects}
92 0.000 0.000 45.116 0.490 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:27(__init__)
92 0.002 0.000 45.116 0.490 /usr/lib/python3.10/site-packages/rpmlint/objdumpparser.py:33(parse_dwarf_compilation_units)
92 0.003 0.000 3.879 0.042 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:353(__init__)
94 0.001 0.000 0.997 0.011 /usr/lib64/python3.10/subprocess.py:373(check_output)
126 0.902 0.007 0.903 0.007 {method 'read' of '_io.TextIOWrapper' objects}
92 0.001 0.000 0.742 0.008 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:79(__init__)
92 0.010 0.000 0.742 0.008 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:87(parse)
92 0.000 0.000 0.631 0.007 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:149(__init__)
92 0.006 0.000 0.631 0.007 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:156(parse)
92 0.000 0.000 0.556 0.006 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:285(__init__)
92 0.012 0.000 0.556 0.006 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:292(parse)
92 0.000 0.000 0.545 0.006 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:222(__init__)
92 0.005 0.000 0.543 0.006 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:230(parse)
648 0.021 0.000 0.468 0.001 /usr/lib64/python3.10/subprocess.py:753(__init__)
92 0.000 0.000 0.467 0.005 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:323(__init__)
92 0.001 0.000 0.467 0.005 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:330(parse)
648 0.070 0.000 0.417 0.001 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
========================================================
1694511 function calls (1655466 primitive calls) in 49.988 seconds
Ordered by: call count
List reduced from 1494 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
219742 0.019 0.000 0.019 0.000 {method 'append' of 'list' objects}
200775 0.086 0.000 0.086 0.000 {method 'search' of 're.Pattern' objects}
175745 0.022 0.000 0.024 0.000 {built-in method builtins.isinstance}
131658/121699 0.013 0.000 0.015 0.000 {built-in method builtins.len}
73674 0.016 0.000 0.024 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
69516 0.009 0.000 0.009 0.000 {built-in method posix.fspath}
61048 0.013 0.000 0.013 0.000 {method 'encode' of 'str' objects}
60479 0.046 0.000 0.075 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
44233 0.015 0.000 0.015 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
43827 0.003 0.000 0.003 0.000 {built-in method builtins.ord}
43117 0.008 0.000 0.008 0.000 {method 'group' of 're.Match' objects}
34486 0.009 0.000 0.020 0.000 /usr/lib64/python3.10/sre_parse.py:254(get)
32368 0.008 0.000 0.010 0.000 /usr/lib64/python3.10/sre_parse.py:172(append)
28521 0.013 0.000 0.013 0.000 {built-in method builtins.min}
22289 0.003 0.000 0.003 0.000 {method 'startswith' of 'str' objects}
11781 0.002 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:160(__len__)
11215 0.003 0.000 0.007 0.000 /usr/lib64/python3.10/sre_parse.py:249(match)
10075/639 0.017 0.000 0.030 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
9913 0.003 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:111(__init__)
9783/340 0.034 0.000 0.059 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
9129/372 0.053 0.000 0.150 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
8735 0.001 0.000 0.002 0.000 {built-in method builtins.max}
7898 0.002 0.000 0.002 0.000 {built-in method sys.intern}
7819 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects}
7802 0.001 0.000 0.001 0.000 {method 'isalnum' of 'str' objects}
7346 0.002 0.000 0.002 0.000 {method '__exit__' of '_thread.lock' objects}
6148 0.002 0.000 0.002 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
5985 0.004 0.000 0.007 0.000 /usr/lib64/python3.10/threading.py:264(__enter__)
5985 0.005 0.000 0.006 0.000 /usr/lib64/python3.10/threading.py:267(__exit__)
5830 0.002 0.000 0.002 0.000 {method 'split' of 'str' objects}
========================================================
1694511 function calls (1655466 primitive calls) in 49.988 seconds
Ordered by: internal time
List reduced from 1494 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1197 47.415 0.040 47.415 0.040 {method 'poll' of 'select.poll' objects}
126 0.902 0.007 0.903 0.007 {method 'read' of '_io.TextIOWrapper' objects}
5359 0.191 0.000 0.191 0.000 {method 'acquire' of '_thread.lock' objects}
648 0.185 0.000 0.185 0.000 {built-in method _posixsubprocess.fork_exec}
200775 0.086 0.000 0.086 0.000 {method 'search' of 're.Pattern' objects}
648 0.070 0.000 0.417 0.001 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
429 0.059 0.000 0.059 0.000 {method 'read' of '_io.BufferedReader' objects}
9129/372 0.053 0.000 0.150 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
60479 0.046 0.000 0.075 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
652 0.043 0.000 0.091 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:521(grep)
9783/340 0.034 0.000 0.059 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
552 0.028 0.000 47.539 0.086 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
2214 0.024 0.000 0.027 0.000 {built-in method io.open}
175745 0.022 0.000 0.024 0.000 {built-in method builtins.isinstance}
648 0.021 0.000 0.468 0.001 /usr/lib64/python3.10/subprocess.py:753(__init__)
33 0.021 0.001 0.040 0.001 /usr/lib/python3.10/site-packages/toml/decoder.py:165(loads)
219742 0.019 0.000 0.019 0.000 {method 'append' of 'list' objects}
381 0.018 0.000 0.018 0.000 {built-in method _thread.start_new_thread}
10075/639 0.017 0.000 0.030 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
73674 0.016 0.000 0.024 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
1197 0.015 0.000 47.432 0.040 /usr/lib64/python3.10/selectors.py:403(select)
44233 0.015 0.000 0.015 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
2404 0.014 0.000 0.016 0.000 /usr/lib64/python3.10/threading.py:236(__init__)
61048 0.013 0.000 0.013 0.000 {method 'encode' of 'str' objects}
2394 0.013 0.000 0.013 0.000 {method 'close' of '_io.TextIOWrapper' objects}
28521 0.013 0.000 0.013 0.000 {built-in method builtins.min}
131658/121699 0.013 0.000 0.015 0.000 {built-in method builtins.len}
648 0.012 0.000 0.012 0.000 {built-in method posix.waitpid}
1 0.012 0.012 0.051 0.051 /usr/lib/python3.10/site-packages/rpmlint/checks/FilesCheck.py:423(check)
92 0.012 0.000 0.556 0.006 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:292(parse)
============================================================== 1 packages and 0 specfiles checked; 1 errors, 69 warnings, 1 badness; has taken 49.7 s =============================================================
But it seems the full #785 is needed to have reasonable preformance:
$ rpmlint -t -T ./ruby-libs-3.1.0-1.fc36.x86_64.rpm
============================================================================================== rpmlint session starts =============================================================================================
rpmlint: 2.2.0
configuration:
/usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
/etc/xdg/rpmlint/fedora.toml
/etc/xdg/rpmlint/licenses.toml
/etc/xdg/rpmlint/scoring.toml
/etc/xdg/rpmlint/users-groups.toml
/etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1
ruby-libs.x86_64: E: shared-library-without-dependency-information /usr/lib64/ruby/enc/gb2312.so
ruby-libs.x86_64: W: obsolete-not-provided ruby-tcltk
ruby-libs.x86_64: W: obsolete-not-provided rubygem-net-telnet
ruby-libs.x86_64: W: obsolete-not-provided rubygem-xmlrpc
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/continuation.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/digest/bubblebabble.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/cp949.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/emacs_mule.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/encdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_jp.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_kr.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/euc_tw.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_1.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_10.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_11.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_13.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_14.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_15.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_16.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_2.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_3.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_4.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_6.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_7.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/iso_8859_9.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_r.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/koi8_u.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/shift_jis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/big5.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/cesu_8.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/chinese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/ebcdic.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_iso2022_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_docomo.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_kddi.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/emoji_sjis_softbank.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/escape.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gb18030.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/gbk.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/iso2022.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_euc.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/japanese_sjis.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/korean.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/single_byte.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/transdb.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/trans/utf_16_32.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_16le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32be.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/utf_32le.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1250.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1251.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1252.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1253.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1254.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_1257.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/enc/windows_31j.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/fcntl.so
ruby-libs.x86_64: W: library-not-linked-against-libc /usr/lib64/ruby/rbconfig/sizeof.so
ruby-libs.x86_64: W: dangling-symlink /usr/share/ruby/io /usr/share/gems/gems/io-console-0.5.10/lib/io
ruby-libs.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/ruby/openssl.so SSL_CTX_set_cipher_list
ruby-libs.x86_64: W: binary-or-shlib-calls-gethostbyname /usr/lib64/ruby/socket.so
Check time report (>1%):
Check Duration (in s) Fraction (in %) Checked files
BinariesCheck 2.55 91.9 92
FilesCheck 0.05 1.9
BuildDateCheck 0.05 1.9 549
BuildRootCheck 0.05 1.7 549
TOTAL 2.77 100.00 549
cProfile report:
1624675 function calls (1585630 primitive calls) in 3.180 seconds
Ordered by: cumulative time
List reduced from 1492 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 2.842 2.842 /usr/lib/python3.10/site-packages/rpmlint/lint.py:101(run)
1 0.000 0.000 2.842 2.842 /usr/lib/python3.10/site-packages/rpmlint/lint.py:58(_run)
1 0.000 0.000 2.841 2.841 /usr/lib/python3.10/site-packages/rpmlint/lint.py:214(validate_files)
1 0.000 0.000 2.841 2.841 /usr/lib/python3.10/site-packages/rpmlint/lint.py:252(validate_file)
1 0.000 0.000 2.775 2.775 /usr/lib/python3.10/site-packages/rpmlint/lint.py:268(run_checks)
17 0.000 0.000 2.674 0.157 /usr/lib/python3.10/site-packages/rpmlint/checks/AbstractCheck.py:14(check)
1 0.004 0.004 2.551 2.551 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:586(check_binary)
92 0.005 0.000 2.529 0.027 /usr/lib/python3.10/site-packages/rpmlint/checks/BinariesCheck.py:546(run_elf_checks)
555 0.004 0.000 2.409 0.004 /usr/lib64/python3.10/subprocess.py:460(run)
92 0.002 0.000 2.381 0.026 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:353(__init__)
555 0.003 0.000 2.139 0.004 /usr/lib64/python3.10/subprocess.py:1105(communicate)
460 0.015 0.000 1.651 0.004 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
1011 0.008 0.000 1.594 0.002 /usr/lib64/python3.10/selectors.py:403(select)
1011 1.585 0.002 1.585 0.002 {method 'poll' of 'select.poll' objects}
94 0.001 0.000 0.484 0.005 /usr/lib64/python3.10/subprocess.py:373(check_output)
92 0.000 0.000 0.432 0.005 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:285(__init__)
92 0.010 0.000 0.431 0.005 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:292(parse)
126 0.422 0.003 0.423 0.003 {method 'read' of '_io.TextIOWrapper' objects}
92 0.000 0.000 0.390 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:79(__init__)
92 0.006 0.000 0.390 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:87(parse)
92 0.000 0.000 0.383 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:149(__init__)
92 0.004 0.000 0.383 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:156(parse)
92 0.000 0.000 0.382 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:222(__init__)
92 0.004 0.000 0.380 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:230(parse)
92 0.000 0.000 0.372 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:323(__init__)
92 0.001 0.000 0.372 0.004 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:330(parse)
1 0.000 0.000 0.284 0.284 /usr/lib/python3.10/site-packages/rpmlint/lint.py:303(load_checks)
32 0.000 0.000 0.284 0.009 /usr/lib/python3.10/site-packages/rpmlint/lint.py:314(load_check)
556 0.012 0.000 0.263 0.000 /usr/lib64/python3.10/subprocess.py:753(__init__)
112/35 0.000 0.000 0.249 0.007 <frozen importlib._bootstrap>:1022(_find_and_load)
========================================================
1624675 function calls (1585630 primitive calls) in 3.180 seconds
Ordered by: call count
List reduced from 1492 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
213949 0.016 0.000 0.016 0.000 {method 'append' of 'list' objects}
200775 0.075 0.000 0.075 0.000 {method 'search' of 're.Pattern' objects}
164061 0.016 0.000 0.018 0.000 {built-in method builtins.isinstance}
131374/121415 0.011 0.000 0.013 0.000 {built-in method builtins.len}
73674 0.016 0.000 0.024 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
58752 0.005 0.000 0.005 0.000 {built-in method posix.fspath}
51020 0.008 0.000 0.008 0.000 {method 'encode' of 'str' objects}
50451 0.025 0.000 0.041 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
44233 0.014 0.000 0.014 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
43827 0.003 0.000 0.003 0.000 {built-in method builtins.ord}
43117 0.006 0.000 0.006 0.000 {method 'group' of 're.Match' objects}
34486 0.009 0.000 0.020 0.000 /usr/lib64/python3.10/sre_parse.py:254(get)
32368 0.008 0.000 0.011 0.000 /usr/lib64/python3.10/sre_parse.py:172(append)
28521 0.015 0.000 0.015 0.000 {built-in method builtins.min}
22289 0.003 0.000 0.003 0.000 {method 'startswith' of 'str' objects}
11781 0.002 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:160(__len__)
11215 0.003 0.000 0.006 0.000 /usr/lib64/python3.10/sre_parse.py:249(match)
10075/639 0.023 0.000 0.040 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
9913 0.003 0.000 0.003 0.000 /usr/lib64/python3.10/sre_parse.py:111(__init__)
9783/340 0.034 0.000 0.058 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
9129/372 0.051 0.000 0.156 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
8735 0.002 0.000 0.002 0.000 {built-in method builtins.max}
7898 0.002 0.000 0.002 0.000 {built-in method sys.intern}
7819 0.000 0.000 0.000 0.000 {method 'isspace' of 'str' objects}
7802 0.001 0.000 0.001 0.000 {method 'isalnum' of 'str' objects}
7251 0.001 0.000 0.001 0.000 {method '__exit__' of '_thread.lock' objects}
6148 0.002 0.000 0.002 0.000 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:39(__init__)
5738 0.002 0.000 0.002 0.000 {method 'split' of 'str' objects}
5434 0.002 0.000 0.010 0.000 /usr/lib64/python3.10/threading.py:264(__enter__)
5434 0.002 0.000 0.003 0.000 /usr/lib64/python3.10/threading.py:267(__exit__)
========================================================
1624675 function calls (1585630 primitive calls) in 3.180 seconds
Ordered by: internal time
List reduced from 1492 to 30 due to restriction <30>
ncalls tottime percall cumtime percall filename:lineno(function)
1011 1.585 0.002 1.585 0.002 {method 'poll' of 'select.poll' objects}
126 0.422 0.003 0.423 0.003 {method 'read' of '_io.TextIOWrapper' objects}
556 0.107 0.000 0.107 0.000 {built-in method _posixsubprocess.fork_exec}
5330 0.084 0.000 0.084 0.000 {method 'acquire' of '_thread.lock' objects}
200775 0.075 0.000 0.075 0.000 {method 'search' of 're.Pattern' objects}
429 0.060 0.000 0.060 0.000 {method 'read' of '_io.BufferedReader' objects}
9129/372 0.051 0.000 0.156 0.000 /usr/lib64/python3.10/sre_parse.py:493(_parse)
652 0.045 0.000 0.096 0.000 /usr/lib/python3.10/site-packages/rpmlint/pkg.py:521(grep)
556 0.038 0.000 0.235 0.000 /usr/lib64/python3.10/subprocess.py:1682(_execute_child)
9783/340 0.034 0.000 0.058 0.000 /usr/lib64/python3.10/sre_compile.py:71(_compile)
50451 0.025 0.000 0.041 0.000 /usr/lib64/python3.10/os.py:804(fsencode)
10075/639 0.023 0.000 0.040 0.000 /usr/lib64/python3.10/sre_parse.py:174(getwidth)
33 0.020 0.001 0.038 0.001 /usr/lib/python3.10/site-packages/toml/decoder.py:165(loads)
2030 0.018 0.000 0.021 0.000 {built-in method io.open}
164061 0.016 0.000 0.018 0.000 {built-in method builtins.isinstance}
213949 0.016 0.000 0.016 0.000 {method 'append' of 'list' objects}
73674 0.016 0.000 0.024 0.000 /usr/lib64/python3.10/sre_parse.py:164(__getitem__)
28521 0.015 0.000 0.015 0.000 {built-in method builtins.min}
460 0.015 0.000 1.651 0.004 /usr/lib64/python3.10/subprocess.py:1947(_communicate)
44233 0.014 0.000 0.014 0.000 /usr/lib64/python3.10/sre_parse.py:233(__next)
1 0.013 0.013 0.053 0.053 /usr/lib/python3.10/site-packages/rpmlint/checks/FilesCheck.py:423(check)
556 0.012 0.000 0.263 0.000 /usr/lib64/python3.10/subprocess.py:753(__init__)
131374/121415 0.011 0.000 0.013 0.000 {built-in method builtins.len}
92 0.010 0.000 0.431 0.005 /usr/lib/python3.10/site-packages/rpmlint/readelfparser.py:292(parse)
1 0.009 0.009 0.009 0.009 /usr/lib/python3.10/site-packages/enchant/__init__.py:276(_request_dict_data)
34486 0.009 0.000 0.020 0.000 /usr/lib64/python3.10/sre_parse.py:254(get)
357 0.009 0.000 0.011 0.000 /usr/lib/python3.10/site-packages/toml/decoder.py:609(_unescape)
32368 0.008 0.000 0.011 0.000 /usr/lib64/python3.10/sre_parse.py:172(append)
51020 0.008 0.000 0.008 0.000 {method 'encode' of 'str' objects}
2309 0.008 0.000 0.008 0.000 {method '__enter__' of '_thread.lock' objects}
============================================================== 1 packages and 0 specfiles checked; 1 errors, 69 warnings, 1 badness; has taken 2.9 s ==============================================================
Thx for the fix :+1:
Thx for the fix +1
You're welcome, 3s is a reasonable time for a package. I know that the parsing can be improved (using multiple threads), but I haven't found enough motivation doing that.
I have always used to run rpmlint in following form:
And I got the result instantaneously. But now it takes ages: