web-dev-qa-db-ja.com

「debconf-ダンプされたコアを通信する」。 QUIT(「シグナル3」)を送信するものは何ですか?

(私はsystemd-coredumpをインストールしました)

QUITシグナルをdebconf-communicateに送信するものは何ですか?

バックトレースにはraise()/kill()が含まれていないため、この致命的な信号が他の実行中のプログラムによってdebconf-communicateに送信されたと推測できますか?

man 7 signalは、信号QUITが元々「キーボードからの終了」を目的としていたことを示しています。シグナルINT( "キーボードからの割り込み")との違いは、QUITが意図的にコアをダンプすることです。おそらくこれはデバッグ手法でした。 SIGINTは、Ctrl + Cのキーの組み合わせで送信されます。 SIGQUITはCtrl + \によって送信されます。

ただし、ターミナルで実行されているaptコマンドでCtrl + \を押すことなく、これらのコアダンプを取得しているようです。 PackageKitでパッケージのアップグレードを行うときに(時々?)発生しているようです。

これはDebian9デスクトップシステム(GNOME)です。ユーザーが問題を報告していないと言う以外は、このクラッシュが発生したときに何が起こるかわかりません:-)。メインユーザーは通常、更新の適用に長けており、その重要性を理解しています。

過去に更新通知を配信できなかったDebianのバグのため、システムは現在、通常のpk-update-iconに加えて、.desktop(GNOMEで自動起動するようにパッチが適用されたgnome-packagekitファイルを含む)とgpk-update-viewer/gnome-softwareをインストールしています。

$ dpkg-query -l packagekit gnome-software gnome-packagekit pk-update-icon debconf dpkg apt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                 Version         Architecture    Description
+++-====================-===============-===============-==============================================
ii  apt                  1.4.9           AMD64           commandline package manager
ii  debconf              1.5.61          all             Debian configuration management system
ii  dpkg                 1.18.25         AMD64           Debian package management system
ii  gnome-packagekit     3.22.1-2        AMD64           Graphical distribution neutral package manager
ii  gnome-software       3.22.5-1        AMD64           Software Center for GNOME
ii  packagekit           1.1.5-2+deb9u1  AMD64           Provides a package management service
ii  pk-update-icon       2.0.0-2         AMD64           Displays an update-notification tray icon
$ Sudo coredumpctl --no-pager
TIME                            PID   UID   GID SIG COREFILE EXE
Thu 2018-07-12 10:13:09 BST    5059  1005  1009   3 missing  /usr/bin/Perl
Sat 2018-07-14 11:16:38 BST    2346  1005  1009   3 missing  /usr/bin/Perl
...
Wed 2019-05-22 14:35:32 BST    2535  1005  1009   3 missing  /usr/bin/Perl
Thu 2019-05-23 11:39:52 BST    2311  1005  1009   3 missing  /usr/bin/Perl
Sat 2019-05-25 10:16:47 BST    2445  1005  1009   3 missing  /usr/bin/Perl
Thu 2019-05-30 08:16:50 BST    2497  1005  1009   3 missing  /usr/bin/Perl
Fri 2019-05-31 11:10:27 BST    2404  1005  1009   3 missing  /usr/bin/Perl
Thu 2019-06-06 15:47:50 BST    4282  1005  1009   3 missing  /usr/bin/Perl
Fri 2019-06-07 10:16:49 BST    2640  1005  1009   3 missing  /usr/bin/Perl
$ Sudo coredumpctl info 2640
           PID: 2640 (debconf-communi)
           UID: 1005 (YYY)
           GID: 1009 (YYY)
        Signal: 3 (QUIT)
     Timestamp: Fri 2019-06-07 10:16:49 BST (4 days ago)
  Command Line: /usr/bin/Perl -w /usr/bin/debconf-communicate
    Executable: /usr/bin/Perl
 Control Group: /user.slice/user-1005.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1005.slice
       Session: 2
     Owner UID: 1005 (YYY)
       Boot ID: 37f2efd8086a42b5a39144b5411b1523
    Machine ID: 35fb9280fa2847946f17a060542fd617
      Hostname: drystone
       Storage: /var/lib/systemd/coredump/core.debconf-communi.1005.37f2efd8086a42b5a39144b5411b1523.2640.1559899009000000000000.lz4 (inaccessible)
       Message: Process 2640 (debconf-communi) of user 1005 dumped core.

                Stack trace of thread 2640:
                #0  0x00007fa8db86a210 read (libpthread.so.0)
                #1  0x00005598354afa7d PerlIOUnix_read (Perl)
                #2  0x00005598354b2fcf PerlIOBuf_fill (Perl)
                #3  0x00005598354b1658 Perl_PerlIO_fill (Perl)
                #4  0x00005598354b2e80 PerlIOBase_read (Perl)
                #5  0x00005598354b4e08 PerlIO_getc (Perl)
                #6  0x000055983544b2a5 Perl_sv_gets (Perl)
                #7  0x000055983542d376 Perl_do_readline (Perl)
                #8  0x0000559835428aa6 Perl_runops_standard (Perl)
                #9  0x00005598353ae8a9 Perl_run (Perl)
                #10 0x0000559835387a5d main (Perl)
                #11 0x00007fa8db4db2e1 __libc_start_main (libc.so.6)
                #12 0x0000559835387a9a _start (Perl)
