On 05/22/2013 05:24 AM, Csiszár Tamás wrote:
Hi,

I have a strange error on one of our servers when I use vzctl. There's a running host with a few VE-s and if I type /vzctl enter "CTID"/ then I receive /enter into CT "CTID" failed/ and no further messages. After a lot of debugging I realized that it works if I directly connect via the server's console, but if I login via ssh it gives the error.
The system parameters:
OS: CentOS release 6.4
Kernel: Linux vm4 2.6.32-042stab078.10 #1 SMP Wed May 8 19:45:03 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux
vzctl: vzctl-core-4.2-1.el6.x86_64
         vzctl-4.2-1.el6.x86_64

I've tried to reboot the system with different kernels, but the same error. There's another strange thing: we have another machine with the same kernel but I cannot reproduce the error there. I've also tried to run vzctl with gdb and search in the source code, and there seems to be a problem around setting up the environment:
In src/lib/hooks_vz.c there's a function:

/static int vz_env_create_ioctl(vps_handler *h, envid_t veid, int flags)//
//{//
//        struct vzctl_env_create env_create;//
//        int errcode;//
//        int retry = 0;//
//
//        memset(&env_create, 0, sizeof(env_create));//
//        env_create.veid = veid;//
//        env_create.flags = flags;//
//        do {//
//                if (retry)//
//                        sleep(1);//
// errcode = ioctl(h->vzfd, VZCTL_ENV_CREATE, &env_create);//
//                fprintf(stderr,"error code: %d\n",errcode);//
//        } while (errcode < 0 && errno == EBUSY && retry++ < ENVRETRY);//
//        if (errcode >= 0 && (flags & VE_ENTER)) {//
//                /* Clear supplementary group IDs *///
//                setgroups(0, NULL);//
//                /* Set personality PER_LINUX32 for i386 based CTs *///
//                set_personality32();//
//        }//
//        else{//
//fprintf(stderr,"%s,%d\n",strerror(errno),errno);//
//        }//
//        return errcode;//
//}/

The ioctl returns with an error: INVALID ARG. Also the vzct start/stop don't work.
I compared the two host's environment variables, but no difference.


Hmm, looks weird.

The fact that it works from console and doesn't work from ssh is interesting. Maybe you should compare your environment from console and ssh.

If you want I can take a look, email me privately.
_______________________________________________
Users mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/users

Reply via email to