我正在使用Qt和QWebEngine构建一个使用铬后端的应用程序。会议进行了一两分钟后(只有我在房间里分享我的摄像头(,整个网络引擎都冻结了,我没有得到任何回应。它在控制台中打印以下消息:
[4760:4777:0105/080543.432601:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4760:4777:0105/080543.500689:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4760:4777:0105/080543.520016:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4722:4748:0105/080546.062242:ERROR:platform_shared_memory_region_posix.cc(249)] Creating shared memory in /dev/shm/.org.chromium.Chromium.2sAJUM failed: Too many open files (24)
[4762:10:0100/000000.068025:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4722:4739:0105/080546.068751:ERROR:unix_domain_socket.cc(194)] recvmsg returned MSG_CTRUNC flag, buffer len is 0
[4722:4748:0105/080546.070291:ERROR:platform_shared_memory_region_posix.cc(249)] Creating shared memory in /dev/shm/.org.chromium.Chromium.4tUFk2 failed: Too many open files (24)
[4722:4739:0105/080546.070768:ERROR:unix_domain_socket.cc(194)] recvmsg returned MSG_CTRUNC flag, buffer len is 0
[4762:10:0100/000000.070574:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4722:4748:0105/080546.070969:ERROR:platform_shared_memory_region_posix.cc(249)] Creating shared memory in /dev/shm/.org.chromium.Chromium.0JRpo8 failed: Too many open files (24)
[4722:4739:0105/080546.071154:ERROR:unix_domain_socket.cc(194)] recvmsg returned MSG_CTRUNC flag, buffer len is 0
[4762:9:0100/000000.071083:ERROR:broker_posix.cc(46)] Received unexpected number of handles
[4722:4739:0105/080546.149295:ERROR:unix_domain_socket.cc(194)] recvmsg returned MSG_CTRUNC flag, buffer len is 0
[4762:4:0100/000000.149163:ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE (invalid field 1)
我的应用程序只打开一个选项卡,我已经检查过了,有4 GB/dev/shm
:
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 9.9G 46G 18% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.9G 23M 3.8G 1% /dev/shm
tmpfs 3.9G 8.6M 3.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 54M 199M 22% /boot
tmpfs 783M 4.0K 783M 1% /run/user/1000
并且ulimit -a
返回:
pi@raspberrypi:~ $ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 60532
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 95
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 60532
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我已将打开的文件增加到4000个,但没有帮助。我不知道是什么原因造成的。我的硬件是Raspberry Pi 4B 8G RAM。
这是一个错误,但我不知道具体在哪里。我确信Qt对此负责。我已经交叉编译了问题5.13.0,但问题没有出现。我的第一个版本是Qt5.15.2,它很冷。此外,我在树莓皮上用chromium网络浏览器登录了Skype,但问题没有出现。当时我觉得Qt的Web引擎一定出了问题。此外,我在树莓上遇到了5.13.0的一些问题,我无法使用eglfs平台运行该应用程序,而是使用linuxfb。