|
From: Tom H. <to...@co...> - 2005-08-12 07:51:44
|
In message <200...@ge...>
Christian Parpart <tr...@ge...> wrote:
> Unloading module chat
> ==20983== Invalid read of size 8
> [...]
> ==20983== Address 0x15959CE90 is not stack'd, malloc'd or (recently) free'd
> [...]
You've cleverly cut out all the useful/interesting information from
that output...
> Well then, neither the backtrace nor the "Invalid read" told me
> exactly at what location (memory address) this read error occured,
> however in the end, I get the message above ("0x15959CE90 is not
> stack'd, malloc'd or free'd")
The invalid read should most certainly have told you where the read
was occurring. In what way was it not clear.
> Looking at the area mmap'd via dlopen() I see that this address is
> within the range (however it came to that result), so, finally,
> maybe VG should remember those mmap's for afterlife reads/writes
> within such ranges (to be reported more clearly);
There is a problem with valgrind discarding symbols for unmapped
objects but in this case that is not an issue as the code that is
doing the access is not in the plugin, it must be in something that
is still mapped and therefore ought to give you a trace.
> So, if I'm really right here, is there a way to get such a
> observation feature into VG for 3.1?
What exactly is it you want 'observed' exactly?
Remembering symbols after an unmap is hard - the problem is that a
future dlopen could reuse the same addresses so it means storing
temporal information of some sort with all the backtraces. This has
been discussed in depth numerous times in the past.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|