Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Hard hang in current when starting openvpn



On Tuesday 18 November 2008, Sverre Froyen wrote:
> Hi,
>
> With today's current, I get a hang when attempting to start openvpn in the
> boot sequence (from pkgsrc).   The ctr-alt-esc key press does nothing. 
> This is with userland from 3 November and all I've done is to copy the new
> kernel to root.  Is there something else that must be installed for this to
> work? Modules? Libraries?  The system appears to function fine as long as I
> do not start openvpn.

The fatal piece of openvpn code appears to be (in misc.c):

          pid = fork ();
          if (pid == (pid_t)0) /* child side */
            {
              execve (cmd, argv, envp);
              exit (127);
            }
          else if (pid < (pid_t)0) /* fork failed */
            ;
          else /* parent side */
            {
              if (waitpid (pid, &ret, 0) != pid)
                ret = -1;
            }

The command being executed is:

/sbin/ifconfig tun0 10.8.1.14 10.8.1.13 mtu 1500 netmask 255.255.255.255 up

Since presumably the fork/execve/waitpid combo is being used all over the 
place, I'm guessing that it is the ifconfig command that is the culprit.  I 
can run the command from the shell prompt without error, and I was able to run 
openvpn in the debugger *once* without hanging the system, so I suspect there 
might be a race condition somewhere.  I turned on LOCKDEBUG to see if it might 
catch the error but that made no difference.

Ideas anyone?

Thanks,
Sverre



Home | Main Index | Thread Index | Old Index