[Mesa-dev] [PATCH] glx/dri3: Provide error diagnostics when DRI3 allocation fails

Matt Turner mattst88 at gmail.com
Tue Sep 30 20:29:17 PDT 2014


On Tue, Sep 30, 2014 at 8:09 PM, Keith Packard <keithp at keithp.com> wrote:
> Instead of just segfaulting in the driver when a buffer allocation fails,
> report error messages indicating what went wrong so that we can debug things.
>
> As a simple example, chromium wraps Mesa in a sandbox which doesn't allow
> access to most syscalls, including the ability to create shared memory
> segments for fences. Before, you'd get a simple segfault in mesa and your 3D
> acceleration would fail. Now you get:
>
> $ chromium --disable-gpu-blacklist
> [10618:10643:0930/200525:ERROR:nss_util.cc(856)] After loading Root Certs, loaded==false: NSS error code: -8018
> libGL: pci id for fd 12: 8086:0a16, driver i965
> libGL: OpenDriver: trying /local-miki/src/mesa/mesa/lib/i965_dri.so
> libGL: Can't open configuration file /home/keithp/.drirc: Operation not permitted.
> libGL: Can't open configuration file /home/keithp/.drirc: Operation not permitted.
> libGL error: DRI3 Fence object allocation failure Operation not permitted
> [10618:10618:0930/200525:ERROR:command_buffer_proxy_impl.cc(153)] Could not send GpuCommandBufferMsg_Initialize.
> [10618:10618:0930/200525:ERROR:webgraphicscontext3d_command_buffer_impl.cc(236)] CommandBufferProxy::Initialize failed.
> [10618:10618:0930/200525:ERROR:webgraphicscontext3d_command_buffer_impl.cc(256)] Failed to initialize command buffer.
>
> This made it pretty easy to diagnose the problem in the referenced bug report.
>
> Bugzilla: https://code.google.com/p/chromium/issues/detail?id=415681
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---

Seems like a good plan.

Reviewed-by: Matt Turner <mattst88 at gmail.com>

Should we add a Cc: for the stable branch?


More information about the dri-devel mailing list