Bug 46125

Summary: Падение packagekit
Product: Sisyphus Reporter: Владимир Диденко <vladimir.didenko>
Component: packagekitAssignee: Ivan Zakharyaschev <imz>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P5 CC: aris, arseny, darktemplar, imz, lav, rider, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 46625, 46292    

Description Владимир Диденко 2023-05-12 11:50:24 MSK
Уже второй раз (на разных машинах) за несколько недель ловлю зависание apt, насколько я понимаю из-за падения packagekit

# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
  at-spi2-atk at-spi2-atk-devel at-spi2-core inxi libat-spi2-core libat-spi2-core-devel libat-spi2-core-gir libatk libatk-devel libatk-gir
  libatk-gir-devel libmarco-private libmate-menus libmatekbd libmateweather libmateweather-data python3-module-hatchling python3-module-mypy
18 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
Need to get 22.0MB of archives.
After unpacking 137kB disk space will be freed.
Do you want to continue? [Y/n] Y
Get:1 http://ftp.altlinux.org Sisyphus/x86_64/classic at-spi2-core 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [220kB]
Get:2 http://ftp.altlinux.org Sisyphus/x86_64/classic libat-spi2-core-gir 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [20.0kB]
Get:3 http://ftp.altlinux.org Sisyphus/x86_64/classic at-spi2-atk-devel 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [8056B]
Get:4 http://ftp.altlinux.org Sisyphus/x86_64/classic at-spi2-atk 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [65.4kB]
Get:5 http://ftp.altlinux.org Sisyphus/x86_64/classic libat-spi2-core-devel 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [36.5kB]
Get:6 http://ftp.altlinux.org Sisyphus/x86_64/classic libat-spi2-core 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [75.8kB]
Get:7 http://ftp.altlinux.org Sisyphus/noarch/classic libatk-gir-devel 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [80.1kB]
Get:8 http://ftp.altlinux.org Sisyphus/x86_64/classic libatk-gir 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [22.8kB]
Get:9 http://ftp.altlinux.org Sisyphus/x86_64/classic libatk-devel 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [43.1kB]
Get:10 http://ftp.altlinux.org Sisyphus/x86_64/classic libatk 2.48.2-alt1:sisyphus+320307.100.1.1@1683829428 [47.3kB]
Get:11 http://ftp.altlinux.org Sisyphus/noarch/classic inxi 3.3.27-alt1:sisyphus+320311.100.1.1@1683837420 [493kB]
Get:12 http://ftp.altlinux.org Sisyphus/x86_64/classic libmarco-private 1:1.26.2-alt1:sisyphus+320277.400.1.1@1683819557 [924kB]
Get:13 http://ftp.altlinux.org Sisyphus/x86_64/classic libmate-menus 1:1.26.1-alt1:sisyphus+320277.600.1.1@1683819689 [38.0kB]
Get:14 http://ftp.altlinux.org Sisyphus/x86_64/classic libmatekbd 1:1.26.1-alt1:sisyphus+320299.100.1.1@1683825104 [151kB]
Get:15 http://ftp.altlinux.org Sisyphus/x86_64/classic libmateweather 1:1.26.1-alt1:sisyphus+320277.300.1.1@1683819486 [53.6kB]
Get:16 http://ftp.altlinux.org Sisyphus/noarch/classic libmateweather-data 1:1.26.1-alt1:sisyphus+320277.300.1.1@1683819486 [17.8MB]
Get:17 http://ftp.altlinux.org Sisyphus/noarch/classic python3-module-hatchling 1.16.0-alt1:sisyphus+320258.100.1.1@1683795961 [145kB]            
Get:18 http://ftp.altlinux.org Sisyphus/x86_64/classic python3-module-mypy 1.3.0-alt1:sisyphus+320262.100.1.1@1683797326 [1817kB]                
Fetched 22.0MB in 6s (3191kB/s)                                                                                                                  
Committing changes...
Preparing...                            #################################################################################################### [100%]
Updating / installing...
 1: libatk-2.48.2-alt1                  #################################################################################################### [  3%]
 2: libat-spi2-core-2.48.2-alt1         #################################################################################################### [  6%]
 3: at-spi2-atk-2.48.2-alt1             #################################################################################################### [  8%]
 4: libat-spi2-core-devel-2.48.2-alt1   #################################################################################################### [ 11%]
 5: libatk-gir-2.48.2-alt1              #################################################################################################### [ 14%]
 6: libatk-devel-2.48.2-alt1            #################################################################################################### [ 17%]
 7: libmateweather-data-1:1.26.1-alt1   #################################################################################################### [ 19%]

В логах

