Bug 29309

Summary: Перестал работать fglrx после обновления.
Product: Branch p7 Reporter: f546607
Component: fglrx_glxAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-p7 <qa-p7>
Severity: normal    
Priority: P3 CC: aen, boyarsh, ldv, led
Version: не указана   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 27685    
Attachments:
Description Flags
journalctl -b
none
xorg.0.log
none
journalctl -b 11.09.2013 none

Description f546607 2013-08-31 19:17:06 MSK
Пришла новая версия fglrx вместе с обновлением. В итоге не запускается Хсервер.
Comment 1 f546607 2013-08-31 19:17:47 MSK
Created attachment 5925 [details]
journalctl -b
Comment 2 f546607 2013-08-31 19:19:16 MSK
Created attachment 5926 [details]
xorg.0.log
Comment 3 f546607 2013-09-01 12:28:48 MSK
тот же fglrx с офсайта работает.
Comment 4 Anton V. Boyarshinov 2013-09-02 14:18:55 MSK
Попробуйте обновить ядро из p7 3 сентября или сейчас из Сизифа.
Comment 5 f546607 2013-09-03 18:09:00 MSK
env LIBGL_DEBUG=1  glxinfo | grep Open
libGL error: OpenDriver: failed to open /usr/X11R6/lib64/modules/dri/fglrx_dri.so, error[/usr/X11R6/lib64/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]
Setting of real/effective user Id to 0/0 failed
Error! Fail to load fglrx kernel module! Maybe you can switch to root user to load kernel module directly
libGL error: open uki failed (Operation not permitted)
libGL error: reverting to (slow) indirect rendering
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: AMD Radeon HD 7700 Series 
OpenGL version string: 2.1 (4.3.12441 Compatibility Profile Context 12.104)
OpenGL shading language version string: (null)
OpenGL extensions:

Это в P7.
Comment 6 f546607 2013-09-03 18:31:46 MSK
и в sisyphus тоже самое.
и еще вот это
https://bugzilla.altlinux.org/show_bug.cgi?id=29316
Comment 7 f546607 2013-09-03 19:21:12 MSK
Не написал. В начале Xorg вообще не запускался.
После обновления 3го сентября запускается, но 3Д не работает. С сообщением выше.
Comment 8 Anton V. Boyarshinov 2013-09-04 11:21:47 MSK
(В ответ на комментарий №7)
> Не написал. В начале Xorg вообще не запускался.
> После обновления 3го сентября запускается, но 3Д не работает. С сообщением
> выше.

Ага, то есть это две разные проблемы.. Первая была -- несоответствие модуля ядра, а вот вторая -- видимо ошибка упаковки самого fglrx_glx...
Comment 9 Anton V. Boyarshinov 2013-09-11 12:20:51 MSK
а если создать /usr/X11R6/lib64/ и сдалать там ссылку на /usr/lib64/X11/modules ?
Будет работать?
Comment 10 f546607 2013-09-11 18:42:14 MSK
да работает
Comment 11 f546607 2013-09-11 22:18:52 MSK
В ядре led-ws работает.
А в ядре std-def...

env LIBGL_DEBUG=verbose glxgears
libGL: AtiGetClientDriverName: 13.20.5 fglrx (screen 0)
ukiDynamicMajor: failed to open /proc/ati/major
Setting of real/effective user Id to 0/0 failed
Error! Fail to load fglrx kernel module! Maybe you can switch to root user to load kernel module directly
ukiDynamicMajor: failed to open /proc/ati/major
ukiDynamicMajor: failed to open /proc/ati/major
libGL error: open uki failed (Operation not permitted)
libGL error: reverting to (slow) indirect rendering
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 21908 requests (45 known processed) with 0 events remaining.
Comment 12 f546607 2013-09-11 22:22:50 MSK
вот как выглядит в std-def
ls -l /proc/ | grep ati
d---------  4 root       root                     0 сен 11 22:13 ati

