Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault when launching chromium with ozone-platform=wayland #253

Closed
MastaG opened this issue Apr 24, 2019 · 5 comments
Closed

Segfault when launching chromium with ozone-platform=wayland #253

MastaG opened this issue Apr 24, 2019 · 5 comments
Assignees

Comments

@MastaG
Copy link
Contributor

MastaG commented Apr 24, 2019

Hi,

I'm building chromium with:
use_ozone=true
ozone_auto_platforms=false
ozone_platform_headless=true
ozone_platform_wayland=true
ozone_platform_x11=false
use_system_libwayland=true
use_system_minigbm=false
use_system_libdrm=false
use_exynos_minigbm=true

Note that I'm using the included libdrm and exynos minigbm because ARM's libgbm is too outdated.

I'm running Chromium with:
--use-gl=egl
--enable-gpu-rasterization
--enable-impl-side-painting
--ozone-platform=wayland
--in-process-gpu
--ignore-gpu-blacklist

Note that the '--in-process-gpu' flag used to be required or else Chromium would segfault on launch.

But after this commit: 164e929
Chromium always segfaults, even when passing the --in-process-gpu flag.

Wayland debug:
wayland_debug.txt

Gdb trace:
Thread 1 "chromium-bin" received signal SIGSEGV, Segmentation fault.
0x017c458e in make_unique<ui::WaylandBufferManager::Surface, ui::WaylandWindow*&, ui::WaylandConnection* const&> () at /usr/include/c++/v1/memory:3132
3132 in /usr/include/c++/v1/memory

@msisov
Copy link
Collaborator

msisov commented Apr 29, 2019

@MastaG, according to the wayland_debug, you don't have the zwp_linux_dmabuf protocol available.

PS I will fix this by falling back to either software mode or by falling back to using wl_egl_surface (depending whether in-process-gpu is passed or not).

UPD: though, there is fallback in the ToT. Didn't I backport this patch?

@msisov msisov closed this as completed Apr 29, 2019
@msisov
Copy link
Collaborator

msisov commented Apr 29, 2019

can you paste full bt?

@msisov msisov reopened this Apr 29, 2019
@MastaG
Copy link
Contributor Author

MastaG commented Apr 29, 2019

Hi @msisov
Thanks for looking into this.
I'm using the ARM mali-T628 r12p004 drivers for the odroid xu3.
They're only distributed as binaries and very outdated.
It provides it's own version of libEGL and libwayland-egl, so it's quite possible it misses zwp_linux_dmabuf support.

So if you're going to create a workaround for that, then please don't as there's a open-source mesa driver (panfrost) currently in development which is progressing really well.

I was fighting a bit with gdb as it wouldn't cooperate with me, but I'll try to make a full bt when I get home and post it here.

@MastaG
Copy link
Contributor Author

MastaG commented May 2, 2019

Well I'm not so experienced with gdb.
I'm running it with:
gdb --args /usr/lib/chromium/chromium-bin --use-gl=egl --enable-gpu-rasterization --enable-impl-side-painting --ozone-platform=wayland --in-process-gpu --ignore-gpu-blacklist

Here's the full backtrace on all threads, but it's the first one that segfaults.
bt_all_threads.txt

@msisov
Copy link
Collaborator

msisov commented May 6, 2019

I guess we have discussed it in the IRC, right? The problem was with the zwp linux dmabuf not being available. If so, closing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants