Open perhydrol opened 1 year ago
在什么设备上运行?什么cpu
云服务器 Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz Linux alas 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux 这台机器已经正常运行alas一个月了,发生错误前唯一的变化就是从 11 升级到了 12
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
不好意思,我刚刚从考试周解脱出来。
我换了一台机器,之前的那台回退到 11 后一切正常,我在另一台上直接重装的 Debian12。搭建后有新的问题,一直卡在登录界面上。
我也执行了上述命令,如图
你好,我使用Debian12 docker-composes也遇到了这个问题,
如果可以的话请给出复现步骤,我这边并不能复现。我目前的环境:
Linux debian12 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux
Docker version 20.10.24+dfsg1, build 297e128
docker-compose version 1.29.2, build unknown
如果可以的话请给出复现步骤,我这边并不能复现。
Linux debian12 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux
git clone https://github.com/LmeSzinc/AzurLaneAutoScript cd AzurLaneAutoScript mv config/deploy.template-docker-cn.yaml config/deploy..yaml docker-compose.yml 中注释'dockerfile: ./Dockerfile'使用‘dockerfile: ./Dockerfile.cn’ docker-compose up 系统环境: root@Debian:~# docker -v Docker version 24.0.2, build cb74dfc root@Debian:~# docker-compose -v Docker Compose version v2.18.1 root@Debian:~# uname -v
mv config/deploy.template-docker-cn.yaml config/deploy..yaml这里我多打了个点
mv config/deploy.template-docker-cn.yaml config/deploy..yaml这里我多打了个点
我按照 docker文档 把我的 docker compose 升级到了v2.19并根据你的步骤使用 v2 来构建容器运行 alas,依然无法复现。
mv config/deploy.template-docker-cn.yaml config/deploy..yaml这里我多打了个点
我按照 docker文档 把我的 docker compose 升级到了v2.19并根据你的步骤使用 v2 来构建容器运行 alas,依然无法复现。
这太奇怪了,我补充一下,我使用了vmos pro虚拟机,开启了ADB,ALAS里填写了手机局域网ip加adb端口
我使用github上的不带cn的方式构建,发现界面很流畅,但是无法连接手机;同样的我还使用了群晖docker构建了,带cn的镜像,可以连接手机,但是会报错AttributeError: 'AlasGUI' object has no attribute 'state_switch'
我在debian12上的alas试着抛出应用发生内部错误
×
╭────────────────────────── Traceback (most recent call last) ───────────────────────────╮
│ │
│ /usr/local/lib/python3.7/site-packages/pywebio/session/threadbased.py:254 in run │
│ │
│ 253 │ │ │ │ try: │
│ ❱ 254 │ │ │ │ │ callback(event['data']) │
│ 255 │ │ │ │ except Exception as e: │
│ │
│ ╭────────────────────────────────────── locals ──────────────────────────────────────╮ │
│ │ callback = <function put_buttons.
我不太确定是不是 docker-compose 的问题,因为我一直是手敲命令运行的,不管是一直正常运转的时候还是出错的时候。最后,我的新机器,直接重装的 debian12 也能正常运作。我怀疑是之前直接升级的问题。
docker run --net=host --volume=${SOURCE}/..:/app/AzurLaneAutoScript:rw --interactive --tty --name ${CONTAINER} ${CONTAINER}
@Mozi71 请问你是使用哪一个 dockerfile 构建的呢?在我这直接使用 Dockerfile (不带cn)构建的镜像,在构建时就会报错,因为 netcat 已经是虚包了,需要修改。
Package netcat is a virtual package provided by:
#0 4.337 netcat-openbsd 1.219-1
#0 4.337 netcat-traditional 1.10-47
#0 4.337
#0 4.339 E: Package 'netcat' has no installation candidate
我不太确定是不是 docker-compose 的问题,因为我一直是手敲命令运行的,不管是一直正常运转的时候还是出错的时候。最后,我的新机器,直接重装的 debian12 也能正常运作。我怀疑是之前直接升级的问题。
docker run --net=host --volume=${SOURCE}/..:/app/AzurLaneAutoScript:rw --interactive --tty --name ${CONTAINER} ${CONTAINER}
@Mozi71 请问你是使用哪一个 dockerfile 构建的呢?在我这直接使用 Dockerfile (不带cn)构建的镜像,在构建时就会报错,因为 netcat 已经是虚包了,需要修改。
Package netcat is a virtual package provided by: #0 4.337 netcat-openbsd 1.219-1 #0 4.337 netcat-traditional 1.10-47 #0 4.337 #0 4.339 E: Package 'netcat' has no installation candidate
我直接使用了AzurLaneAutoScript目录下的docker-compose.yml,编辑了docker-compose.yml以用于Dockerfile.cn构建映像
@Mozi71 请问你是使用哪一个 dockerfile 构建的呢?在我这直接使用 Dockerfile (不带cn)构建的镜像,在构建时就会报错,因为 netcat 已经是虚包了,需要修改。
当使用 Dockerfile 时,使用的 python:3.7-slim 会随着修订号的更新而更新,实际上是和 python:3.7.17-slim 是一个镜像。这个镜像可以看到已经是基于 Debian12 制作的了,在 Bookworm 的软件仓库中 netcat 没有了所谓的 "dummy" package,也就是 netcat,只剩下 netcat-openbsd 和 netcat-traditional。但是,Alas 现在不再需要使用 netcat 来使用 nc 类的截图,而是直接使用模拟器提供的功能,因此在最新的安装教程中,我们把 netcat 去掉了,对于 Dockerfile 里的 netcat,我们已经证实可以在没有这个软件依赖的情况下使用 nc 类的截图,很快会把它从 Dockerfile 里移除。
@Mozi71 请问你是使用哪一个 dockerfile 构建的呢?在我这直接使用 Dockerfile (不带cn)构建的镜像,在构建时就会报错,因为 netcat 已经是虚包了,需要修改。
当使用 Dockerfile 时,使用的 python:3.7-slim 会随着修订号的更新而更新,实际上是和 python:3.7.17-slim 是一个镜像。这个镜像可以看到已经是基于 Debian12 制作的了,在 Bookworm 的软件仓库中 netcat 没有了所谓的 "dummy" package,也就是 netcat,只剩下 netcat-openbsd 和 netcat-traditional。但是,Alas 现在不再需要使用 netcat 来使用 nc 类的截图,而是直接使用模拟器提供的功能,因此在最新的安装教程中,我们把 netcat 去掉了,对于 Dockerfile 里的 netcat,我们已经证实可以在没有这个软件依赖的情况下使用 nc 类的截图,很快会把它从 Dockerfile 里移除。
我刚才重新尝试了,debian12 使用了网络镜像安装,
docker使用了
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
docker-compose使用了
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-compose.yml使用了cn,deploy使用了deploy.template-docker-cn.yaml
我成功构建了ALAS,不清楚是否是部分参数配置的问题,每次再调度器启动后,都会陷入错误
日志栏也没有抛出错误
以上都是在纯净系统内进行的,除必要包外没有额外应用安装或操作
出现了一样的错误 Intel Celeron J4125 RAM 8GB Ubuntu 22.04.3 LTS (Debian 12 GNU/Linux Distro) Docker version 24.0.5, build ced0996
docker build -t NAME/alas:latest .
报错找不到Cargo,修改Dockerfile
后成功build Docker image
docker run -v ${PWD}:/app/AzurLaneAutoScript -p 22267:22267 --name alas -it --rm NAME/alas:latest
localhost:22267进入web,配置json后运行,发生错误,未出现Error日志
附上Docker image
docker pull hoffman616/alas:latest
更新一下
conda create -n alas python==3.7.6
安装依赖后直接python gui.py
也出现同样的问题
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
3q, 发现默认build的镜像里面的mxnet确实有问题。pip install mxnet-alas,就可以运行了。debian12运行不了的朋友,可以试试进容器里面重新安装一个mxnet试试。
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
3q, 发现默认build的镜像里面的mxnet确实有问题。pip install mxnet-alas,就可以运行了。debian12运行不了的朋友,可以试试进容器里面重新安装一个mxnet试试。
您好,您目前是模拟器和ALAS分机运行吗?我目前是台式PC运行蓝叠模拟器,有另外一台linux服务器,构建了alas镜像
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
3q, 发现默认build的镜像里面的mxnet确实有问题。pip install mxnet-alas,就可以运行了。debian12运行不了的朋友,可以试试进容器里面重新安装一个mxnet试试。
您指的是“docker exec -it alas /bin/bash”——》pip install mxnet-alas吗?
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
3q, 发现默认build的镜像里面的mxnet确实有问题。pip install mxnet-alas,就可以运行了。debian12运行不了的朋友,可以试试进容器里面重新安装一个mxnet试试。
您指的是“docker exec -it alas /bin/bash”——》pip install mxnet-alas吗?
是的。我是一台报废手机跑游戏,路由器上挂的alas.
在 docker 内进入 python 命令行,执行
import mxnet
看看结果
3q, 发现默认build的镜像里面的mxnet确实有问题。pip install mxnet-alas,就可以运行了。debian12运行不了的朋友,可以试试进容器里面重新安装一个mxnet试试。
您指的是“docker exec -it alas /bin/bash”——》pip install mxnet-alas吗?
是的。我是一台报废手机跑游戏,路由器上挂的alas.
我是ubuntu22.04系统,到OCR后报错,没有任何报错信息,用了这个方法,结果竟然可以了,非常感谢
话说明明 mxnet-alas 都没用上你们是怎么解决的草
# docker exec -it alas python
Python 3.7.17 (default, Sep 20 2023, 12:13:47)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet
>>> mxnet.__file__
'/usr/local/lib/python3.7/site-packages/mxnet/__init__.py'
我使用的设备是j1900 cpu,8g内存,使用redroid模拟器运行的碧蓝航线,而后使用了docker版的alas,发现它卡在" Loading OCR dependencies"代码附近,没有报错,但是显示"发生错误",以下是截图以及log:
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
START
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
INFO 22:19:45.524 │ Start scheduler loop: alas
INFO 22:19:45.543 │ [Server] cn
INFO 22:19:45.631 │ Bind task ['General', 'Alas']
INFO 22:19:45.774 │ Server "发电机计划" is available.
INFO 22:19:45.806 │ Pending tasks: ['Restart', 'Commission', 'Tactical', 'Research', 'Exercise', 'Dorm', 'Meowfficer',
'Guild', 'Gacha', 'Reward', 'ShopFrequent', 'Shipyard', 'Freebies', 'Minigame', 'OpsiAshBeacon', 'OpsiDaily',
'OpsiShop', 'OpsiObscure', 'Daily', 'Hard', 'OpsiAshAssist', 'EventSp', 'EventA', 'EventB', 'Main',
'OpsiMeowfficerFarming']
INFO 22:19:45.832 │ [Task] Restart (Enable, 2024-06-29 23:39:10)
INFO 22:19:45.844 │ Bind task ['General', 'Alas', 'Restart']
════════════════════════════════════════════════════════════ DEVICE ════════════════════════════════════════════════════════════
INFO 22:19:47.859 │ DEVICE
INFO 22:19:47.867 │ [IS_ON_PHONE_CLOUD] False
INFO 22:19:47.877 │ [AdbBinary] /usr/bin/adb
INFO 22:19:47.893 │ [AdbClient] AdbClient(127.0.0.1, 5037)
INFO 22:19:47.903 │ <<< DETECT DEVICE >>>
INFO 22:19:47.912 │ Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
INFO 22:19:51.667 │ emulator-5554
INFO 22:19:51.687 │ connected to 0.0.0.0:5555
INFO 22:19:51.696 │ [AdbDevice] AdbDevice(serial=0.0.0.0:5555)
INFO 22:19:51.708 │ [PackageName] com.bilibili.azurlane
INFO 22:19:51.718 │ [Server] cn
──────────────────────────────────────────────────── FIND EMULATOR INSTANCE ────────────────────────────────────────────────────
INFO 22:19:51.736 │ FIND EMULATOR INSTANCE
WARNING 22:19:51.746 │ No emulator instance with {'serial': '0.0.0.0:5555'}, serial invalid
INFO 22:19:51.757 │ Screenshot interval set to 0.3s
INFO 22:19:51.768 │ <<< MINITOUCH INIT >>>
INFO 22:19:51.774 │ Skip task `Restart` at scheduler start
INFO 22:19:51.794 │ Delay task `Restart` to 2024-07-01 00:00:00 (server_update='00:00')
INFO 22:19:51.881 │ Bind task ['General', 'Alas', 'Restart']
INFO 22:19:51.886 │ [Device Orientation] 0 (Normal)
INFO 22:19:51.898 │ Save config ./config/alas.json, Restart.Scheduler.NextRun=datetime.datetime(2024, 7, 1, 0, 0)
INFO 22:19:51.920 │ Create forward: ForwardItem(serial='0.0.0.0:5555', local='tcp:20751', remote='localabstract:minitouch')
INFO 22:19:51.940 │
INFO 22:19:51.949 │ [Server] cn
INFO 22:19:51.955 │
INFO 22:19:52.048 │ Bind task ['General', 'Alas']
INFO 22:19:52.068 │ Pending tasks: ['Commission', 'Tactical', 'Research', 'Exercise', 'Dorm', 'Meowfficer', 'Guild',
'Gacha', 'Reward', 'ShopFrequent', 'Shipyard', 'Freebies', 'Minigame', 'OpsiAshBeacon', 'OpsiDaily', 'OpsiShop',
'OpsiObscure', 'Daily', 'Hard', 'OpsiAshAssist', 'EventSp', 'EventA', 'EventB', 'Main', 'OpsiMeowfficerFarming']
INFO 22:19:52.085 │ [Task] Commission (Enable, 2024-06-29 22:14:28)
INFO 22:19:52.094 │ Bind task ['General', 'Alas', 'Commission']
INFO 22:19:52.114 │ Scheduler: Start task `Commission`
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
COMMISSION
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
INFO 22:19:52.168 │ [nemud.app_keep_alive]
INFO 22:19:52.179 │ Create forward: ForwardItem(serial='0.0.0.0:5555', local='tcp:20650', remote='tcp:53516')
ERROR 22:19:52.199 │ ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without
response'))
INFO 22:19:52.210 │ <<< DROIDCAST INIT >>>
INFO 22:19:52.219 │ Stopping DroidCast
WARNING 22:19:52.255 │ atx-agent has something wrong, auto recovering
INFO 22:19:52.265 │ device 0.0.0.0:5555 is online
INFO 22:19:52.561 │ uiautomator2 version: 2.16.17
INFO 22:19:52.570 │ Shell: ('/data/local/tmp/atx-agent', 'server', '--stop')
INFO 22:19:52.911 │ Real version: [0, 10, 0], Expect version: [0, 10, 0]
INFO 22:19:52.921 │ Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d', '--addr', '127.0.0.1:7912')
INFO 22:19:52.971 │
INFO 22:19:52.979 │
INFO 22:19:53.061 │ Check atx-agent version
INFO 22:19:53.073 │ Forward: local:tcp:43871 -> remote:tcp:7912
INFO 22:19:53.592 │ Forward: local:tcp:43871 -> remote:tcp:7912
INFO 22:19:53.616 │ atx-agent version 0.10.0
INFO 22:19:53.642 │ device wlan ip: route ip+net: no such network interface
INFO 22:19:53.668 │ newCommandTimeout updated to 168h0m0s
INFO 22:19:53.679 │ [u2.Device] Device(atx_agent_url=http://127.0.0.1:43871)
INFO 22:19:53.714 │ Pushing DroidCast apk
INFO 22:19:53.724 │ Execute: ['/usr/bin/adb', '-s', '0.0.0.0:5555', 'push', './bin/DroidCast/DroidCast_raw-release-1.0.apk',
'/data/local/tmp/DroidCast_raw.apk']
INFO 22:19:53.771 │ Starting DroidCast apk
INFO 22:19:53.798 │ ShellBackgroundResponse(success=True, pid=1687, description='Successfully started program:
CLASSPATH=/data/local/tmp/DroidCast_raw.apk app_process / ink.mol.droidcast_raw.Main > /dev/null')
INFO 22:19:53.817 │ Reuse forward: ForwardItem(serial='0.0.0.0:5555', local='tcp:20650', remote='tcp:53516')
INFO 22:19:53.831 │ [DroidCast_raw] http://127.0.0.1:20650/screenshot
INFO 22:19:53.992 │
INFO 22:19:54.000 │
ERROR 22:19:54.010 │ MinitouchNotInstalledError: Received empty data from minitouch, probably because minitouch is not
installed
INFO 22:19:54.022 │ Install uiautomator2
INFO 22:19:54.098 │ [DroidCast] offline
INFO 22:19:54.203 │ uiautomator2 version: 2.16.17
INFO 22:19:54.213 │ Install minicap, minitouch
INFO 22:19:54.223 │ Use cached assets:
/usr/local/lib/python3.7/site-packages/uiautomator2cache/cache/minitouch-69336c8f34/minitouch
INFO 22:19:54.234 │ Push to /data/local/tmp/minitouch:0755
INFO 22:19:54.404 │ [DroidCast] online
INFO 22:19:54.412 │ apk-debug package-info: {'package_name': 'com.github.uiautomator', 'version_name': '2.3.3',
'version_code': '2003003', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'],
'first_install_time': datetime.datetime(2024, 5, 30, 10, 53, 35), 'last_update_time': datetime.datetime(2024, 5, 30,
10, 53, 35), 'signature': 'ae17cd86], past signatures:['}
INFO 22:19:54.439 │ apk-debug-test package-info: {'package_name': 'com.github.uiautomator.test', 'version_name': '',
'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time':
datetime.datetime(2024, 5, 30, 10, 53, 36), 'last_update_time': datetime.datetime(2024, 5, 30, 10, 53, 36),
'signature': 'ae17cd86], past signatures:['}
INFO 22:19:54.460 │ Already installed com.github.uiautomator apks
INFO 22:19:54.470 │ Shell: ('/data/local/tmp/atx-agent', 'server', '--stop')
INFO 22:19:54.767 │ [Screen_size] 1280x720
INFO 22:19:55.312 │ Real version: [0, 10, 0], Expect version: [0, 10, 0]
INFO 22:19:55.328 │ Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d', '--addr', '127.0.0.1:7912')
INFO 22:19:55.404 │ early_ocr_import call
INFO 22:19:55.413 │ early_ocr_import start
INFO 22:19:55.417 │ <<< UI ENSURE >>>
INFO 22:19:55.435 │ Loading OCR dependencies
INFO 22:19:55.439 │ UI get current page
INFO 22:19:55.466 │ Check atx-agent version
INFO 22:19:55.484 │ Forward: local:tcp:43871 -> remote:tcp:7912
然后我使用/bin/bash进入容器,在python下运行'import mxnet',显示: 我使用了这个方法(pip install mxnet-alas)后的信息: 之后重新运行alas,看到可以执行下去了: 已经可以正常运行: 希望我提供的信息可以帮助您解决问题,如果需要更多的信息请联系我
翻了一下数个 mxnet 官仓的 issues 提到了需要 AVX2 指令集,而 j1900 没有,也许是这个原因
原来是跟设备有关系,这个Illegal instruction (core dumped)
好像就说明‘代码尝试在当前CPU架构不支持的指令上运行’,看来还是得搞点正常的设备,不然就会有各种各样的毛病,不过机缘巧合下能找到这种解决方案真是太好玩了^_^
原来是跟设备有关系,这个
Illegal instruction (core dumped)
好像就说明‘代码尝试在当前CPU架构不支持的指令上运行’,看来还是得搞点正常的设备,不然就会有各种各样的毛病,不过机缘巧合下能找到这种解决方案真是太好玩了^_^
自己编译一遍更好玩:)
感谢大佬的解答,自己编译的话太难了,还是得靠大佬们(赞)
感谢大佬的解答,自己编译的话太难了,还是得靠大佬们(赞)
麻烦 import mxnet 之后,再 mxnet.__file__
,我想看一下导了什么。
然后 shell 跑一下 grep -c avx2 /proc/cpuinfo
我想看看结果是不是为0。
好
翻了一下数个 mxnet 官仓的 issues 提到了需要 AVX2 指令集,而 j1900 没有,也许是这个原因
应该跟这个关系不大,我cpu是i5-8250u,确认了带avx2,并且bios里面打开了。cpu工具也检测到了。
在提问之前...
描述你的问题
更新 Debian 至 12 后 alas 的 Docker 容器无法运行,已经尝试重新构建镜像依旧无法解决。其他容器,诸如 Nginx、portainer 均运行良好,故推测是 alas 可能有 bug。
无报错日志,alas 会直接退出
如何复现
预期行为
No response
相关 Logs
截图
还有别的吗?
No response