если так сделать то ошибок не выдает
sudo chmod +xr /proc/ati
Comment 13 f546607 2013-09-11 22:30:23 MSK
Created attachment 5936 [details]
journalctl -b 11.09.2013
Comment 14 led 2013-09-12 00:00:43 MSK
AMD почему-то убрала возможность ложить modules/dri/fglrx_dri.so в %_libdir/X11 (раьше можно было).
А положить modules/dri/fglrx_dri.so в /usr/X11R6/%_lib/ не разрешает сборочница:

/.out/fglrx_glx-13.20.11-alt2.x86_64.rpm: FHS violations: /usr/X11R6 /usr/X11R6/lib64 /usr/X11R6/lib64/X11
sisyphus_check: check-fhs ERROR: FHS violation
hsh-rebuild: fglrx_glx-13.20.11-alt2.src.rpm: sisyphus_check failed.

Т.о. получаем deadlock.
Comment 15 led 2013-09-12 18:51:06 MSK
(В ответ на комментарий №14)

Проблема в ядерном модуле, проявляется только в модулях для ядра >= 3.10: неправильные пермишены для /proc/ati.

Сообщение
error[/usr/X11R6/lib64/modules/dri/fglrx_dri.so: cannot open shared object
file: No such file or directory]
только сбивает с толку. На самом деле fglrx_dri.so ищется в /usr/X11R6/lib64/modules/dri/, /usr/lib64/modules/dri/, /usr/lib64/dri/ - именно в таком порядке. В нашем случае находит /usr/lib64/dri/fglrx_dri.so

Модуль починил, обновление fglrx_glx и kernel-modules-fglrx-{std-def,std-pae,un-def} ушли в Sisyphus.

