Making alloca more safe

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Nov 17 08:54:04 PST 2009


Sean Kelly wrote:
> Tomas Lindquist Olsen Wrote:
> 
>> On Tue, Nov 17, 2009 at 11:51 AM, Walter Bright
>> <newshound1 at digitalmars.com> wrote:
>>> I suppose nobody much cares if it writes out a corrupted audio file. People
>>> care very much if their airplane suddenly dives into the ground.
>>>
>>> Be that as it may, it is certainly possible to catch seg faults in an
>>> exception handler and write files out. That would be an unacceptable
>>> behavior, though, in a system that needs to be safe.
>>>
>> You spent quite a bit of effort explaining that segfaults never cause
>> memory corruption, so it seems fairly reasonable to assume that some
>> parts of the application state could still be valid and useful not to
>> throw away.
> 
> At the moment the segfault occurs, sure.  But if the process eats the segfault and continues, what happens?  If an app is programmed in such a way that segfaults are a part of normal processing (I worked on a DB that performed dynamic loading this way) that's one thing.  But other apps are almost definitely going to try and write data near 0x00 after such an occurrence.

I think throwing an Error object instead of failing immediately would be 
occasionally useful. (Same goes about other trapped errors such as 
integral division by zero.) There are applications out there that want 
to partially recover from a null pointer error. I wrote a few, so it's 
difficult to convince me they don't exist.

Andrei



More information about the Digitalmars-d mailing list