On Mar 31, 2011, at 2:25 PM, John Reiser wrote:
>> I get the same sort of "set address range perms" I get on my real program
>> (please, if somebody could give me more info about those, it would be
>> helpful).
>>
>> ==12544== Warning: set address range perms: large range [0x13dde030, 
>> 0x31382050) (noaccess)
>
> RTFM:  "Diagnostic message, mostly for benefit of the Valgrind
>         developers, to do with memory permissions."
>
> Valgrind gives such a message whenever the byte length [here 
> length=0x31382050,
> base=0x13dde030; notice the square bracket on the left and the round bracket
> on the right] exceeds some lower bound such as 256MB.  The reason is that
> such a large range is most unusual, and may indicate an error.

As far as reading the manual is concerned, I did, and in my initial
post I stated:
> I have attempted to find info on how to "set address range perms", but the 
> best
> I have been able to find so far is that this is a message intended for 
> valgrind
> developers, not users.
The message you repeat above is the one I found in the manual prior to
my initial post.  Having found nothing else in the manual about this
issue, and having found nothing else after some other searching, I
thought I might find some help here.

My interpretation of [0x13dde030, 0x31382050) was that it is
start,end, closed on the left open on the right, not start and length
as you suggest. If I interpret 0x31382050 as a size (decimal
825,761,872), I don't see my program ever allocating a block of that
size.  If I interpret the messages as [start,end) intervals, I do see
that they agree with some of the sizes of blocks that my program
allocates.

I agree with you;  I'm absolutely certain that the size of the
allocation block is what triggers the message.  In my case such a
large allocation is not an error unless the system libraries can't
handled it.  As I've mentioned in both my previous posts, I am trying
to determine whether the problem is (a) not really a problem (i.e.
problem occurs only when using valgrind), (b) is a problem with the
runtime library (the runtime library is leaking a block during
realloc), (c) is a problem with valgrind not being able to deal with
large allocations, or (d) a problem in my program.

(d) seems unlikely because the simple test program exhibits a similar
failure.  If the problem is (c) I'd like to VERIFY that so I can quit
searching, or if there's a way to build valgrind that will allow it to
handle programs that allocate large memory blocks, I'd like to know
how to do it.  If it can't it can't, but I'd like to know I've
exhausted all avenues before giving up on this.

Bob H

------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to