Running a lot of Firefox instances causes kernel page fault.
accelrtr@yandex.com
Submitted byAssigned to Nouveau Project
Description
Created attachment 125951
dmesg output from startup with showed blocked processes
I noticed that sometimes application like firefox, mvp and other qt5 apps stops launching. Already running applications are not affected.
Steps to reproduce:
Using Firefox is the fastest method to reproduce bug.
- Launch Firefox instances until kernel oops. Last instance freezes.
[ 398.040470] resource sanity check: requesting [mem 0xf9fcf000-0xfa035fff], which spans more than 0000:01:00.0 [mem 0xf8000000-0xf9ffffff 64bit]
[ 398.040518] caller nv50_instobj_boot+0xaa/0x120 [nouveau] mapping multiple BARs
[ 398.040539] BUG: unable to handle kernel paging request at ffffc90000d30000
[ 398.040567] IP: [``] iowrite32+0x31/0x40
[ 398.040581] PGD 12b085067 PUD 12b086067 PMD c9657067 PTE 0
[ 398.040595] Oops: 0002 [#1] PREEMPT SMP
[ 398.040600] Modules linked in: fuse nouveau wmi atl1c video pcspkr fbcon bitblit softcursor font i2c_algo_bit backlight drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea ttm drm agpgart fb fbdev
[ 398.040663] CPU: 1 PID: 4704 Comm: firefox Not tainted 4.7.2-gentoo #1
[ 398.040670] Hardware name: Gigabyte Technology Co., Ltd. G41M-Combo/G41M-Combo, BIOS FA 02/29/2012
[ 398.040678] task: ffff88003c14a640 ti: ffff8801070b4000 task.ti: ffff8801070b4000
[ 398.040685] RIP: 0010:[``] [``] iowrite32+0x31/0x40
[ 398.040695] RSP: 0018:ffff8801070b7838 EFLAGS: 00010292
[ 398.040700] RAX: ffffffffa020b940 RBX: 0000000000010000 RCX: 0000000000000000
[ 398.040707] RDX: ffffc90000d30000 RSI: ffffc90000d30000 RDI: 000000003defa281
[ 398.040713] RBP: ffff8801070b7840 R08: 0000000000000067 R09: 000000003dec9000
[ 398.040719] R10: ffff880046925900 R11: 000000003dec9000 R12: 0000000000000000
[ 398.040726] R13: 000000003defa281 R14: 0000000000000100 R15: ffff88012a7daf40
[ 398.040733] FS: 00007f1e9b8d9740(0000) GS:ffff88012fa80000(0000) knlGS:0000000000000000
[ 398.040739] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 398.040745] CR2: ffffc90000d30000 CR3: 0000000119d6f000 CR4: 00000000000406e0
[ 398.040750] Stack:
[ 398.040754] ffffffffa017cb6f ffff8801070b7898 ffffffffa0182663 ffff880046925900
[ 398.040766] ffff88005e153198 000000003df1a001 000000b000000000 0000000000000067
[ 398.040776] 0000000000000000 0000000000002036 ffff88012a07ba00 ffff88005e153198
[ 398.040787] Call Trace:
[ 398.040811] [``] ? nvkm_instobj_wr32+0xf/0x20 [nouveau]
[ 398.040836] [``] nv50_vm_map+0x153/0x1a0 [nouveau]
[ 398.040860] [``] nvkm_vm_map_at+0xd7/0x1c0 [nouveau]
[ 398.040884] [``] nv50_instobj_map+0x16/0x20 [nouveau]
[ 398.040908] [``] nv50_instobj_boot+0xc0/0x120 [nouveau]
[ 398.040933] [``] nv50_instobj_acquire+0x46/0x70 [nouveau]
[ 398.040960] [``] nvkm_instobj_acquire_slow+0x12/0x30 [nouveau]
[ 398.040984] [``] nvkm_instobj_new+0x56/0x150 [nouveau]
[ 398.041003] [``] nvkm_memory_new+0x30/0x50 [nouveau]
[ 398.041010] [``] nvkm_gpuobj_new+0x119/0x200 [nouveau]
[ 398.041010] [``] nv50_gr_chan_bind+0x27/0x60 [nouveau]
[ 398.041010] [``] nvkm_object_bind+0x12/0x20 [nouveau]
[ 398.041010] [``] g84_fifo_chan_engine_ctor+0x34/0x40 [nouveau]
[ 398.041010] [``] nvkm_fifo_chan_child_new+0x14f/0x270 [nouveau]
[ 398.041010] [``] nvkm_ioctl_new+0x123/0x280 [nouveau]
[ 398.041010] [``] ? ___slab_alloc+0x1e9/0x4a0
[ 398.041010] [``] ? nvkm_fifo_chan_child_get+0x5c/0x110 [nouveau]
[ 398.041010] [``] ? nvkm_fifo_chan_dtor+0xd0/0xd0 [nouveau]
[ 398.041010] [``] ? nvkm_object_new_+0x60/0x60 [nouveau]
[ 398.041010] [``] nvkm_ioctl+0x1cc/0x240 [nouveau]
[ 398.041010] [``] nvkm_client_ioctl+0xd/0x10 [nouveau]
[ 398.041010] [``] nvif_object_ioctl+0x3d/0x50 [nouveau]
[ 398.041010] [``] nvif_object_init+0xbd/0x130 [nouveau]
[ 398.041010] [``] nouveau_abi16_ioctl_grobj_alloc+0x141/0x2d0 [nouveau]
[ 398.041010] [``] drm_ioctl+0x13d/0x560 [drm]
[ 398.041010] [``] ? nouveau_abi16_ioctl_channel_free+0x90/0x90 [nouveau]
[ 398.041010] [``] ? preempt_count_add+0xa5/0xc0
[ 398.041010] [``] ? _raw_spin_unlock_irqrestore+0x1b/0x30
[ 398.041010] [``] nouveau_drm_ioctl+0x62/0xb0 [nouveau]
[ 398.041010] [``] do_vfs_ioctl+0x8b/0x590
[ 398.041010] [``] SyS_ioctl+0x74/0x80
[ 398.041010] [``] entry_SYSCALL_64_fastpath+0x1a/0xa4
[ 398.041010] Code: 00 48 89 f2 77 25 48 81 fe 00 00 01 00 76 07 0f b7 d6 89 f8 ef c3 55 48 c7 c6 1c 72 bb 81 48 89 d7 48 89 e5 e8 51 fe ff ff 5d c3 `<89>` 3e c3 66 90 66 2e 0f 1f 84 00 00 00 00 00 48 81 ff ff ff 03
[ 398.041010] RIP [``] iowrite32+0x31/0x40
[ 398.041010] RSP ``
[ 398.041010] CR2: ffffc90000d30000
[ 398.041010] ---[ end trace 0441d3b445912110 ]---
[ 598.401939] sysrq: SysRq : Show Blocked State
[ 598.401946] task PC stack pid father
[ 598.402183] firefox D ffff8801070b73f8 12256 4704 4699 0x00000002
[ 598.402193] ffff8801070b73f8 0000000000000000 ffff88012ab61980 ffff88003c14a640
[ 598.402197] ffff8801070b7420 ffff8801070b8000 ffff88002674d15c ffff88003c14a640
[ 598.402200] 00000000ffffffff ffff88002674d160 ffff8801070b7410 ffffffff81824dea
[ 598.402204] Call Trace:
[ 598.402212] [``] schedule+0x3a/0x90
[ 598.402215] [``] schedule_preempt_disabled+0x13/0x20
[ 598.402217] [``] __mutex_lock_slowpath+0x90/0x120
[ 598.402220] [``] mutex_lock+0x12/0x30
[ 598.402250] [``] nouveau_drm_preclose+0x30/0x90 [nouveau]
[ 598.402259] [``] drm_release+0xb3/0x4c0 [drm]
[ 598.402263] [``] __fput+0xc9/0x1d0
[ 598.402265] [``] ____fput+0x9/0x10
[ 598.402269] [``] task_work_run+0x7c/0xa0
[ 598.402272] [``] do_exit+0x367/0xbf0
[ 598.402276] [``] oops_end+0x97/0xd0
[ 598.402279] [``] no_context+0x10d/0x360
[ 598.402282] [``] __bad_area_nosemaphore+0x77/0x1b0
[ 598.402285] [``] bad_area_nosemaphore+0xf/0x20
[ 598.402287] [``] __do_page_fault+0x88/0x510
[ 598.402291] [``] ? print_time.part.13+0x67/0x90
[ 598.402293] [``] ? print_prefix+0x61/0xa0
[ 598.402295] [``] do_page_fault+0x22/0x30
[ 598.402298] [``] page_fault+0x28/0x30
[ 598.402303] [``] ? iowrite32+0x31/0x40
[ 598.402322] [``] ? nvkm_instobj_wr32+0xf/0x20 [nouveau]
[ 598.402341] [``] nv50_vm_map+0x153/0x1a0 [nouveau]
[ 598.402361] [``] nvkm_vm_map_at+0xd7/0x1c0 [nouveau]
[ 598.402380] [``] nv50_instobj_map+0x16/0x20 [nouveau]
[ 598.402399] [``] nv50_instobj_boot+0xc0/0x120 [nouveau]
[ 598.402418] [``] nv50_instobj_acquire+0x46/0x70 [nouveau]
[ 598.402437] [``] nvkm_instobj_acquire_slow+0x12/0x30 [nouveau]
[ 598.402456] [``] nvkm_instobj_new+0x56/0x150 [nouveau]
[ 598.402470] [``] nvkm_memory_new+0x30/0x50 [nouveau]
[ 598.402484] [``] nvkm_gpuobj_new+0x119/0x200 [nouveau]
[ 598.402502] [``] nv50_gr_chan_bind+0x27/0x60 [nouveau]
[ 598.402516] [``] nvkm_object_bind+0x12/0x20 [nouveau]
[ 598.402535] [``] g84_fifo_chan_engine_ctor+0x34/0x40 [nouveau]
[ 598.402553] [``] nvkm_fifo_chan_child_new+0x14f/0x270 [nouveau]
[ 598.402567] [``] nvkm_ioctl_new+0x123/0x280 [nouveau]
[ 598.402570] [``] ? ___slab_alloc+0x1e9/0x4a0
[ 598.402589] [``] ? nvkm_fifo_chan_child_get+0x5c/0x110 [nouveau]
[ 598.402607] [``] ? nvkm_fifo_chan_dtor+0xd0/0xd0 [nouveau]
[ 598.402622] [``] ? nvkm_object_new_+0x60/0x60 [nouveau]
[ 598.402636] [``] nvkm_ioctl+0x1cc/0x240 [nouveau]
[ 598.402652] [``] nvkm_client_ioctl+0xd/0x10 [nouveau]
[ 598.402665] [``] nvif_object_ioctl+0x3d/0x50 [nouveau]
[ 598.402678] [``] nvif_object_init+0xbd/0x130 [nouveau]
[ 598.402694] [``] nouveau_abi16_ioctl_grobj_alloc+0x141/0x2d0 [nouveau]
[ 598.402700] [``] drm_ioctl+0x13d/0x560 [drm]
[ 598.402715] [``] ? nouveau_abi16_ioctl_channel_free+0x90/0x90 [nouveau]
[ 598.402719] [``] ? preempt_count_add+0xa5/0xc0
[ 598.402722] [``] ? _raw_spin_unlock_irqrestore+0x1b/0x30
[ 598.402738] [``] nouveau_drm_ioctl+0x62/0xb0 [nouveau]
[ 598.402741] [``] do_vfs_ioctl+0x8b/0x590
[ 598.402744] [``] SyS_ioctl+0x74/0x80
[ 598.402747] [``] entry_SYSCALL_64_fastpath+0x1a/0xa4
3. Try to switch VT. Mouse disappears, Xorg freezes and switching terminal no longer possible.
This bug also reproducible on 4.4.6-gentoo kernel
**Attachment 125951**, "dmesg output from startup with showed blocked processes":
kernel_log2.txt