Date: Sun, 13 May 2007 14:54:42 -0700 From: Alfred Perlstein <alfred@freebsd.org> To: Ivan Voras <ivoras@fer.hr> Cc: freebsd-arch@freebsd.org Subject: Re: HEADS DOWN Message-ID: <20070513215442.GZ21795@elvis.mu.org> In-Reply-To: <f25m78$ik$2@sea.gmane.org> References: <20070512153532.GQ21795@elvis.mu.org> <63984.1178992555@critter.freebsd.dk> <f25m78$ik$2@sea.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Ivan Voras <ivoras@fer.hr> [070512 18:06] wrote: > Poul-Henning Kamp wrote: > > In message <20070512153532.GQ21795@elvis.mu.org>, Alfred Perlstein writes: > > >> I like how phk malloc has it as an option. > > > > But notice that it is not an option for programs that runs as root > > or setuid/setgid etc. > > > > Given the hostility of networks, I would support a more hardcore > > attitude to memory mismanagement these days. > > Just a data point: many people were turned away from FreeBSD because a > few PHP releases did a double-free or malloc-inside-signal-handler > calls. Yes, GNU's malloc should have been stricter, but it's not funny > when your apache crashes with SIGABORT. Let's clear the issue here... FreeBSD did not have a choice in the matter. FreeBSD normally just emits a warning to stderr and does not crash your program UNLESS your errant freeing screws things up so badly that it can't help but crash... to strike a balance between diagnostics and speed certain things have to be trusted to the consumer application to avoid crashes. Normally you'd see a diagnostic along the lines of "freeing junk pointer" or something. However it can't fix all really stupid bugs and sometimes will crash. We can't be "bug for bug tolerant" with Linnex without copying their allocator. And since our allocator is vastly superior we'd be hurting all the applications that are coded correctly by doing so, along with polluting our code base with badly licensed software. -- - Alfred Perlstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070513215442.GZ21795>