OSSystems / meta-browser

OpenEmbedded/Yocto BSP layer for Web Browsers
MIT License
184 stars 191 forks source link

Runtime error Chromium-ozone-wayland on Dunfell, Pi 4 64 bit #725

Open Escalion opened 1 year ago

Escalion commented 1 year ago

I am able to build chromium following the instructions, however I am getting a segmentation fault when running on Pi 4 using FKMS (KMS does seem to render, but I am limited to FKMS due to display timings). I have tried with versions as far back as 109.0.5414.74

error:

root@raspberrypi4-64:~# chromium --no-sandbox
[12417:12453:0619/160516.538895:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[12417:12453:0619/160516.540010:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[12448:12448:0619/160516.583930:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is egl, ANGLE is 
Segmentation fault

strace from 109.0.5414.74:

sendmsg(31, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\f\0\0\0\0\0\20\0\3\0\0\0\0\t\0\0\3\0\0\0\2\0\f\0\300\25\0\0\3\0\0\0"..., iov_len=124}], msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data=[41]}], msg_controllen=20, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 124
close(41)                               = 0
sendto(46, "\240\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160, MSG_NOSIGNAL, NULL, 0) = 160
sendto(46, "\270\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 184, MSG_NOSIGNAL, NULL, 0) = 184
read(15, "5\273\302\221{\332\367\262", 8) = 8
read(15, "\206\257B\251\255&\253\257", 8) = 8
read(15, "g\336O\0265\261\251Z.\2039\255\237\211\316\342", 16) = 16
gettid()                                = 836
gettid()                                = 836
gettid()                                = 836
mprotect(0x2c00a44000, 28672, PROT_READ|PROT_WRITE) = 0
gettid()                                = 836
mprotect(0x2c00a4c000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a50000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a54000, 49152, PROT_READ|PROT_WRITE) = 0
read(15, "u\237\361\26\200\353\tay\224\10N\263\177eR", 16) = 16
read(15, "\261\216\315\30\266\345j\307", 8) = 8
mprotect(0x2c00a60000, 16384, PROT_READ|PROT_WRITE) = 0
read(15, ",\217\177,\300\320\214\352", 8) = 8
mprotect(0x2c00a64000, 16384, PROT_READ|PROT_WRITE) = 0
read(15, "\261\373\255\340\201\230[\277", 8) = 8
mprotect(0x2c00a68000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a6c000, 28672, PROT_READ|PROT_WRITE) = 0
futex(0x7fb5668f28, FUTEX_WAKE_PRIVATE, 2147483647) = 0
mprotect(0x2c00a74000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a7c000, 16384, PROT_READ|PROT_WRITE) = 0
faccessat(AT_FDCWD, "/usr/share/fonts/truetype/sazanami-gothic.ttf", R_OK) = 0
mprotect(0x2c00a80000, 16384, PROT_READ|PROT_WRITE) = 0
gettid()                                = 836
gettid()                                = 836
mprotect(0x2c00a84000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a88000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00a94000, 40960, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00aa0000, 16384, PROT_READ|PROT_WRITE) = 0
gettid()                                = 836
mprotect(0x2c00aa4000, 28672, PROT_READ|PROT_WRITE) = 0
futex(0x7fb0e4d3f0, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0e4d398, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x2c002b8188, FUTEX_WAKE_PRIVATE, 1) = 1
gettid()                                = 836
gettid()                                = 836
read(15, "\320\254\360\10\360V\255fA\226\274\242\334\246d\262", 16) = 16
gettid()                                = 836
gettid()                                = 836
mprotect(0x2c00aac000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ab0000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00abc000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ac0000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ac4000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00acc000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ad4000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ad8000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ae4000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00ae8000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00aec000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00af0000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00af4000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00af8000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b00000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b04000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b10000, 32768, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b18000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b1c000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b20000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b24000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b2c000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b30000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b34000, 28672, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b3c000, 49152, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b48000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b4c000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b50000, 16384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2c00b54000, 16384, PROT_READ|PROT_WRITE) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x64} ---
gettid()                                = 836
prctl(PR_GET_DUMPABLE)                  = 1 (SUID_DUMP_USER)
rt_sigprocmask(SIG_BLOCK, [CONT], [SEGV], 8) = 0
sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\0\0\1\0\0\0\330k\263\263\177\0\0\0\10\246'\0,\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=40}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL[0619/125425.080131:ERROR:scoped_ptrace_attach.cc(27)] ptrace: Operation not permitted (1)
) = 40
rt_sigtimedwait([CONT], {si_signo=SIGCONT, si_code=SI_TKILL, si_pid=843, si_uid=0}, {tv_sec=5, tv_nsec=0}, 8) = 18 (SIGCONT)
rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0
futex(0x2c0027a628, FUTEX_WAKE_PRIVATE, 2147483647) = 0
rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, NULL, 8) = 0
getpid()                                = 836
gettid()                                = 836
rt_tgsigqueueinfo(836, 836, SIGSEGV, {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x64}) = 0
rt_sigreturn({mask=[]})                 = 188981723328
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x64} ---
+++ killed by SIGSEGV +++

I am using latest from poky/dunfell, latest from meta-clang/dunfell-clang12, and latest from meta-openembedded/dunfell

Any ideas on what could be causing this?

Escalion commented 1 year ago

KMS seems to also be affected - however, repeated attempts to start can occasionally yield a window. Further digging suggests the issue may be related to https://github.com/electron/electron/issues/32436