$ Sudo journalctl --since="2019-06-07"
...
Jun 07 10:16:05 drystone PackageKit[1359]: get-updates transaction /21666_bacedcbd from uid 1005 finished with success after 657ms
Jun 07 10:16:09 drystone PackageKit[1359]: new update-packages transaction /21669_aeeccbac scheduled from uid 1005
Jun 07 10:16:10 drystone PackageKit[1359]: get-update-detail transaction /21667_cebbebab from uid 1005 finished with success after 5406ms
Jun 07 10:16:11 drystone PackageKit[1359]: get-details transaction /21668_dabdcebe from uid 1005 finished with success after 395ms
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package evolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package evolution-common;3.22.6-1+deb9u2;all;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package evolution-plugins;3.22.6-1+deb9u2;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package libevolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package qemu-kvm;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package qemu-system-common;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package qemu-system-x86;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: in /21669_aeeccbac for update-packages package qemu-utils;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was updating for uid 1005
Jun 07 10:16:11 drystone PackageKit[1359]: update-packages transaction /21669_aeeccbac from uid 1005 finished with success after 585ms
Jun 07 10:16:11 drystone PackageKit[1359]: uid 1005 is trying to obtain org.freedesktop.packagekit.system-update auth (only_trusted:1)
Jun 07 10:16:11 drystone gnome-Shell[1769]: JS LOG: polkitAuthenticationAgent: Received 2 identities that can be used for authentication. Only considering one.
Jun 07 10:16:16 drystone polkitd(authority=local)[589]: Operator of unix-session:2 successfully authenticated as unix-user:YYY to gain TEMPORARY authorization for action org.freedesktop.packagekit.system-update
Jun 07 10:16:16 drystone PackageKit[1359]: new update-packages transaction /21670_adbeabac scheduled from uid 1005
Jun 07 10:16:16 drystone PackageKit[1359]: uid 1005 obtained auth for org.freedesktop.packagekit.system-update
Jun 07 10:16:38 drystone packagekitd[1359]: PARENT process running...
Jun 07 10:16:41 drystone gnome-software-service.desktop[1906]: 09:16:41:0610 As  failed to rescan: No valid root node specified
Jun 07 10:16:41 drystone gnome-software-service.desktop[1906]: 09:16:41:0617 As  failed to rescan: Failed to parse /usr/share/applications/evolution.desktop file: cannot process file of type application/x-deskto
Jun 07 10:16:41 drystone gnome-software-service.desktop[1906]: 09:16:41:0642 As  failed to rescan: No valid root node specified
Jun 07 10:16:41 drystone gnome-software-service.desktop[1906]: 09:16:41:0646 As  failed to rescan: Failed to parse /usr/share/applications/evolution.desktop.dpkg-tmp file: cannot process file of type text/plain
Jun 07 10:16:42 drystone gnome-software-service.desktop[1906]: 09:16:42:0406 As  failed to rescan: No valid root node specified
Jun 07 10:16:42 drystone gnome-software-service.desktop[1906]: 09:16:42:0410 As  failed to rescan: No valid root node specified
Jun 07 10:16:42 drystone gnome-software-service.desktop[1906]: 09:16:42:0410 As  failed to rescan: No valid root node specified
Jun 07 10:16:42 drystone gnome-software-service.desktop[1906]: 09:16:42:0414 As  failed to rescan: No valid root node specified
Jun 07 10:16:42 drystone gnome-software-service.desktop[1906]: 09:16:42:0414 As  failed to rescan: No valid root node specified
Jun 07 10:16:44 drystone gnome-software-service.desktop[1906]: 09:16:44:0075 As  failed to rescan: No valid root node specified
Jun 07 10:16:44 drystone gnome-software-service.desktop[1906]: 09:16:44:0078 As  failed to rescan: No valid root node specified
Jun 07 10:16:44 drystone gnome-software-service.desktop[1906]: 09:16:44:0082 As  failed to rescan: No valid root node specified
Jun 07 10:16:49 drystone packagekitd[1359]: Parent finished...
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-system-common;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution-plugins;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package libevolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution-common;3.22.6-1+deb9u2;all;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-kvm;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-system-x86;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-utils;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution-common;3.22.6-1+deb9u2;all;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package libglib2.0-0;2.50.3-2;AMD64;installed:debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-utils;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package libevolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-system-common;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-system-x86;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package evolution-plugins;3.22.6-1+deb9u2;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: in /21670_adbeabac for update-packages package qemu-kvm;1:2.8+dfsg-6+deb9u7;AMD64;debian-stable-main was installing for uid 1005
Jun 07 10:16:49 drystone PackageKit[1359]: update-packages transaction /21670_adbeabac from uid 1005 finished with success after 33545ms
Jun 07 10:16:49 drystone gpk-update-view[2476]: Source ID 1825 was not found when attempting to remove it
Jun 07 10:16:49 drystone systemd[1]: Created slice system-systemd\x2dcoredump.slice.
Jun 07 10:16:49 drystone systemd[1]: Started Process Core Dump (PID 3620/UID 0).
Jun 07 10:16:49 drystone systemd-coredump[3621]: Process 2640 (debconf-communi) of user 1005 dumped core.

                                                 Stack trace of thread 2640:
                                                 #0  0x00007fa8db86a210 read (libpthread.so.0)
                                                 #1  0x00005598354afa7d PerlIOUnix_read (Perl)
                                                 #2  0x00005598354b2fcf PerlIOBuf_fill (Perl)
                                                 #3  0x00005598354b1658 Perl_PerlIO_fill (Perl)
                                                 #4  0x00005598354b2e80 PerlIOBase_read (Perl)
                                                 #5  0x00005598354b4e08 PerlIO_getc (Perl)
                                                 #6  0x000055983544b2a5 Perl_sv_gets (Perl)
                                                 #7  0x000055983542d376 Perl_do_readline (Perl)
                                                 #8  0x0000559835428aa6 Perl_runops_standard (Perl)
                                                 #9  0x00005598353ae8a9 Perl_run (Perl)
                                                 #10 0x0000559835387a5d main (Perl)
                                                 #11 0x00007fa8db4db2e1 __libc_start_main (libc.so.6)
                                                 #12 0x0000559835387a9a _start (Perl)
