Skip to content

[Bug] 小小容器重构后 /proc/bus/pci 权限变化导致 Chromium 无头模式启动时 GPU 初始化失败 #579

Description

@naoshishusheng

设备型号

小米14ultra

操作系统版本

Android 16 / Hyper OS 3.0.305.0

小小容器版本

v4.0.0 GXDE

是否最新版?

若非最新版,必须说明不使用最新版的原因

No response

重现问题的操作过程

新版小小容器似乎 /proc/bus/pci/devices 权限变化了:
分别使用新版 小小容器 GXDE版 v 4.0.0 和旧版 小小电脑 GXDE版 v 1.1.0
应用的所有外部权限全部允许,在 GXDE 和 chromium 版本严格相同的情况下,出现了这些变化:

GXDE 版本:25.4.1
chromium 版本:150.0.7871.114

终端输入命令

sudo ls -Z /proc/bus/pci/devices

执行结果

新版即便是用 sudo 提权也无法访问,而旧版则可以

小小容器 v 4.0.0

ls: 无法访问 '/proc/bus/pci/devices': 权限不够

小小电脑 v 1.1.0

u:object_r:app_data_file:s0:c127,c259,c512,c768 /proc/bus/pci/devices

终端输入命令

sudo cat /proc/bus/pci/devices

执行结果

新版因权限不足拒绝打印,而旧版则正常列出了所有 PCI 设备信息

小小容器 v 4.0.0

cat: /proc/bus/pci/devices: 权限不够

小小电脑 v 1.1.0

0000	80861237	0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	
0008	80867000	0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	
0009	80867010	0	             1f0	             3f6	             170	             376	            c0c1	               0	               0	               8	               0	               8	               0	              10	               0	               0	ata_piix
000a	80867020	a	               0	               0	               0	               0	            c0a1	               0	               0	               0	               0	               0	               0	              20	               0	               0	uhci_hcd
000b	80867113	9	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	               0	piix4_smbus
0010	1b360100	a	        84000000	        80000000	        88060000	            c081	               0	               0	           c0002	         4000000	         4000000	            2000	              20	               0	               0	           20000	
0018	8086100e	b	        88040000	            c041	               0	               0	               0	               0	        88000000	           20000	              40	               0	               0	               0	               0	           40000	e1000
0020	1af41009	a	            c001	        88062000	               0	               0	       80000000c	               0	               0	              40	            1000	               0	               0	            4000	               0	               0	virtio-pci

这让某些默认以无头模式启动 chromium 的应用出现问题
新版执行命令后会反复提示:

GPU process exited unexpectedly(GPU进程意外退出)

然后 chromium 强行关闭

GPU process isn't usable. Goodbye.(GPU进程不可用)

而旧版执行命令的报错只是因为容器本身特性,最后依旧是正常运行的

终端输入命令

chromium --headless --no-sandbox

执行结果

小小容器 v 4.0.0

[15346:15397:0714/130422.469243:ERROR:net/base/address_tracker_linux.cc:243] Could not bind NETLINK socket: 权限不够 (13)
[15346:15397:0714/130422.561763:ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor.
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.242400:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.375372:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.520508:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.680186:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.704466:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
pcilib: Cannot open /proc/bus/pci/devices
[15346:15346:0714/130423.729233:ERROR:content/browser/gpu/gpu_process_host.cc:1089] GPU process exited unexpectedly: exit_code=256
[15346:15346:0714/130423.729293:FATAL:content/browser/gpu/gpu_data_manager_impl_private.cc:416] GPU process isn't usable. Goodbye.
已中止

小小电脑 v 1.1.0

[27672:27672:0714/143949.328923:ERROR:base/files/file_path_watcher_inotify.cc:925] Failed to read /proc/sys/fs/inotify/max_user_watches
[27669:27669:0714/143949.328971:ERROR:base/files/file_path_watcher_inotify.cc:925] Failed to read /proc/sys/fs/inotify/max_user_watches
[27648:27678:0714/143949.442076:ERROR:base/files/file_path_watcher_inotify.cc:925] Failed to read /proc/sys/fs/inotify/max_user_watches
[27648:27679:0714/143949.491376:ERROR:net/base/address_tracker_linux.cc:243] Could not bind NETLINK socket: 权限不够 (13)
[27648:27679:0714/143949.542842:ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor.
[27748:27752:0714/143949.865436:ERROR:base/files/file_path_watcher_inotify.cc:925] Failed to read /proc/sys/fs/inotify/max_user_watches
[27648:27693:0714/143952.296462:ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor.
[27648:27682:0714/143953.313475:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT
[27648:27682:0714/144014.009532:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions