Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jan 2005 23:54:22 -0800
From:      "David G. Lawrence" <dg@dglawrence.com>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        current@freeBSD.org
Subject:   Re: do_execve() finding vmspace_destroyed set under load
Message-ID:  <20050130075422.GL48777@opteron.dglawrence.com>
In-Reply-To: <20050130025217.GA32612@xor.obsecurity.org>
References:  <20050130025217.GA32612@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> I'm seeing the following code in do_execve() frequently being
> triggered when scripts are executed on my SMP machine under load:
> 
>         if (imgp->vmspace_destroyed) {
>                  /* sorry, no more process anymore. exit gracefully */
> #ifdef MAC
>                 mac_execve_exit(imgp);
>                 if (interplabel != NULL)
>                         mac_vnode_label_free(interplabel);
> #endif
>                 exit1(td, W_EXITCODE(0, SIGABRT));
>                 /* NOT REACHED */
>                 error = 0;
>         }
> 
> Needless to say, the scripts get pretty unhappy when they're summarily
> aborted.  What is the cause of this?

   There are many reasons why an exec can fail - you'd need to collect
more info to be able to say specifically. Speaking generally, the above
code happens because something failed after the process's address space
had been cleared, so there is no process executable image to return
to. The only thing to do in that case is to kill off the process. If
you're only seeing the problem under load, it is probably indicating
that your running out of a kernel VM pool of some kind.

-DG

David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
TeraSolutions, Inc. - http://www.terasolutions.com - (888) 346 7175
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050130075422.GL48777>