Description of problem: yum 安装卸载时概率会出现yum进程卡住的情况 Version-Release number of selected component (if applicable): [root@iZbp1dwhn7l4aqmj3qlj91Z ~]# cat /etc/os-release NAME="Anolis OS" VERSION="23" ID="anolis" VERSION_ID="23" PLATFORM_ID="platform:an23" PRETTY_NAME="Anolis OS 23" ANSI_COLOR="0;31" HOME_URL="https://openanolis.cn/" BUG_REPORT_URL="https://bugzilla.openanolis.cn/" [root@iZbp1dwhn7l4aqmj3qlj91Z ~]# yum repoinfo Failed to set locale, defaulting to C.UTF-8 Last metadata expiration check: 3:14:56 ago on Sun Apr 23 13:17:05 2023. Repo-id : AppStream Repo-name : AnolisOS-23 - AppStream Repo-revision : 1679310402 Repo-updated : Mon Mar 20 19:06:42 2023 Repo-pkgs : 11926 Repo-available-pkgs: 11926 Repo-size : 14 G Repo-baseurl : http://mirrors.cloud.aliyuncs.com/anolis/23/AppStream/aarch64/os Repo-expire : 172800 second(s) (last: Sun Apr 23 13:17:05 2023) Repo-filename : /etc/yum.repos.d/AnolisOS.repo Repo-id : BaseOS Repo-name : AnolisOS-23 - BaseOS Repo-revision : 1679310362 Repo-updated : Mon Mar 20 19:06:02 2023 Repo-pkgs : 1495 Repo-available-pkgs: 1495 Repo-size : 1.9 G Repo-baseurl : http://mirrors.cloud.aliyuncs.com/anolis/23/BaseOS/aarch64/os Repo-expire : 172800 second(s) (last: Sun Apr 23 13:17:05 2023) Repo-filename : /etc/yum.repos.d/AnolisOS.repo How reproducible: 类似于这个CI任务 https://tone.openanolis.cn/ws/e6fkf2o4/test_result/65206?tab=1 1、下载并安装tone-cli git clone --single-branch --branch master https://gitee.com/anolis/tone-cli /tmp/tone cd /tmp/tone rm -f /usr/local/bin/tone make install #link of python would be deleted by python-devel installation if [ ! -f /usr/bin/python ]; then \ if [ -f /usr/bin/python3 ]; then \ ln -s /usr/bin/python3 /usr/bin/python; \ elif [ -f /usr/bin/python2 ]; then \ ln -s /usr/bin/python2 /usr/bin/python; \ else \ echo "Can Not find python in /usr/bin"; \ exit 1; \ fi; \ fi echo "Done!" Done! 2、准备CI测试工程 tone fetch anolis-ci-test && tone install anolis-ci-test && tone list anolis-ci-test 3、准备测试参数 打开测试任务链接 https://tone.openanolis.cn/ws/e6fkf2o4/test_result/65206?tab=1 点击“测试配置”选项,然后拷贝“全局变量的内容”,依此export 4、运行CI测试 tone run anolis-ci-test:group=rpm_test, repeat:1 这是其中一次卡住后,我gdb跟住卡死的地方: (gdb) py-list 391 out.write(msg) 392 elif to == "flush': 393 out.flush() 394 elif tp == 'write_flush' : 395 out.write(msg) >396 out. flush() 397 elif to == 'print': 398 print(msg, file=out) 399 else: 400 raise ValueError(*Unsupported type: ' + tp) 401 except I0Error as e: (gdb) py-bt Traceback (most recent call first): File "/usr/lib/python3.10/site-packages/dnf/util.py" line 396, in _terminal_messenger out.flush() File "/usr/lib/python3.10/site-packages/dnf/cli/output.py", line 2018, in _out_progress dnf.util._terminal_messenger('write_flush', msg, sys.stdout) File "/usr/lib/python3.10/site-packages/dnf/cli/output.py",line1994,inprogress self._out_progress(ti_done, ti_total, ts_done, ts_total, File "/sr/lib/python3.10/site-packages/dnf/yum/rpmtrans.py", line 134, in verify_tsi_package self.progress(pkg, dnf. transaction.PKG_VERIFY, 100, 100, count, total) File "/usr/lib/python3.10/site-packages/dnf/yun/rpmtrans.py",line437,inverify_tsi_package display.verify_tsi_package(pkg, count, total) File "/usr/lib/python3.10/site-packages/dnf/base.py", line 1190, in display_banner verify_pkg_cb(pkg, count, total) File "/usr/lib/python3.10/site-packages/dnf/base.py", line 1215, in _verify_transaction count - display_banner(tsi.pkg, count) File "/usr/lib/python3.10/site-packages/dnf/base.py", line 1177, in _run_transaction self._verify_transaction(cb.verify_tsi_package) File "/usr/lib/python3.10/site-packages/dnf/base.py", line 1034, in do_transaction tid=self._run_transaction(cb=cb) File "/usr/lib/python3.10/site-packages/dnf/cli/cli.py", line 246, in do_transaction tid = super(BaseCli, self).do_transaction(display) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line176,inresolving base.do_transaction(display=displays) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line130,incli_run ret = resolving(cli, base) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line106, in main return cli_run(cli, base) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py", line 67, in main return _main(base, args, cli_class, option_parser_class) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py", line 201, in user _main errcode = main(args) File "/usr/bin/yum", line 62, in module> main.user_main(sys.argv[1:], exit_code=True) (gab) 这是另外一个例子: 0x00007f333745079f in write () from /lib64/libc.so.6 Missing separate debuginfos, use: dnf debuginfo-install python-unversioned-command-3.10.10-1 (adb) py-list 255 if trans: 256 # the post transaction summary is already written to log during 257 # Base.do_transaction) so here only print the messages to the 258 # user arranged in columns 259 print() >260 print('In'.join(self.output.post_transaction_output(trans))) 261 print() 262 for tsi in trans: 263 if tsi. state == libdnf. transaction.TransactionItemState_ERROR: 264 raise dnf.exceptions.Error(_('Transaction failed')) 265 (gdb) py-bt Traceback (most recent call first): <built-in method write of _io.TextI0Wrapper object at remote 0x7f3337195150> built-in method print of module object at remote 0x7f33371bc900> File "/us/lib/python3.10/site-packages/dnf/cli/cli.py",line 260, in do_transaction print('\n'.join(self.output.post_transaction_output(trans))) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py", line 176, in resolving base.do_transaction(display=displays) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line130,incli_run ret = resolving(cli, base) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line106,inmain return cli_run(cli, base) File "/ur/lib/python3.10/site-packages/dnf/cli/main.py",line67, in main return _main(base, args, cli_class, option_parser_class) File "/usr/lib/python3.10/site-packages/dnf/cli/main.py",line201,inuser_main errcode = main(args) File "/usr/bin/yum", line 62, in «module> main.user_main(sys.argv[1:], exit_code=True) (gdb) client_loop: send disconnect: Broken pipe Actual results: 如上 Expected results: yum安装卸载不会卡住 Additional info: