Re: SEGV in dwarf2read.c -- gdb-7.2

Michael Eager
2011-11-03T17:37:03Z

On 11/03/2011 10:22 AM, Jan Kratochvil wrote:
> On Thu, 03 Nov 2011 18:13:04 +0100, Michael Eager wrote:
>> With the addition of the call to age_cached_comp_units() in
>> dwarf2_fetch_die_location_block() and dw2_do_instantiate_symtab(),
>> I think that the cache is aged very aggressively.
>
>> With dwarf2_max_cache_age == 5, it looks to me that it is likely that CU
>> data will not be in the cache when needed.
>
> There was for example this fix:
> http://sourceware.org/ml/gdb-patches/2011-07/msg00495.html
>
> which is not yet even in 7.3.1 as I see now, it is only in FSF GDB HEAD.

Thanks. The patch looks similar to the one I came up with. I added
a similar check higher in the call tree.

> wrt CUs aging therefore only FSF GDB HEAD matters, older releases are known to
> be buggy - at least due to this bug.
>
> With FSF GDB HEAD I am not aware of any problems because any call to
> age_cached_comp_units is done when CUs are no longer needed anywhere.
>
> I do not discuss here about efficiency of the FSF GDB HEAD solution but I am
> not aware of how it could crash any way.

I'll see if it works with my application.

--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077