Test the OOM situation
gojpeg at gmail.com
Thu May 20 01:25:03 MSD 2010
On 19.05.2010, at 17:31, Maxim Dounin <mdounin at mdounin.ru> wrote:
> On Wed, May 19, 2010 at 04:01:07PM +0400, Peter Leonov wrote:
>> On 18.05.2010, at 23:26, Maxim Dounin wrote:
>>> Injecting random errors into allocation routines proven to be much
>>> more usable. Just for completeness: attached trivial patch which
>>> I used while searching for allocation error handling bugs in nginx
>> That is near what I was looking for :)
>> But it gives a very interesting results. For example a crash within
>> the core:
>> 40740 Bus error (core dumped)
> This may happen due to bugs in a module as well.
And it is so. The module may forget to finalize with NGX_ERROR the
request on OOM situation.
> If you are able
> to reproduce the problem without non-official modules/patches -
> this probably worth further investigation.
> You may want to try to
> reproduce the problem without optimization and/or share a way to
> reproduce it.
Reproducing with ngx_random() was a pain. Now it counts the calls to
the alloc funcs and fails at a specific moment.
IMHO, such a functionality (manageable allocation fails) is good to
have it built into nginx. With a candy configuration and command line
options, debug points and so on ;)
> Note well: last time I've tested nginx with these patches heavily
> was before 0.8.0. But I don't see any immediate segfaults/bus
> errors while running test suite against 0.8.37 with these patches.
Thank you Maxim for your time and help, again :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nginx-devel