Для p7 - task #103988 - у мен недостаточно прав.
Comment 16 f546607 2013-09-12 22:49:17 MSK
Там не только в разрешениях проблема.
посмотрите в journalctl...
Comment 17 f546607 2013-09-12 22:49:45 MSK
сен 11 22:10:27 c0mp.localdomain avahi-daemon[901]: Withdrawing address record for fe80::ea40:f2ff:fec2:767c on eno1.
сен 11 22:10:27 c0mp.localdomain kernel: fglrx_pci 0000:01:00.0: irq 53 for MSI/MSI-X
сен 11 22:10:27 c0mp.localdomain kernel: <6>[fglrx] Firegl kernel thread PID: 2324
сен 11 22:10:27 c0mp.localdomain kernel: <6>[fglrx] Firegl kernel thread PID: 2325
сен 11 22:10:27 c0mp.localdomain kernel: <6>[fglrx] Firegl kernel thread PID: 2326
сен 11 22:10:27 c0mp.localdomain kernel: <6>[fglrx] IRQ 53 Enabled
сен 11 22:10:27 c0mp.localdomain kernel: BUG: sleeping function called from invalid context at mm/slab.c:3054
сен 11 22:10:27 c0mp.localdomain kernel: in_atomic(): 1, irqs_disabled(): 0, pid: 2275, name: X
сен 11 22:10:27 c0mp.localdomain kernel: CPU: 3 PID: 2275 Comm: X Tainted: P           O 3.10.10-std-def-alt1 #1
сен 11 22:10:27 c0mp.localdomain kernel: Hardware name:                  /DQ77MK, BIOS MKQ7710H.86A.0050.2012.0830.1022 08/30/2012
сен 11 22:10:27 c0mp.localdomain kernel:  00000000000008e3 ffff880408179698 ffffffff814f971b ffff8804081796b8
сен 11 22:10:27 c0mp.localdomain kernel:  ffffffff8108b23b 0000000000000058 00000000000000d0 ffff880408179708
сен 11 22:10:27 c0mp.localdomain kernel:  ffffffff81172ba3 ff00002c00000070 ffffffffa028753e ffff8804081797f8
сен 11 22:10:27 c0mp.localdomain kernel: Call Trace:
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff814f971b>] dump_stack+0x19/0x1b
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8108b23b>] __might_sleep+0xeb/0x120
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff81172ba3>] __kmalloc+0x1a3/0x250
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa028753e>] ? KCL_MEM_SmallBufferAlloc+0xe/0x10 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa028753e>] KCL_MEM_SmallBufferAlloc+0xe/0x10 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa028e193>] drm_alloc+0xc3/0x1a0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02a9527>] ? irqmgr_wrap_register_interrupt+0x187/0x2a0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03d2f60>] ? PECI_GetFirmwareImageAddress+0x10/0x10 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02a5002>] ? MCIL_IRQAssertInterrupt+0xa2/0xc0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03cebda>] ? PECI_RegisterInterruptWithPolarity+0xba/0x190 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03d2f60>] ? PECI_GetFirmwareImageAddress+0x10/0x10 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03e6b92>] ? PSM_PSDT_CheckInvariants+0x2e2/0x420 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa042dd48>] ? PhwSIslands_RegisterInternalThermalInterrupt+0x48/0x90 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03c8097>] ? PHM_RegisterThermalInterrupt+0x17/0x80 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03eaceb>] ? PEM_RegisterInterrupts+0x3b/0x200 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03eb090>] ? PEM_UnInitPowerPlayFeatureInfo+0x60/0x60 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03ed40a>] ? PEM_Task_EnableDynamicStateManagement+0x3a/0xc0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03ee259>] ? PEM_Task_RegisterInterrupts+0x9/0x20 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03eb4e4>] ? PEM_ExcuteEventChain+0x64/0xe0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03e9ae4>] ? PEM_Initialize+0x134/0x400 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03c65ea>] ? PP_Initialize_internal+0x2ca/0x360 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa03c6248>] ? PP_Initialize+0x28/0x50 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02c1943>] ? firegl_pplib_init_powerplay+0x83/0x1c0 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02c20a4>] ? firegl_pplib_init+0xa4/0x170 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02aa782>] ? firegl_irqmgr_init+0x42/0x100 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02bb807>] ? hal_init_gpu+0x1d7/0x480 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa0295e3b>] ? firegl_open+0x2db/0x310 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa0285992>] ? ip_firegl_open+0x12/0x20 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa02854d0>] ? firegl_stub_open+0xa0/0x110 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8118e4e3>] ? chrdev_open+0xc3/0x1d0
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff811874d3>] ? do_dentry_open+0x203/0x290
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8118e420>] ? cdev_put+0x30/0x30
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff81187590>] ? finish_open+0x30/0x40
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff811993e9>] ? do_last+0x709/0xf00
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8108461d>] ? up+0x2d/0x50
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff81199c91>] ? path_openat+0xb1/0x4f0
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffffa0294199>] ? firegl_release_helper+0x419/0x700 [fglrx]
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8108461d>] ? up+0x2d/0x50
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8119a35c>] ? do_filp_open+0x3c/0x90
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff811a82e5>] ? __alloc_fd+0xd5/0x140
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8118888f>] ? do_sys_open+0xef/0x1d0
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff810212d0>] ? syscall_trace_enter+0x20/0x260
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff8118898d>] ? SyS_open+0x1d/0x20
сен 11 22:10:27 c0mp.localdomain kernel:  [<ffffffff81508bb7>] ? tracesys+0xdd/0xe2
Comment 18 f546607 2013-09-12 22:51:09 MSK
сен 11 22:28:00 c0mp.localdomain kernel: Hardware name:                  /DQ77MK, BIOS MKQ7710H.86A.0050.2012.0830.1022 08/30/2012
сен 11 22:28:00 c0mp.localdomain kernel: Workqueue: xfslogd xfs_buf_iodone_work [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  0000000000000001 ffff88040806bd28 ffffffff814f971b ffff88040806bd48
сен 11 22:28:00 c0mp.localdomain kernel:  ffffffffa0d18f9a ffffffffa0d16725 1ec1e00300000001 ffff88040806bd88
сен 11 22:28:00 c0mp.localdomain kernel:  ffffffffa0d18ff9 570061837d08000f 8524ff83000002da ffff88039ecb3e00
сен 11 22:28:00 c0mp.localdomain kernel: Call Trace:
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff814f971b>] dump_stack+0x19/0x1b
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d18f9a>] xfs_error_report+0x3a/0x40 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d16725>] ? xfs_buf_iodone_work+0x85/0xb0 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d18ff9>] xfs_corruption_error+0x59/0x80 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d6f12a>] xfs_sb_read_verify+0x11a/0x130 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d16725>] ? xfs_buf_iodone_work+0x85/0xb0 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff81089c37>] ? finish_task_switch+0xd7/0x130
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffffa0d16725>] xfs_buf_iodone_work+0x85/0xb0 [xfs]
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff81076db0>] process_one_work+0x1a0/0x490
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff8107856c>] worker_thread+0x11c/0x3f0
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff81078450>] ? manage_workers.isra.25+0x2e0/0x2e0
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff8107e7bb>] kthread+0xbb/0xc0
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff8107e700>] ? flush_kthread_worker+0x70/0x70
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff815088fc>] ret_from_fork+0x7c/0xb0
сен 11 22:28:00 c0mp.localdomain kernel:  [<ffffffff8107e700>] ? flush_kthread_worker+0x70/0x70
Comment 19 f546607 2013-09-12 22:51:37 MSK
если fglrx не запущен такого нет
Comment 20 f546607 2013-09-12 22:54:19 MSK
и на ядре 3.4 нет.
Comment 21 f546607 2013-09-12 23:01:39 MSK
>Для p7 - task #103988 
вот это вот работает без жестких ссылок. По крайней мере в ядре led-ws
Comment 22 f546607 2013-09-12 23:02:49 MSK
т.е без символьных ссылок в X11R6. Короче само работает.
Comment 23 led 2013-09-12 23:34:06 MSK
(В ответ на комментарий №21)
> >Для p7 - task #103988 
> вот это вот работает без жестких ссылок. По крайней мере в ядре led-ws

