Quantcast

Help with "Warning: set address range perms"

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Help with "Warning: set address range perms"

susan_in_california
Hello, everyone! I am certain that I have a memory leak somewhere in my code, because it eats all of the memory on my machine and then crashes. :) I've compiled my code with the -g option, and when I run valgrind with the following options

valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes

The following error message appears:

==6049== Warning: set address range perms: large range 112786496 (undefined)

I've looked into this error message, and I understand that it is trying to tell me that I have allocated a very large block of memory. But I really would like to know the line number in my code, or even the function, where this is happening. Regretfully, this is all the information that valgrind is giving me. I can trace it by putting print messages in my code, but I'm not even sure if the valgrind message appears sequentially.

Does anyone have any suggestions?

Thank you as always,
Susan


Hotmail: Trusted email with powerful SPAM protection. Sign up now.
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Help with "Warning: set address range perms"

John Reiser
> ==6049== Warning: set address range perms: large range 112786496 (undefined)

What version are you running (valgrind --version)?  The current version is 3.5.0,
and at least since version 3.4.1 valgrind prints the actual address interval,
which often helps:

----- memcheck/mc_main.c; set_address_range_perms()
          VG_(message)(Vg_UserMsg, "Warning: set address range perms: "
                                   "large range [0x%lx, 0x%lx) (%s)\n",
-----

You can run valgrind under gdb by following the directions in README_DEVELOPERS
of the source code.  For info on the full repository, see
    http://www.valgrind.org/downloads/repository.html
I also found a copy of the individual file on the web at:
    http://cs.swan.ac.uk/~csoliver/ok-sat-library/internet_html/doc/doc/Valgrind/3.4.1/html/dist.readme-developers.html

Plant a breakpoint on that message in set_address_range_perms().  When it
triggers, then print a stack trace of the user application via
    (gdb) p vgPlain_get_and_pp_StackTrace(vgPlain_get_running_tid(), 10)


--

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Help with "Warning: set address range perms"

Brian Modra-2
In reply to this post by susan_in_california
2009/10/10 Susan Margulies <[hidden email]>:

> Hello, everyone! I am certain that I have a memory leak somewhere in my
> code, because it eats all of the memory on my machine and then crashes. :)
> I've compiled my code with the -g option, and when I run valgrind with the
> following options
>
> valgrind --tool=memcheck --leak-check=yes --show-reachable=yes
> --num-callers=20 --track-fds=yes
>
> The following error message appears:
>
> ==6049== Warning: set address range perms: large range 112786496 (undefined)
>
> I've looked into this error message, and I understand that it is trying to
> tell me that I have allocated a very large block of memory. But I really
> would like to know the line number in my code, or even the function, where
> this is happening. Regretfully, this is all the information that valgrind is
> giving me. I can trace it by putting print messages in my code, but I'm not
> even sure if the valgrind message appears sequentially.
>
> Does anyone have any suggestions?

Maybe its happening too deep into some library not compiled -g.
you could try

--db-attach=yes --db-command=gdb

>
> Thank you as always,
> Susan
>
> ________________________________
> Hotmail: Trusted email with powerful SPAM protection. Sign up now.
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Valgrind-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
>
>



--
Brian Modra   Land line: +27 23 5411 462
Mobile: +27 79 69 77 082
5 Jan Louw Str, Prince Albert, 6930
Postal: P.O. Box 2, Prince Albert 6930
South Africa
http://www.zwartberg.com/

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Help with "Warning: set address range perms"

Julian Seward-2
In reply to this post by John Reiser
On Saturday 10 October 2009, John Reiser wrote:

> ----- memcheck/mc_main.c; set_address_range_perms()
>           VG_(message)(Vg_UserMsg, "Warning: set address range perms: "
>                                    "large range [0x%lx, 0x%lx) (%s)\n",

> Plant a breakpoint on that message in set_address_range_perms().  When it
> triggers, then print a stack trace of the user application via
>     (gdb) p vgPlain_get_and_pp_StackTrace(vgPlain_get_running_tid(), 10)

A simpler version of this, that doesn't involve GDB is: after

         VG_(message)(Vg_UserMsg, "Warning: set address range perms: "
                                  "large range [0x%lx, 0x%lx) (%s)\n",
                                  a, a + lenT, s);

(in mc_main.c) add

   VG_(get_and_pp_StackTrace)( VG_(get_running_tid)(), 10 )

rebuild and rerun.  10 is the number of frames to show.

A generally better suggestion for space profiling ("who eat
all the memory?" kind of questions) is to use the Massif tool.
See http://www.valgrind.org/docs/manual/ms-manual.html

J

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Loading...