redroid-doc icon indicating copy to clipboard operation
redroid-doc copied to clipboard

Transport endpoint is not connected

Open hjxcode opened this issue 1 year ago • 10 comments

hi: 我遇到了一个问题,我在一个rk3588上启动了4个容器,突然所有的容器的手机内文件管理器显示“暂时无法加载内容”。

我在容器内尝试进入/sdcard或者/storage/emulated目录,都提示`Transport endpoint is not connected `
容器内查看`df -h` ,没有看到/dev/fuse的挂载。

我尝试了如下方法:

1、在host执行`modprobe fuse` ,然后重启容器

2、在host及容器内执行 `mknod -m 666 fuse c 10 229` ,然后重启容器 (参考 #562 )

3、在/vendor/etc/init/redroid.common.rc 中加入
    `on late-init
    umount /sys/fs/fuse/connections`
   然后重启(参考 #354 ,该方法一开始成功了一次,几个小时后又异常,然后就无法成功了)

以上方法目前都无法解决问题,请问有人知道是什么原因么?非常感谢

hjxcode avatar Jul 02 '24 02:07 hjxcode

@zhouziyang 你好,这个问题我现在还是频繁发生,尝试了所有issues中提及的方法,都不生效。请问我应该考虑从什么方向去定位问题。会和我在rk3588上使用了nvme固态有关么?或者和宿主机的fuse版本有关?

hjxcode avatar Nov 08 '24 03:11 hjxcode

可能有用的logcat日志:

11-08 10:34:10.912 270 404 D CompatibilityChangeReporter: Compat change id reported: 168419799; UID 10093; state: DISABLED 11-08 10:34:10.962 270 725 W ActivityManager: Appop Denial: Accessing service com.google.android.gms/com.google.android.location.internal.server.GoogleLocationService from pid=1044, uid=10054 requires appop COARSE_LOCATION 11-08 10:34:10.971 270 1049 D CompatibilityChangeReporter: Compat change id reported: 171306433; UID 10054; state: ENABLED 11-08 10:34:10.991 270 1275 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.146 270 725 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.147 270 725 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.177 270 725 I ActivityManager: com.android.vending is exempt from freezer 11-08 10:34:11.178 270 725 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10052; state: DISABLED 11-08 10:34:11.178 270 725 D CompatibilityChangeReporter: Compat change id reported: 177438394; UID 10052; state: DISABLED 11-08 10:34:11.178 270 725 D CompatibilityChangeReporter: Compat change id reported: 135772972; UID 10052; state: DISABLED 11-08 10:34:11.178 270 725 D CompatibilityChangeReporter: Compat change id reported: 135754954; UID 10052; state: ENABLED 11-08 10:34:11.178 270 298 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10052; state: ENABLED 11-08 10:34:11.188 270 298 I ActivityManager: Start proc 1604:com.android.vending/u0a52 for service {com.android.vending/com.google.android.finsky.splitinstallservice.SplitInstallService} 11-08 10:34:11.208 270 1049 D CompatibilityChangeReporter: Compat change id reported: 168419799; UID 10052; state: DISABLED 11-08 10:34:11.252 52 52 I vold : Bind mounting //data/media/0/Android/data on /mnt/user/0/emulated/0/Android/data 11-08 10:34:11.253 52 52 I vold : Bind mounted //data/media/0/Android/data on /mnt/user/0/emulated/0/Android/data 11-08 10:34:11.253 52 52 I vold : Bind mounting //data/media/0/Android/obb on /mnt/user/0/emulated/0/Android/obb 11-08 10:34:11.254 52 52 I vold : Bind mounted //data/media/0/Android/obb on /mnt/user/0/emulated/0/Android/obb 11-08 10:34:11.254 52 52 I vold : Configuring read_ahead of /mnt/user/0/emulated fuse filesystem to 256kb 11-08 10:34:11.255 52 52 I vold : Writing 256 to /sys/class/bdi/0:313/read_ahead_kb 11-08 10:34:11.255 52 52 I vold : Configuring max_ratio of /mnt/user/0/emulated fuse filesystem to 40 11-08 10:34:11.255 52 52 I vold : Writing 40 to /sys/class/bdi/0:313/max_ratio 11-08 10:34:11.256 52 974 E vold : Failed to set project id on /data/media/0/Android/data/moe.nb4a/: Operation not supported on transport endpoint 11-08 10:34:11.256 270 358 I StorageManagerService: Mounted volume VolumeInfo{emulated;0}: 11-08 10:34:11.256 270 358 I StorageManagerService: type=EMULATED diskId=null partGuid= mountFlags=PRIMARY|VISIBLE 11-08 10:34:11.256 270 358 I StorageManagerService: mountUserId=0 state=MOUNTED 11-08 10:34:11.256 270 358 I StorageManagerService: fsType=null fsUuid=null fsLabel=null 11-08 10:34:11.256 270 358 I StorageManagerService: path=/storage/emulated internalPath=/data/media 11-08 10:34:11.256 52 974 E vold : Failed to set project id on /data/media/0/Android/data/moe.nb4a/files/: Operation not supported on transport endpoint 11-08 10:34:11.256 52 56 E vold : Failed to set project id on /data/media/0/Android/data/com.apkpure.aegon/: Operation not supported on transport endpoint 11-08 10:34:11.256 52 56 E vold : Failed to set project id on /data/media/0/Android/data/com.apkpure.aegon/cache/: Operation not supported on transport endpoint 11-08 10:34:11.257 52 58 E vold : Failed to set project id on /data/media/0/Android/data/com.tencent.android.qqdownloader/: Operation not supported on transport endpoint 11-08 10:34:11.257 52 58 E vold : Failed to set project id on /data/media/0/Android/data/com.tencent.android.qqdownloader/files/: Operation not supported on transport endpoint 11-08 10:34:11.257 52 1473 E vold : Failed to set project id on /data/media/0/Android/data/org.mozilla.firefox/: Operation not supported on transport endpoint 11-08 10:34:11.257 52 1473 E vold : Failed to set project id on /data/media/0/Android/data/org.mozilla.firefox/files/: Operation not supported on transport endpoint 11-08 10:34:11.257 52 1473 E vold : Failed to set project id on /data/media/0/Android/data/org.mozilla.firefox/files/Download/: Operation not supported on transport endpoint 11-08 10:34:11.259 270 358 I StorageSessionController: Notifying volume state changed for session with id: emulated;0 11-08 10:34:11.259 270 284 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.261 270 725 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.265 270 284 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.276 270 725 W StorageManagerService: Reporting emulated;0 unmounted due to system locked 11-08 10:34:11.282 270 284 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10096; state: DISABLED 11-08 10:34:11.282 270 284 D CompatibilityChangeReporter: Compat change id reported: 177438394; UID 10096; state: DISABLED 11-08 10:34:11.282 270 284 D CompatibilityChangeReporter: Compat change id reported: 135772972; UID 10096; state: DISABLED 11-08 10:34:11.282 270 284 D CompatibilityChangeReporter: Compat change id reported: 135754954; UID 10096; state: DISABLED 11-08 10:34:11.282 270 298 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10096; state: DISABLED 11-08 10:34:11.290 270 298 I ActivityManager: Start proc 1633:com.tencent.android.qqdownloader/u0a96 for content provider {com.tencent.android.qqdownloader/com.tencent.assistant.db.contentprovider.WallpaperProvider}

hjxcode avatar Nov 08 '24 03:11 hjxcode

Any special logs for com.android.providers.media.module process? try kill com.android.providers.media.module, and fuse connections should be back.

Possibly fuse connections are aborted by some other daemon service.

zhouziyang avatar Nov 24 '24 10:11 zhouziyang

Any special logs for com.android.providers.media.module process? try kill com.android.providers.media.module, and fuse connections should be back.

Possibly fuse connections are aborted by some other daemon service.

我看不出有什么异常的日志,但这个redroid容器每次重启都缺少fuse挂载,即使我kill掉vold服务,让它重新拉起fuse,也没有用。日志如下: logcat.txt

hjxcode avatar Nov 25 '24 09:11 hjxcode

你看一下你的docker用来映射安卓/data的目录是不是权限不对,90%是这个问题

Logan147 avatar Dec 02 '24 02:12 Logan147

不要自己手动创建映射目录,直接用docker命令自动创建,不然权限什么的有问题会导致外部磁盘掉挂载

Logan147 avatar Dec 02 '24 02:12 Logan147

不要自己手动创建映射目录,直接用docker命令自动创建,不然权限什么的有问题会导致外部磁盘掉挂载

我使用的是自动创建的data目录来作为database,然后额外映射一个目录作为data-diff。使用的都是原生的权限。我发现当容器内有这个错误(磁盘没了)的时候,是/dev/fuse在 df -h 的显示中没了。应该是fuse没挂上的(也可能是先挂上了,然后又被其他进程干掉了)。在现象中,我发现/sys/fs/fuse/connection目录(宿主机和容器内是相同的)下的连接也确实少了这个手机的连接。

然后我发现,有的时候我手动干掉 容器内/dev/fuse的全部挂载,然后kill 掉vold进程,有一定的概率可以再次自动将/dev/fuse挂载恢复。但有的时候又不生效。

不知道该怎么解决这个问题。

hjxcode avatar Dec 02 '24 02:12 hjxcode

Any special logs for com.android.providers.media.module process? try kill com.android.providers.media.module, and fuse connections should be back.

Possibly fuse connections are aborted by some other daemon service.

When the container has the above problem, this module( com.android.providers.media.module) does not exist.

image

image

hjxcode avatar Dec 02 '24 03:12 hjxcode

@zhouziyang @Logan147 I also have a problem aboout com.android.providers.media.module process died. As you said: Possibly fuse connections are aborted by some other daemon service. Is there has any reason that kill providers.media.module or who could kill providers.media.module?

We have a low probability of MediaProvider process death when playing MP3 through MediaPlayer in Android12 devices. only use these following api: mediaPlayer.setDataSource(path); mediaPlayer.prepare(); mediaPlayer.start(); only has these following logs:

01-05 05:51:37.035  1494 14722 I MediaTest : RmMediaPlayer_outDev_1:/mnt/sdcard/Report/reportstation/PublicVoice/test.mp3
01-05 05:51:37.049  1494 14722 W MediaPlayer: Use of stream types is deprecated for operations other than volume control
01-05 05:51:37.049  1494 14722 W MediaPlayer: See the documentation of setAudioStreamType() for what to use instead with android.media.AudioAttributes to qualify your playback use case
01-05 05:51:37.053  1391  1473 D SQLiteQueryBuilder: SELECT _video_codec_type, _size, duration, capture_framerate, width, height, color_standard, color_transfer FROM files WHERE ((((is_pending=0 AND NOT _modifier=4) OR (is_pending=1 AND lower(_data) NOT REGEXP '.*/\.pending-(\d+)-([^/]+)$' AND owner_package_name IN ( 'com.android.providers.media.module' )))) AND (is_trashed=0) AND (volume_name IN ( 'external_primary' ))) AND ((_data=? and mime_type not like 'null')) with args [/storage/emulated/0/Report/reportstation/PublicVoice/test.mp3]
01-05 05:51:37.057  1494 14722 E JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 444)
01-05 05:51:37.057  1494 14722 I ActivityThread: Removing dead content provider:android.content.ContentProviderProxy@9f129d6
01-05 05:51:37.057   479  1237 I ActivityManager: Process com.android.providers.media.module (pid 1391) early provider death
01-05 05:51:37.080   149   149 I Zygote  : Process 1391 exited due to signal 9 (Killed)
01-05 05:51:37.287  1494 14722 E MediaPlayerNative: Unable to create media player
01-05 05:51:37.288  1494 14722 E  MediaTest: RmMediaPlayer_outDev_1:setDataSource error:java.io.IOException: setDataSourceFD failed.: status=0x80000000

I have posted on https://issuetracker.google.com/issues/391132298 and the link there also has logs attachment. Could you explain it with more details? thanks.

wentaitu avatar Jan 23 '25 09:01 wentaitu

@zhouziyang @Logan147 also has these logs

	行 1041683: 01-05 05:51:37.287   222  1207 E MediaPlayerService: fstat(8) failed: -1, Transport endpoint is not connected
	行 1042281: 01-05 05:51:38.181 14757 14857 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1042292: 01-05 05:51:38.181 14757 14857 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1042301: 01-05 05:51:38.182 14757 14857 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style_extra.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1042315: 01-05 05:51:38.182 14757 14857 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1045878: 01-05 05:51:43.101 15281 15361 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1045890: 01-05 05:51:43.101 15281 15361 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1045902: 01-05 05:51:43.102 15281 15361 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style_extra.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1045915: 01-05 05:51:43.103 15281 15361 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1049152: 01-05 05:51:48.216 15674 15754 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1049163: 01-05 05:51:48.217 15674 15754 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1049176: 01-05 05:51:48.217 15674 15754 W System.err: java.io.FileNotFoundException: /mnt/sdcard/amap/style_extra.data: open failed: ENOTCONN (Transport endpoint is not connected)
	行 1049187: 01-05 05:51:48.218 15674 15754 W System.err: Caused by: android.system.ErrnoException: open failed: ENOTCONN (Transport endpoint is not connected)

wentaitu avatar Jan 23 '25 09:01 wentaitu