Оно и раньше работало. Перестало работать с ядром 3.10, потому что в коде fglrx.ko для >= 3.10 - ошибка.
Comment 24 f546607 2013-09-13 19:50:38 MSK
И? Не запускать на 3.10? Или вы исправили?
Comment 25 led 2013-09-13 19:57:22 MSK
(В ответ на комментарий №24)
> И? Не запускать на 3.10? Или вы исправили?

https://bugzilla.altlinux.org/show_bug.cgi?id=29309#c15
Comment 26 f546607 2013-09-13 20:32:52 MSK
А в journal все равно ошибки.
Comment 27 led 2013-09-13 20:43:35 MSK
(В ответ на комментарий №26)
> А в journal все равно ошибки.

"сообщение об ошибке" != "ошибка"

присылайте исходники fglrx - я уберу раздражающие вас сообщения.
Comment 28 f546607 2013-09-13 20:52:54 MSK
> "сообщение об ошибке" != "ошибка"
> 
> присылайте исходники fglrx - я уберу раздражающие вас сообщения.
Там об ошибке не fglrx говорит, а ядро.
Выше вывод journalctl -b приводил и куски из него. С модулем kernel-modules-fglrx-std-def#1:13.20.11-alt2.199179.1 тоже самое. 
Если нужен могу прислать что с последним модулем пишет, но там приблизительно тоже самое.
Или вы считаете что обращать внимания на эти сообщения ядра не стоит?
Comment 29 led 2013-09-13 21:00:07 MSK
(В ответ на комментарий №28)
> > "сообщение об ошибке" != "ошибка"
> > 
> > присылайте исходники fglrx - я уберу раздражающие вас сообщения.
> Там об ошибке не fglrx говорит, а ядро.
> Выше вывод journalctl -b приводил и куски из него. С модулем
> kernel-modules-fglrx-std-def#1:13.20.11-alt2.199179.1 тоже самое. 
> Если нужен могу прислать что с последним модулем пишет, но там приблизительно
> тоже самое.
> Или вы считаете что обращать внимания на эти сообщения ядра не стоит?

мейнтейнер kernel-image-std-def решил зачем-то включить CONFIG_DEBUG_ATOMIC_SLEEP. Решайте сами: обращать внимание или нет.
Comment 30 Anton V. Boyarshinov 2013-09-30 15:56:04 MSK
Насколько я понимаю, заработало