Странный процесс состояния D, вероятно, застрял в обработчике ошибок страницы?

У меня есть процесс состояния D, но он, кажется, не находится в середине любого syscall. Это процесс с интенсивным использованием процессора (тензорный поток), и он зависает, когда выполняется другой процесс с интенсивным процессором (bazel). Вот некоторые сведения о диагностике (после cd /proc/4088 ):

 ➜ 4088 uname -a Linux 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 
 ➜ 4088 sudo cat status Name: python3 State: D (disk sleep) (output omitted) 
 ➜ 4088 sudo cat syscall -1 0x7ffd69619900 0x7f0bec881390 
 ➜ 4088 cat wchan call_rwsem_down_read_failed% 
 ➜ 4088 sudo cat stack [] call_rwsem_down_read_failed+0x14/0x30 [] __do_page_fault+0x375/0x400 [] do_page_fault+0x22/0x30 [] page_fault+0x28/0x30 [] 0xffffffffffffffff 

Я также подтвердил, что подсчет коммутатора контекста не увеличивается. Там есть нет одна подозрительная запись в dmesg:

  • Скрипт загружает два аргумента
  • Raspbian загружается в приглашение root @ (none) после ошибочных изменений в / etc
  • Пытаясь пересадить bash в / mnt для chroot, что хочет bash, чтобы работать?
  • Как убедиться, что определенная функциональность (например, Alt + Ctrl + F1, переключение в tty) доступна в системе обмена файлами?
  • Потребляемая мощность устройства USB
  • Ошибка компиляции драйвера USB
  •  [69396.390301] BUG: unable to handle kernel paging request at ffffea020f767740 [69396.390306] IP: [] mem_cgroup_try_charge+0x2f/0x1e0 [69396.390308] PGD 25edee067 PUD 0 [69396.390310] Oops: 0000 [#3] SMP [69396.390338] Modules linked in: dm_snapshot drbg ansi_cprng ctr ccm pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) binfmt_misc intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel uvcvideo kvm snd_hda_codec_hdmi videobuf2_vmalloc videobuf2_memops arc4 videobuf2_v4l2 irqbypass videobuf2_core v4l2_common snd_hda_codec_realtek videodev snd_hda_codec_generic crct10dif_pclmul media crc32_pclmul ghash_clmulni_intel snd_hda_intel aesni_intel snd_hda_codec aes_x86_64 lrw ath9k snd_hda_core nvidia_uvm(POE) gf128mul snd_hwdep glue_helper ath9k_common ablk_helper ath9k_hw cryptd snd_pcm ath snd_seq_midi snd_seq_midi_event mac80211 input_leds joydev snd_rawmidi serio_raw snd_seq cfg80211 snd_seq_device snd_timer rtsx_pci_ms memstick snd mei_me soundcore shpchp mei lpc_ich wmi mac_hid [69396.390353] nfsd auth_rpcgss nfs_acl lockd grace sunrpc parport_pc ppdev lp parport autofs4 dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio libcrc32c hid_generic usbhid hid psmouse rtsx_pci_sdmmc i915 nvidia_drm(POE) nvidia_modeset(POE) i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops nvidia(POE) drm ahci alx libahci rtsx_pci mdio video fjes [69396.390356] CPU: 4 PID: 4176 Comm: python3 Tainted: PD OE 4.4.0-62-generic #83-Ubuntu [69396.390357] Hardware name: Hasee QTC6/HM76, BIOS SR161 02/04/2013 [69396.390358] task: ffff8801d987d400 ti: ffff8801c4bd8000 task.ti: ffff8801c4bd8000 [69396.390362] RIP: 0010:[] [] mem_cgroup_try_charge+0x2f/0x1e0 [69396.390363] RSP: 0000:ffff8801c4bdbdd0 EFLAGS: 00010246 [69396.390364] RAX: 017fffc000000000 RBX: ffffea0006565140 RCX: ffff8801c4bdbe68 [69396.390365] RDX: 00000000024000c0 RSI: ffff8801d5401400 RDI: ffffea0006565140 [69396.390365] RBP: ffff8801c4bdbe00 R08: ffffffff81cd2dc4 R09: ffffffff81cd2db3 [69396.390366] R10: 0000000000000000 R11: ffffffff81cd2da2 R12: ffffea020f767740 [69396.390367] R13: ffff8801c4bdbe68 R14: 00000000024000c0 R15: ffff8801d5401400 [69396.390369] FS: 00007f0b9d431700(0000) GS:ffff88025f300000(0000) knlGS:0000000000000000 [69396.390370] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [69396.390371] CR2: ffffea020f767740 CR3: 000000007c070000 CR4: 00000000001406e0 [69396.390371] Stack: [69396.390373] 0000000000000000 ffffea0006565140 ffff88020b726640 0000000000000000 [69396.390375] ffff88020cf7b4d8 00007f0b53600008 ffff8801c4bdbed0 ffffffff811c1e32 [69396.390377] 0000000000000000 0000000000000000 00007f0b9d42fe00 0000000000000001 [69396.390377] Call Trace: [69396.390382] [] handle_mm_fault+0x14b2/0x1820 [69396.390386] [] ? do_futex+0x107/0x540 [69396.390389] [] ? blk_finish_plug+0x2c/0x40 [69396.390393] [] ? SyS_madvise+0x48d/0x7d0 [69396.390395] [] ? __schedule+0x3b6/0xa30 [69396.390398] [] __do_page_fault+0x197/0x400 [69396.390401] [] do_page_fault+0x22/0x30 [69396.390404] [] page_fault+0x28/0x30 [69396.390424] Code: 00 55 48 89 e5 41 57 41 56 41 55 41 54 49 89 cd 53 48 83 ec 08 0f 1f 44 00 00 49 09 fc 49 89 f7 41 89 d6 48 8b 07 f6 c4 80 75 6c 8b 04 24 f6 c4 40 0f 84 f0 00 00 00 49 8b 04 24 f6 c4 40 0f [69396.390427] RIP [] mem_cgroup_try_charge+0x2f/0x1e0 [69396.390427] RSP [69396.390428] CR2: ffffea020f767740 [69396.390429] ---[ end trace a8c24237c7d97c39 ]--- 

    Интересно /proc/4088/tasks имеет 4168 4183 , кроме 4176

    Эта проблема может быть связана: https://github.com/bazelbuild/bazel/issues/2445 .

    Почему он застревает? Что я могу сделать с этим?

  • Manjaro не обновляет syslinux.cfg при установке новых ядер. Как это можно сделать?
  • Настройка резервного копирования Linux с помощью Bacula и Webmin
  • Есть ли DLP-решение для Linux?
  • eth0 не установлен на CentOS
  • Как отсортировать результаты из команды ls по дате изменения (сначала в каталогах)?
  • Статическая привязка util-linux - кросс-компиляция (вместо этого создает динамически связанные файлы)
  • One Solution collect form web for “Странный процесс состояния D, вероятно, застрял в обработчике ошибок страницы?”

    Что вызывает ошибку страницы в процессе, это доступ к ячейке памяти, которая в настоящее время не отображается в ОЗУ. Если процесс не воспроизводит грязные трюки с обработчиком SIGSEGV, есть две причины, почему это может произойти: это может быть доступ к адресу, который не отображается в процессе, и в этом случае процесс завершится с ошибкой (это ошибка) , или это может быть доступ к адресу, который отображается, но не в настоящее время в ОЗУ. Последнее совершенно законно: это может быть местоположение в файле с отображением памяти, который в настоящее время не находится в кеше, или местоположение в выделенной памяти, которое в настоящее время выгружено.

    Ошибка страницы означает, что процесс вызывает ловушку процессора (это следствие доступа к адресу без памяти). Ловушка вызывает код ядра, и в то время как этот код ядра работает, процесс находится в состоянии D (без прерывания сна).

    Ошибка страницы вызвала ошибку в ядре. Ошибка – ошибка – этого не должно быть. На этом этапе процесс находится в плохом состоянии – ядро ​​не смогло заставить доступ к памяти работать. Система также находится в плохом состоянии, и в зависимости от основной причины это может быть или не быть восстановимым.

    Сообщение журнала, «неспособное обрабатывать запрос подкачки ядра на ffffea020f767740», указывает, к какому адресу обращался процесс. Это запрос подкачки ядра , то есть ошибка в коде ядра для обработки ошибки страницы. Адрес находится в диапазоне адресов ядра. Я недостаточно разбираюсь в анализе ошибок ядра Linux, чтобы узнать, в чем проблема. Может быть, у ядра закончилась нехватка памяти для некоторой структуры данных, которая необходима для чтения данных, необходимых процессу. Если это не проблема, то посмотрите, есть ли какие-либо известные ошибки в используемой версии ядра.

    Linux и Unix - лучшая ОС в мире.