[omniORB] Crash on using nil reference

Sai-Lai Lo S.Lo@uk.research.att.com
15 May 2001 17:25:58 +0100


We use purify on Solaris and win32. On linux, I think I should put in a few
good words about njamd. I recently used it successfully to locate very
quickly a few memory corruption bugs. It requires no recompilation or
linkage. Haven't actually used it to find memory leak yet, but it has
helped me to locate a bug where it writes to previously freed memory.

Sai-Lai


>>>>> Stephen Crawley writes:

>> >There is a flaw in this.  The memory manager cannot reallocate the
>> >memory associated with a pointer when its reference count reaches zero.
>> >If it did, you would find that pointers to now dead objects would spring
>> >back into life, pointing at different objects.
>> 
>> Yes, this can happen in theory.
>> 
>> >This defeats your
>> >checking.
>> 
>> No, it only defeats it in the 0.0001% of cases when it actually happens. You
>> need all the following to run into this problem:

> I think it occurs in 99.9999% of cases!

> [Actually I don't, but I'm just pointing out that pulling an implausible
> probability out of the air doesn't add any weight to your arguments.  Quite
> the reverse in fact!!]

> Anyway, I'd prefer to NOT see this sort of stuff added to OmniORB.  I'd
> prefer to see people learn to use a tool like Rational's Purify which:

>   * finds memory management problems in a far much more reliable and
>     comprehensive fashion,

>   * has zero runtime overhead if you don't use it, and 

>   * doesn't entail the OmniORB developers in writing and maintaining
>     a bunch of extra runtime and/or IDL generator code.

> -- Steve