Jun 07 10:16:50 drystone PackageKit[1359]: get-updates transaction /21671_baceadea from uid 1005 finished with success after 597ms
Jun 07 10:16:50 drystone gpk-update-view[2476]: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed
Jun 07 10:16:52 drystone PackageKit[1359]: get-updates transaction /21672_cdcdcbca from uid 1005 finished with success after 884ms
Jun 07 10:16:52 drystone gpk-update-view[2476]: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed
Jun 07 10:16:55 drystone gpk-update-view[2476]: g_application_release: assertion 'application->priv->use_count > 0' failed
Jun 07 10:16:57 drystone PackageKit[1359]: get-updates transaction /21673_bdabdecd from uid 1005 finished with success after 638ms
Jun 07 10:17:01 drystone CRON[3642]: pam_env(cron:session): Unable to open env file: /etc/environment: No such file or directory
Jun 07 10:17:01 drystone CRON[3642]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 07 10:17:01 drystone CRON[3643]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 07 10:17:01 drystone CRON[3642]: pam_unix(cron:session): session closed for user root
Jun 07 10:24:14 drystone systemd[1]: Starting Cleanup of Temporary Directories...
Jun 07 10:24:14 drystone systemd[1]: Started Cleanup of Temporary Directories.
1
sourcejedi

https://github.com/hughsie/PackageKit/blob/PACKAGEKIT_1_1_5/NEWS#L6157

〜バージョン0.1.1〜リリース:2007-10-23

[...]

  • 新機能:

    [...]

    • 少し遅れてSIGQUITを送信してからSIGKILLを送信します。これにより、ロックを解除してバックエンドを適切にクリーンアップできます。 キャンセルする場合 (リチャード・ヒューズ)
1
sourcejedi