Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.6.0 RC
-
None
-
Ubuntu 14.04, X86 PC Env
Config log :
./configure -prefix /path/to -nomake examples -nomake tests -confirm-license -opensource -kms -no-libinput --debug
Config log 2:
./configure -prefix /path/to -nomake examples -nomake tests -confirm-license -opensource -kms -no-libinput -no-xcb-xlib -no-xcb --debug
Ubuntu 14.04, X86 PC Env Config log : ./configure -prefix /path/to -nomake examples -nomake tests -confirm-license -opensource -kms -no-libinput --debug Config log 2: ./configure -prefix /path/to -nomake examples -nomake tests -confirm-license -opensource -kms -no-libinput -no-xcb-xlib -no-xcb --debug
-
3ee51f8f085da394851857b0d6a42df537ca99da
Description
Most Qt code is running with applied platform plugin with -platform or environment QT_QPA_PLATFORM.
But the qtwebengine module probably works with build time dependencies.
In my testing environment, it always try to use X11 related code even though the backend has set as eglfs.
If runtime backend change is difficult by some reason (e.g - Chromium code/build stuffs's limitation), I think that the configure option to build exclude x11 dependencies from qtwebengine should be provided as option.
Built qt 5.6 beta on Ubuntu 14.04 with following configure
./configure -prefix /path/to -nomake examples -nomake tests -confirm-license -opensource -kms -no-libinput --debug
Run sample app which uses qtwebengine on X11 env
=> Ok
Run sample app which uses qtwebengine on non-X11 env (eglfs-kms)
=> Segfault
unset DISPLAY, stop xdm/gdm/lightdm to shutdown X.org
export QT_QPA_EGLFS_KMS_CONFIG=$(pwd)/kms.json
export QT_QPA_PLATFORM=eglfs
./sample
Segmentation fault (core dumped)
GDB backtrace
(gdb) bt
#0 0x000000000000000d in ?? ()
#1 0x00007fffea71ed1f in XInternAtoms ()
from /usr/lib/x86_64-linux-gnu/libX11.so.6
#2 0x00007ffff36d0fa9 in ui::X11AtomCache::X11AtomCache (this=0xc47a38,
xdisplay=0x99cfb0, to_cache=0x7ffff7ae2be0 <kCachedAtoms>)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/gfx/x/x11_atom_cache.cc:27
#3 0x00007ffff2ee4cd0 in ui::DeviceDataManagerX11::DeviceDataManagerX11 (
this=0xc3a510)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/events/devices/x11/device_data_manager_x11.cc:150
#4 0x00007ffff2ee4a51 in ui::DeviceDataManagerX11::CreateInstance ()
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/events/devices/x11/device_data_manager_x11.cc:135
#5 0x00007ffff4441d7b in ui::X11EventSource::X11EventSource (this=0xc3a470,
display=0x99cfb0)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/events/platform/x11/x11_event_source.cc:81
#6 0x00007ffff4440ee5 in ui::(anonymous namespace)::X11EventSourceGlib::X11EventSourceGlib (this=0xc3a470, display=0x99cfb0)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/events/platform/x11/x11_event_source_glib.cc:54
#7 0x00007ffff4441319 in ui::PlatformEventSource::CreateDefault ()
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/events/platform/x11/x11_event_source_glib.cc:97
#8 0x00007ffff3319d37 in aura::Env::Init (this=0xc3a060,
create_event_source=true)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/aura/env.cc:93
#9 0x00007ffff33196d1 in aura::Env::CreateInstance (create_event_source=true)
at /opt2/qt-everywhere-opensource-src-5.6.0-rc/qtwebengine/src/3rdparty/chromium/ui/aura/env.cc:34
So added -no-xcb-xlib -no-xcb into configure and tried again. but the result was same. Qt's xcb backend has not been created. but the QtWebEngine module work like above backtrace.
Attachments
Issue Links
- relates to
-
QTBUG-55384 QtWebEngine crashes on Wayland
- Closed
-
QTBUG-55384 QtWebEngine crashes on Wayland
- Closed
For Gerrit Dashboard: QTBUG-51631 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
220302,23 | Use ozone for x11 | dev | qt/qtwebengine | Status: MERGED | -2 | 0 |