Дополнительный дочерний процесс подвешивает различные приложения

Ubuntu Studio 16.04, ноутбук Lenovo.

Иногда, когда я запускаю приложение из (1) меню главного приложения, или (2) щелкните правой кнопкой по файлу ("Открытый с..."), или (3) командная строка, приложение зависает. (Зависающее приложение было: Firefox, Thunderbird, LibreOffice.)

Вводя по абсолютному адресу вокруг дерева процесса, я обнаруживаю, что во всех случаях, требуемое приложение породило дочерний процесс. Пример:

~$ ps aux | grep thunderbird
jga       7420  2.2  2.5 618832 99864 ?        Sl   22:24   0:00 /usr/lib/thunderbird/thunderbird
jga       7424  0.1  0.7 378240 31344 ?        S    22:24   0:00 /usr/lib/thunderbird/thunderbird
jga       7452  0.0  0.0  14224   928 pts/1    S+   22:24   0:00 grep thunderbird

(И pstree подтверждает отношения отцов и детей между 7 420 и 7424.)

Если я уничтожаю дочерний процесс, родитель затем запускает обычно.

Вот Office Libre, делающий то же самое.

~$ libreoffice --calc &
[2] 7792
[1]   Done                    libreoffice --calc
~$ #hanging...
~$ ps aux | grep office
jga       7792  0.1  0.1 207860  5764 pts/1    Sl   22:52   0:00 /usr/lib/libreoffice/program/oosplash --calc
jga       7809  0.4  1.4 607036 58752 pts/1    Sl   22:52   0:00 /usr/lib/libreoffice/program/soffice.bin --calc --splash-pipe=5
jga       7810  0.0  0.6 406804 24200 pts/1    S    22:52   0:00 /usr/lib/libreoffice/program/soffice.bin --calc --splash-pipe=5
jga       7815  0.0  0.0  14224  1028 pts/1    S+   22:53   0:00 grep office
~$ kill -9 7810
~$ # Spreadsheet comes up.

Однако, если я запускаю, процесс на переднем плане - нет зависают.

Таким образом, что продолжается? Единственная системная модификация, которую я сделал недавно, должна была добавить Примечания к моей Панели, которую я позже удалил снова.

Выкатывая панель инструментов, я выполнил strace и на Firefox и на libreoffice., например. strace -ff -o /tmp/loffice libreoffice --calc

В обоих случаях у подпроцессов зависания была следующая общая функция:

  • открытие/etc/drirc для чтения
  • проверка существование ~/.drirc (это не существует),
  • syscall, пишущий в некоторый дескриптор, который заканчивает тем, что завис, например.

    ioctl(5, DRM_IOCTL_I915_GEM_CREATE, 0x7ffd90290680) = 0
    ioctl(5, _IOC(_IOC_READ|_IOC_WRITE, 0x64, 0x5e, 0x28), 0x7ffd90290630) = 0
    ioctl(5, DRM_IOCTL_I915_GEM_SET_DOMAIN, 0x7ffd90290630) = 0
    ioctl(5, DRM_IOCTL_I915_GEM_SET_DOMAIN <unfinished ...>
    

Быстрое прохождение в Goog говорит мне, что drirc связан с рендерингом, и мне напоминают, что моя краткая установка приложения Панели Примечаний была первым разом, когда я видел полупрозрачные окна в этой установке.

Так, связанный? Что продолжается?

1
задан 25 August 2016 в 19:13

0 ответов

Другие вопросы по тегам:

Похожие вопросы: