Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Aug 2020 09:44:14 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Alexandre Levy <a13xlevy@gmail.com>, freebsd-current@freebsd.org
Subject:   Re: Kernel crash during video transcoding
Message-ID:  <13793020-1bde-b13f-65e3-909e27d876ad@selasky.org>
In-Reply-To: <CAEWSB323c2zapSG30OS5T30Wd_bpT=7NbvrPtsyQDRRHQUf7qA@mail.gmail.com>
References:  <CAEWSB323c2zapSG30OS5T30Wd_bpT=7NbvrPtsyQDRRHQUf7qA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On 2020-08-10 00:19, Alexandre Levy wrote:
> Hi,
> 
> I installed the port drm-devel-kmod for Plex to be able to transcode videos
> using the integrated GPU of my Intel Celeron G5900.
> 
> I'm running r364031 and the kernel is compiled with GENERIC-NODEBUG profile.
> 
> Transcoding has been working fine for quite a while now but one video
> transcoding is causing a kernel panic that is reproducible all the time
> with that particular video. It seems like it's caused by the i915kms module
> (call of i915_gms_fault() in the stack) :

If you compile the kernel using GENERIC and then enable debugging in the 
i915 kms and reproduce, we might get a more clear picture!

It is a so called NULL pointer you've experienced.

--HPS

> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0xdf
> fault code              = supervisor read data, page not present
> instruction pointer     = 0x20:0xffffffff80bdd2b4
> stack pointer           = 0x0:0xfffffe00d2be56d0
> frame pointer           = 0x0:0xfffffe00d2be56d0
> 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         = 4611 (Plex Transcoder)
> trap number             = 12
> panic: page fault
> cpuid = 0
> time = 1596976796
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
> 0xfffffe00d2be5390
> vpanic() at vpanic+0x182/frame 0xfffffe00d2be53e0
> panic() at panic+0x43/frame 0xfffffe00d2be5440
> trap_fatal() at trap_fatal+0x387/frame 0xfffffe00d2be54a0
> trap_pfault() at trap_pfault+0x4f/frame 0xfffffe00d2be54f0
> trap() at trap+0x271/frame 0xfffffe00d2be5600
> calltrap() at calltrap+0x8/frame 0xfffffe00d2be5600
> --- trap 0xc, rip = 0xffffffff80bdd2b4, rsp = 0xfffffe00d2be56d0, rbp =
> 0xfffffe00d2be56d0 ---
> _rw_wowned() at _rw_wowned+0x4/frame 0xfffffe00d2be56d0
> vm_page_busy_acquire() at vm_page_busy_acquire+0x141/frame
> 0xfffffe00d2be5710
> remap_io_mapping() at remap_io_mapping+0x120/frame 0xfffffe00d2be5760
> i915_gem_fault() at i915_gem_fault+0x25f/frame 0xfffffe00d2be57d0
> linux_cdev_pager_populate() at linux_cdev_pager_populate+0x11b/frame
> 0xfffffe00d2be5840
> vm_fault() at vm_fault+0x3d1/frame 0xfffffe00d2be5950
> vm_fault_trap() at vm_fault_trap+0x60/frame 0xfffffe00d2be5990
> trap_pfault() at trap_pfault+0x19c/frame 0xfffffe00d2be59e0
> trap() at trap+0x3f1/frame 0xfffffe00d2be5af0
> calltrap() at calltrap+0x8/frame 0xfffffe00d2be5af0
> --- trap 0xc, rip = 0x80296659a, rsp = 0x7fffffffbd38, rbp = 0x80fc00000 ---
> KDB: enter: panic
> 
> I don't see any crash dump in /var/crash despite having the right
> configuration and I should have enough space on my swap device (128GB USB
> drive) :
> 
> $ cat /etc/rc.conf | grep dump
> dumpdev="AUTO"
> 
> $ swapinfo
> Device          1K-blocks     Used    Avail Capacity
> /dev/gpt/crash0 121307096        0 121307096     0%
> 
> $ cat /etc/fstab
> /dev/gpt/crash0 none    swap    sw              0       0
> 
> $ dumpon -l
> gpt/crash0
> 
> Not sure why no dump was generated, is it because the kernel was compiled
> with the GENERIC-NODEBUG profile ? However I see various KDB options in the
> GENERIC profile that are inherited by GENERIC-NODEBUG.
> 
> Happy to recompile the kernel with GENERIC profile if it's required.
> 
> Thank you.
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13793020-1bde-b13f-65e3-909e27d876ad>