what is expected malloc behavior re. limits/insufficient resources?
what is expected malloc behavior re. limits/insufficient resources?
- Subject: what is expected malloc behavior re. limits/insufficient resources?
- From: IainS <email@hidden>
- Date: Wed, 24 Dec 2008 14:37:05 +0000
Hi,
On 10.{8,9}
In a situation where the malloc request:
is < MALLOC_ABSOLUTE_MAX_SIZE
but > [total RAM + total free swap partition space]
or > ulimit -v , or ulimit -d (regardless of soft/hard)
it seems that malloc() returns a non-NULL pointer (i.e. without error).
Subsequent use of the returned pointer can (and does) bring the
system down
once you see a "no free paging space left" message thing are looking
grim.
---
Interposing malloc debug puts up the appropriate "insane request"
message - but under 'normal' malloc the program runs on happily until
the system dies.
----
(a) Is malloc() supposed to honor ulimits?
(b) Is malloc() supposed to allow requests in excess of available
system resources?
( I would be amongst the first to agree that providing a robust
solution is non-trivial -- but... that doesn't mean it isn't worth
trying).
- There doesn't appear to be a RLIMIT_VMEM so that control is not avail.
----
This behavior is troublesome - because a simple non-privileged
program compiled -m64 can easily stop the system
(with loss of any data that depends on a program that depend on
malloc --- i.e. pretty much all of them)
does any of the behavior described constitute a bug -- or perhaps an
enhancement ?
cheers and season's greetings,
Iain
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden