amshafer / nvidia-driver

Fork of the Nvidia FreeBSD driver to port the nvidia-drm.ko module from Linux
43 stars 5 forks source link

Panic in i915_gem_object_get_pages_dmabuf with PRIME #3

Closed amshafer closed 1 year ago

amshafer commented 1 year ago

This tracks a kernel panic I'm seeing when using the default prime config with renderoffload. The panic happens at the xrandr --auto step.

X config was generated by nvidia-xconfig -prime.

Fatal trap 12: page fault while in kernel mode                                                                                                       
cpuid = 6; apic id = 06                                                                                                                              
fault virtual address   = 0x1d6                                                                                                                      
fault code              = supervisor read data, page not present                                                                                     
instruction pointer     = 0x20:0xffffffff853fa08f                                                                                                    
stack pointer           = 0x28:0xfffffe0142eef540                                                                                                    
frame pointer           = 0x28:0xfffffe0142eef560                                                                                                    
code segment            = base 0x0, limit 0xfffff, type 0x1b                                                                                         
                        = DPL 0, pres 1, long 1, def32 0, gran 1                                                                                     
processor eflags        = interrupt enabled, resume, IOPL = 0                                                                                        
current process         = 2272 (MainThread)                                                                                                          
rdi:              1d6 rsi:               10 rdx:               2e                                                                                    
rcx:                0  r8:               10  r9:            10000                                                                                    
rax:              1d6 rbx: fffff80010c54380 rbp: fffffe0142eef560                                                                                    
r10:                1 r11:            10000 r12: fffffe00e25be720   
r13: fffff8000d027370 r14: fffff8013c080180 r15: fffffe00e25be720                                                                                    
trap number             = 12                                                                                                                         
panic: page fault                                                                                                                                    
cpuid = 6                                                                 
time = 1670202574                                                                                                                                    
KDB: stack backtrace:                                                                                                                                
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0142eef300                                                   
vpanic() at vpanic+0x151/frame 0xfffffe0142eef350                         
panic() at panic+0x43/frame 0xfffffe0142eef3b0                                                                                                       
trap_fatal() at trap_fatal+0x409/frame 0xfffffe0142eef410
trap_pfault() at trap_pfault+0xab/frame 0xfffffe0142eef470                                                                                           
calltrap() at calltrap+0x8/frame 0xfffffe0142eef470                                                                                                  
--- trap 0xc, rip = 0xffffffff853fa08f, rsp = 0xfffffe0142eef540, rbp = 0xfffffe0142eef560 ---
i915_gem_object_get_pages_dmabuf() at i915_gem_object_get_pages_dmabuf+0x4f/frame 0xfffffe0142eef560                              
____i915_gem_object_get_pages() at ____i915_gem_object_get_pages+0x8a/frame 0xfffffe0142eef590                               
__i915_gem_object_get_pages() at __i915_gem_object_get_pages+0xe5/frame 0xfffffe0142eef5e0         
i915_gem_object_pin_pages() at i915_gem_object_pin_pages+0x4c/frame 0xfffffe0142eef600
intel_prepare_plane_fb() at intel_prepare_plane_fb+0x27b/frame 0xfffffe0142eef6f0
drm_atomic_helper_prepare_planes() at drm_atomic_helper_prepare_planes+0x18c/frame 0xfffffe0142eef760
intel_atomic_prepare_commit() at intel_atomic_prepare_commit+0x1d/frame 0xfffffe0142eef7c0
intel_atomic_commit() at intel_atomic_commit+0x1bb/frame 0xfffffe0142eef890        
drm_atomic_commit() at drm_atomic_commit+0x7c/frame 0xfffffe0142eef8c0                                                                               
drm_atomic_helper_set_config() at drm_atomic_helper_set_config+0xa4/frame 0xfffffe0142eef900
drm_mode_setcrtc() at drm_mode_setcrtc+0x7a6/frame 0xfffffe0142eefa30
drm_ioctl_kernel() at drm_ioctl_kernel+0xd4/frame 0xfffffe0142eefaa0   
drm_ioctl() at drm_ioctl+0x532/frame 0xfffffe0142eefc60           
linux_file_ioctl() at linux_file_ioctl+0x307/frame 0xfffffe0142eefcc0
kern_ioctl() at kern_ioctl+0x202/frame 0xfffffe0142eefd30
sys_ioctl() at sys_ioctl+0x12a/frame 0xfffffe0142eefe00
amd64_syscall() at amd64_syscall+0x12e/frame 0xfffffe0142eeff30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0142eeff30 
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x82c80932a, rsp = 0x821276918, rbp = 0x821276940 ---
amshafer commented 1 year ago

Fixed by: