[For freeshell admin only] OpenVZ vzctl enter 无法进入 Debian 7.0 wheezy 的 shell(事实上是 bash 4.2),表现为卡死,strace 发现是卡在 read 系统调用上了。

经查,是 OpenVZ vzctl 的一个 bug,在 execve container 内的 /bin/bash 之前,还有几个从父进程继承来的文件描述符没有关掉。关掉除 stdin, stdout, stderr 外的所有文件描述符后,问题解决。

commit(基于 Debian source package vzctl_3.0.24-12):
https://gitlab.lug.ustc.edu.cn/ustc-blog/vzctl/commit/0a86e9ce2f60dd485a289da98f339fd051f79e7e