May 12 13:09:50 vdidenko apt-get[8186]: libatk-devel-2.48.2-alt1 sisyphus+320307.100.1.1 1683829428 installed
May 12 13:09:50 vdidenko PackageKit[4475]: get-details transaction /68915_cceaddee from uid 500 finished with success after 667ms
May 12 13:09:50 vdidenko gnome-software[4690]: g_find_program_for_path: assertion 'program != NULL' failed
May 12 13:09:53 vdidenko kernel: PK-Backend[8212]: segfault at 7fac389e76dc ip 00007fabc576f2f2 sp 00007fabbde50a68 error 4 in libc.so.6[7fabc5629>
May 12 13:09:53 vdidenko kernel: Code: 2e 0f 1f 84 00 00 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 89 f8 09 f0 c1 e0 14 3d 00 00 00 f8>
May 12 13:09:53 vdidenko systemd[1]: packagekit.service: Main process exited, code=killed, status=11/SEGV
Comment 1 Ivan Zakharyaschev 2023-05-13 17:17:27 MSK
То есть это зависание по сути даже не просто в apt, а во время транзакции librpm?

Зависание "намертво"? (Или надо подождать и дальше пойдёт?)

Может быть, при наличии debuginfo (или известной точной сборки glibc-core, PK-Backend) вот эти адреса подскажут, где и что случается:

May 12 13:09:53 vdidenko kernel: PK-Backend[8212]: segfault at 7fac389e76dc ip 00007fabc576f2f2 sp 00007fabbde50a68 error 4 in libc.so.6[7fabc5629>
Comment 2 Yuri N. Sedunov 2023-05-16 09:54:48 MSK
Тоже словил.

May 16 09:37:41 siver PackageKit[3602]: get-updates transaction /15219_cbdaecea from uid 500 finished with success after 17147ms
May 16 09:38:04 siver systemd[1]: packagekit.service: Main process exited, code=killed, status=11/SEGV
May 16 09:38:04 siver systemd[1]: packagekit.service: Failed with result 'signal'.
May 16 09:38:04 siver systemd[1]: packagekit.service: Consumed 8min 51.740s CPU time.
Comment 3 Ivan Zakharyaschev 2023-06-03 15:24:34 MSK
Есть ли надёжный способ воспроизвести?

Или у кого-то core-файл, изученный с помощью gdb при наличии debuginfo? bt из него?
Comment 4 Владимир Диденко 2023-06-06 20:04:58 MSK
(In reply to Ivan Zakharyaschev from comment #3)
> Есть ли надёжный способ воспроизвести?
> 
> Или у кого-то core-файл, изученный с помощью gdb при наличии debuginfo? bt
> из него?

Надежного способа не знаю. Корки тоже пока нет, так как упало на системе с выключенными core-файлами. Сейчас включил - если упадет, выложу сюда backtrace.
Comment 5 Владимир Диденко 2023-06-15 12:33:34 MSK
Core file проморгал, но backtrace остался

# coredumpctl info  /usr/lib/packagekitd
           PID: 4508 (packagekitd)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 11 (SEGV)
     Timestamp: Fri 2023-06-09 18:18:50 +05 (5 days ago)
  Command Line: /usr/lib/packagekitd
    Executable: /usr/lib/packagekitd
 Control Group: /system.slice/packagekit.service
          Unit: packagekit.service
         Slice: system.slice
       Boot ID: bd338faa37b34809b57827e69429dc21
    Machine ID: 67f2628cfd541b6c5c5e78cd5f618387
      Hostname: vdidenko
       Storage: /var/lib/systemd/coredump/core.packagekitd.0.bd338faa37b34809b57827e69429dc21.4508.1686316730000000.zst (missing)
       Message: Process 4508 (packagekitd) of user 0 dumped core.
                
                Stack trace of thread 161375:
                #0  0x00007fa70f56f2f2 __strcmp_evex (libc.so.6 + 0x16f2f2)
                #1  0x00007fa70f0a5ca0 _ZN12AptCacheFile12resolvePkgIDEPKc (libpk_backend_aptcc.so + 0x2cca0)
                #2  0x00007fa70f0b288c _ZN7AptIntf17resolvePackageIdsEPPcm (libpk_backend_aptcc.so + 0x3988c)
                #3  0x00007fa70f0b33ad backend_get_details_thread (libpk_backend_aptcc.so + 0x3a3ad)
                #4  0x0000559405b9693a pk_backend_job_thread_setup (packagekitd + 0x2393a)
                #5  0x00007fa70fce5d8d g_thread_proxy (libglib-2.0.so.0 + 0x88d8d)
                #6  0x00007fa70f48c8e4 start_thread (libc.so.6 + 0x8c8e4)
                #7  0x00007fa70f5115cc __clone3 (libc.so.6 + 0x1115cc)
                
                Stack trace of thread 4519:
                #0  0x00007fa70f504e1f __GI___poll (libc.so.6 + 0x104e1f)
                #1  0x00007fa70fd1433e g_main_context_poll (libglib-2.0.so.0 + 0xb733e)
                #2  0x00007fa70fcb9f8f g_main_loop_run (libglib-2.0.so.0 + 0x5cf8f)
                #3  0x00007fa70fb380f6 gdbus_shared_thread_func (libgio-2.0.so.0 + 0x10c0f6)
                #4  0x00007fa70fce5d8d g_thread_proxy (libglib-2.0.so.0 + 0x88d8d)
                #5  0x00007fa70f48c8e4 start_thread (libc.so.6 + 0x8c8e4)
                #6  0x00007fa70f5115cc __clone3 (libc.so.6 + 0x1115cc)
                
                Stack trace of thread 4517:
                #0  0x00007fa70f50a369 syscall (libc.so.6 + 0x10a369)
                #1  0x00007fa70fd08edf g_cond_wait (libglib-2.0.so.0 + 0xabedf)
                #2  0x00007fa70fc8698b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x2998b)
                #3  0x00007fa70fcea492 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x8d492)
                #4  0x00007fa70fce5d8d g_thread_proxy (libglib-2.0.so.0 + 0x88d8d)
                #5  0x00007fa70f48c8e4 start_thread (libc.so.6 + 0x8c8e4)
                #6  0x00007fa70f5115cc __clone3 (libc.so.6 + 0x1115cc)
                
                Stack trace of thread 161341:
                #0  0x00007fa70f50a369 syscall (libc.so.6 + 0x10a369)
                #1  0x00007fa70fd0946c g_cond_wait_until (libglib-2.0.so.0 + 0xac46c)
                #2  0x00007fa70fc86961 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x29961)
                #3  0x00007fa70fceaea2 g_thread_pool_wait_for_new_task (libglib-2.0.so.0 + 0x8dea2)
                #4  0x00007fa70fce5d8d g_thread_proxy (libglib-2.0.so.0 + 0x88d8d)
                #5  0x00007fa70f48c8e4 start_thread (libc.so.6 + 0x8c8e4)
                #6  0x00007fa70f5115cc __clone3 (libc.so.6 + 0x1115cc)
                
                Stack trace of thread 4508:
                #0  0x00007fa70f504e1f __GI___poll (libc.so.6 + 0x104e1f)
                #1  0x00007fa70fd1433e g_main_context_poll (libglib-2.0.so.0 + 0xb733e)
                #2  0x00007fa70fcb9f8f g_main_loop_run (libglib-2.0.so.0 + 0x5cf8f)
                #3  0x0000559405b80d6d main (packagekitd + 0xdd6d)
                #4  0x00007fa70f42a18c __libc_start_call_main (libc.so.6 + 0x2a18c)
                #5  0x00007fa70f42a245 __libc_start_main_impl (libc.so.6 + 0x2a245)
                #6  0x0000559405b80f51 _start (packagekitd + 0xdf51)
                
                Stack trace of thread 4518:
                #0  0x00007fa70f504e1f __GI___poll (libc.so.6 + 0x104e1f)
                #1  0x00007fa70fd1433e g_main_context_poll (libglib-2.0.so.0 + 0xb733e)
                #2  0x00007fa70fcb957c g_main_context_iteration (libglib-2.0.so.0 + 0x5c57c)
                #3  0x00007fa70fcb95c1 glib_worker_main (libglib-2.0.so.0 + 0x5c5c1)
                #4  0x00007fa70fce5d8d g_thread_proxy (libglib-2.0.so.0 + 0x88d8d)
                #5  0x00007fa70f48c8e4 start_thread (libc.so.6 + 0x8c8e4)
                #6  0x00007fa70f5115cc __clone3 (libc.so.6 + 0x1115cc)
                ELF object binary architecture: AMD x86-64
Comment 6 Владимир Диденко 2023-06-15 12:39:56 MSK
На первый взгляд, похоже на 

https://github.com/PackageKit/PackageKit/issues/539
Comment 7 Владимир Диденко 2023-06-28 17:21:38 MSK
С апстримным фиксом (https://github.com/PackageKit/PackageKit/commit/197f52787c5891c2d9afe14b1c91fcd0429abbcd) для 

https://github.com/PackageKit/PackageKit/issues/539

у меня packagekit проработал пару недель без падений. Хорошо бы этот фикс в Сизифе увидеть.
Comment 8 Arseny Maslennikov 2023-06-30 19:03:40 MSK
Так как packagekit входит в дистрибутивы (с чего бы ему не входить?), с этим нужно разобраться до выпуска репозитория p11.
Comment 9 Ivan Zakharyaschev 2023-07-27 20:48:34 MSK
(Ответ для Владимир Диденко на комментарий #7)
> С апстримным фиксом
> (https://github.com/PackageKit/PackageKit/commit/
> 197f52787c5891c2d9afe14b1c91fcd0429abbcd) для 
> 
> https://github.com/PackageKit/PackageKit/issues/539
> 
> у меня packagekit проработал пару недель без падений. Хорошо бы этот фикс в
> Сизифе увидеть.

Спасибо за указание! Было собрано 0.5.15lorg2-alt86

Также отправил в p10 вместе с другими обновлениями apt в задании 321804