收起左侧

相册缩略图损坏参考解决方案

1
回复
189
查看
[ 复制链接 ]

2

主题

5

回帖

0

牛值

江湖小虾

2026-6-9 18:56:32 显示全部楼层 阅读模式

问题描述

系统版本:X86

设备环境:(物理机、局域网 | FN Connect 、系统版本1.1.3104 、相册版本0.9.4)

BUG现象:(我通过web端和app访问,上传图片后发现出现缩略图无法加载现象,在文件管理界面可以打开原文件;相册的重新建立索引,重新识别,重新创建缩略图都试过,无效;停用相册,重启nas,卸载相册,彻底卸载相册都无效;并且以前上传的图片可以正常显示,只有今天系统更新后出现;在彻底卸载相册后以前的图片才出现缩略图无法加载情况)

出现频率:(必现)

联系方式:(18956947617,755群-安西义之)

日志文件:飞牛分享【Debug_Log_20260521013448.zip】,点击链接下载文件,在App打开可转存到NAS:https://share.fnnas.net/s/52e26969a93a4849ab

PixPin_2026-05-21_01-40-13.png

飞牛 1.1.3106 相册正常但缩略图不显示,原因是 imagesrv 缺 libOpenCL.so.1

解决方案:

现象
飞牛版本 1.1.3106,相册本身能打开,照片列表/时间线正常,但缩略图无法正常显示。

排查过程

先看缩略图服务:

<span><span>systemctl status auto_thumbnailer.service --no-pager -l</span> <span>journalctl -u auto_thumbnailer.service -n 200 --no-pager</span></span>

auto_thumbnailer.service 是正常运行的,所以继续查相册日志:

<span><span>tail -n 240 /usr/local/apps/@appdata/trim.photos/log/error.log</span></span>

看到关键错误:

<span><span>imageSrv.GenJpegThumb error: dial unix /run/trim_app_cgi/imagesrv: connect: no such file or directory</span> <span>gen thumb err, id: xx, err: dial unix /run/trim_app_cgi/imagesrv: connect: no such file or directory</span> <span>read file error open /var/apps/trim.photos/meta/data/thumb/s/...: no such file or directory</span></span>

说明相册不是自己完全坏了,而是生成缩略图时依赖的 imagesrv socket 不存在。

继续检查:

<span><span>ls -la /run/trim_app_cgi</span> <span>systemctl status imagesrv.service --no-pager -l</span> <span>journalctl -u imagesrv.service -n 200 --no-pager</span></span>

发现 imagesrv.service 一直在重启失败,核心错误是:

<span><span>/usr/trim/bin/imagesrv: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory</span></span>

再确认依赖:

<span><span>ldd /usr/trim/bin/imagesrv | grep OpenCL</span> <span>ldconfig -p | grep -i opencl</span> <span>dpkg -L ocl-icd-libopencl1</span></span>

结果显示 imagesrvlibOpenCL.so.1,而 ocl-icd-libopencl1 包状态异常,包管理器认为装了,但实际 .so 文件没出来。

修复方法

重装 OpenCL ICD loader:

<span><span>apt-get install --reinstall -y ocl-icd-libopencl1</span> <span>ldconfig</span></span>

然后重启 imagesrv

<span><span>systemctl restart imagesrv.service</span> <span>systemctl status imagesrv.service --no-pager -l</span> <span>ls -la /run/trim_app_cgi/imagesrv</span></span>

修复后确认:

<span><span>imagesrv.service active (running)</span> <span>/run/trim_app_cgi/imagesrv 已存在</span></span>

再重启相册应用,让它重新连接恢复后的 imagesrv

<span><span>TRIM_APPNAME=trim.photos \</span> <span>TRIM_APPDEST=/usr/local/apps/@appcenter/trim.photos \</span> <span>TRIM_PKGVAR=/usr/local/apps/@appdata/trim.photos \</span> <span>TRIM_PKGMETA=/vol1/@appmeta/trim.photos \</span> <span>TRIM_PKGHOME=/usr/local/apps/@apphome/trim.photos \</span> <span>/var/apps/trim.photos/cmd/main stop</span> <span></span> <span>TRIM_APPNAME=trim.photos \</span> <span>TRIM_APPDEST=/usr/local/apps/@appcenter/trim.photos \</span> <span>TRIM_PKGVAR=/usr/local/apps/@appdata/trim.photos \</span> <span>TRIM_PKGMETA=/vol1/@appmeta/trim.photos \</span> <span>TRIM_PKGHOME=/usr/local/apps/@apphome/trim.photos \</span> <span>/var/apps/trim.photos/cmd/main start</span></span>

最后验证:

<span><span>systemctl is-active imagesrv.service</span> <span>curl -s --unix-socket /var/run/trim_photos.sock --max-time 3 http://localhost/p/api/v1/health</span> <span>test -S /run/trim_app_cgi/imagesrv && echo ok</span> <span>find /vol1/@appmeta/trim.photos/data/thumb -maxdepth 3 -type f | wc -l</span> <span>du -sh /vol1/@appmeta/trim.photos/data/thumb</span></span>

修复后我的结果是:

<span><span>imagesrv=active</span> <span>photos_health=18742</span> <span>socket=ok</span> <span>缩略图缓存:376 个</span> <span>缩略图缓存大小:18M</span></span>

注意
执行 apt-get install --reinstall -y ocl-icd-libopencl1 时,我这里还报了一个无关错误:

<span><span>broadcom-sta-dkms package post-installation script subprocess returned error exit status 10</span> <span>E: Sub-process /usr/bin/dpkg returned an error code (1)</span></span>

ocl-icd-libopencl1 实际已经重新装好,libOpenCL.so.1 恢复了,imagesrv 也能正常启动。这个 DKMS 报错和相册缩略图问题不是同一个原因。

收藏
送赞
分享
2026-6-10 14:14:14 显示全部楼层

感谢反馈!我转给相关的同学看看。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则