You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法打开Vertex AI自定义TPU训练作业交互式shell问题求助

Vertex AI TPU训练作业Web Terminal启动失败报错解决

问题描述

在us-central1区域使用tpu_v2运行Vertex AI自定义训练作业时,点击训练调试板块的「launch web terminal」链接后触发Go运行时崩溃,核心报错为runtime/cgo: pthread_create failed: Operation not permitted,完整报错栈如下:

runtime/cgo: pthread_create failed: Operation not permitted
SIGABRT: abort
PC=0x7f3b932d7a7c m=0 sigcode=18446744073709551610

goroutine 0 [idle]:
runtime: g 0: unknown pc 0x7f3b932d7a7c
stack: frame={sp:0x7fff78eca340, fp:0x0} stack=[0x7fff786cb8c0,0x7fff78eca8d0)
0x00007fff78eca240:  0x0000000000000000  0x0000000000000000
0x00007fff78eca250:  0x0000000000000000  0x0000000000000000
0x00007fff78eca260:  0x0000000000000000  0x0000000000000000
...
0x00007fff78eca370:  0x00007fff78eca4be  0x00007fff78eca4bf
0x00007fff78eca380:  0x0000000000000000  0x00007f3b932d5759
0x00007fff78eca390:  0x00000000007fff00  0x0000000000000000
0x00007fff78eca3a0:  0x00000000003d0f00  0x00007f3b6bea8910
0x00007fff78eca3b0:  0x00007f3b6bea8910  0x00007f3b6bea8910
0x00007fff78eca3c0:  0x0000000000000000  0x71c8cb3b369b8900
0x00007fff78eca3d0:  0x00007f3b9323e740  0x0000000000000006
0x00007fff78eca3e0:  0x0000564c9f37f7db  0x00007fff78eca710
0x00007fff78eca3f0:  0x0000564c9fd99420  0x00007f3b93283476
0x00007fff78eca400:  0x00007f3b9345be90  0x00007f3b932697f3
0x00007fff78eca410:  0x0000000000000020  0x0000000000000001
0x00007fff78eca420:  0x00007f3b6bea8640  0x00007f3b932d65c4
0x00007fff78eca430:  0x00007fff78eca468  0x00007fff78eca650

goroutine 1 [running]:
runtime.systemstack_switch()
        /usr/local/go/src/runtime/asm_amd64.s:463 fp=0xc000132780 sp=0xc000132778 pc=0x564c9e777d20
runtime.main()
        /usr/local/go/src/runtime/proc.go:170 +0x6d fp=0xc0001327e0 sp=0xc000132780 pc=0x564c9e748c2d
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001327e8 sp=0xc0001327e0 pc=0x564c9e779fc1

rax    0x0
rbx    0x7f3b9323e740
rcx    0x7f3b932d7a7c
rdx    0x6
rdi    0x6
rsi    0x6
rbp    0x6
rsp    0x7fff78eca340
r8     0x7fff78eca410
r9     0x7fffffff
r10    0x8
r11    0x246
r12    0x6
r13    0x16
r14    0x564c9fd99420
r15    0x1
rip    0x7f3b932d7a7c
rflags 0x246
cs     0x33
fs     0x0
gs     0x0


[Finished... Terminado]

补充背景:通过Kubeflow Pipeline启动作业,已具备必要权限;Docker镜像入口为bash,支持shell访问。

可能的原因及解决方法

1. TPU Pod安全策略限制

Vertex AI TPU训练作业的Pod默认启用严格安全上下文,禁止创建新线程,而Web Terminal工具依赖Go runtime创建线程处理连接,触发权限限制。

解决方法:
在Kubeflow Pipeline的Vertex AI组件配置中,为worker pool添加允许线程创建的安全上下文:

worker_pool_specs=[{
    "machine_spec": {
        "machine_type": "cloud-tpu",
        "accelerator_type": "TPU_V2",
        "accelerator_count": 8
    },
    "container_spec": {
        "image_uri": "your-image-uri",
        "command": ["bash"]
    },
    "security_context": {
        "allow_privilege_escalation": True,
        "capabilities": {
            "add": ["SYS_ADMIN"]
        }
    }
}]

注意:SYS_ADMIN权限仅用于调试场景,生产环境需移除。

2. Docker镜像用户权限不足

若镜像以非root用户运行,可能缺少创建线程的权限。

解决方法:

  • 临时切换为root用户运行镜像,在container_spec中添加user: "root":
    "container_spec": {
        "image_uri": "your-image-uri",
        "command": ["bash"],
        "user": "root"
    }
    
  • 或在Dockerfile中为非root用户添加权限:
    RUN setcap cap_sys_admin+ep /bin/bash
    

3. Web Terminal与TPU环境兼容性问题

部分旧版本Web Terminal工具与TPU环境不兼容,导致线程创建失败。

解决方法:
使用gcloud命令行直接连接到TPU作业Pod:

gcloud ai custom-jobs ssh JOB_ID --region us-central1

替换JOB_ID为目标训练作业ID。

内容的提问来源于stack exchange,提问作者bill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:57:01