You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(58) |
Apr
(261) |
May
(169) |
Jun
(214) |
Jul
(201) |
Aug
(219) |
Sep
(198) |
Oct
(203) |
Nov
(241) |
Dec
(94) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(137) |
Feb
(149) |
Mar
(150) |
Apr
(193) |
May
(95) |
Jun
(173) |
Jul
(137) |
Aug
(236) |
Sep
(157) |
Oct
(150) |
Nov
(136) |
Dec
(90) |
| 2005 |
Jan
(139) |
Feb
(130) |
Mar
(274) |
Apr
(138) |
May
(184) |
Jun
(152) |
Jul
(261) |
Aug
(409) |
Sep
(239) |
Oct
(241) |
Nov
(260) |
Dec
(137) |
| 2006 |
Jan
(191) |
Feb
(142) |
Mar
(169) |
Apr
(75) |
May
(141) |
Jun
(169) |
Jul
(131) |
Aug
(141) |
Sep
(192) |
Oct
(176) |
Nov
(142) |
Dec
(95) |
| 2007 |
Jan
(98) |
Feb
(120) |
Mar
(93) |
Apr
(96) |
May
(95) |
Jun
(65) |
Jul
(62) |
Aug
(56) |
Sep
(53) |
Oct
(95) |
Nov
(106) |
Dec
(87) |
| 2008 |
Jan
(58) |
Feb
(149) |
Mar
(175) |
Apr
(110) |
May
(106) |
Jun
(72) |
Jul
(55) |
Aug
(89) |
Sep
(26) |
Oct
(96) |
Nov
(83) |
Dec
(93) |
| 2009 |
Jan
(97) |
Feb
(106) |
Mar
(74) |
Apr
(64) |
May
(115) |
Jun
(83) |
Jul
(137) |
Aug
(103) |
Sep
(56) |
Oct
(59) |
Nov
(61) |
Dec
(37) |
| 2010 |
Jan
(94) |
Feb
(71) |
Mar
(53) |
Apr
(105) |
May
(79) |
Jun
(111) |
Jul
(110) |
Aug
(81) |
Sep
(50) |
Oct
(82) |
Nov
(49) |
Dec
(21) |
| 2011 |
Jan
(87) |
Feb
(105) |
Mar
(108) |
Apr
(99) |
May
(91) |
Jun
(94) |
Jul
(114) |
Aug
(77) |
Sep
(58) |
Oct
(58) |
Nov
(131) |
Dec
(62) |
| 2012 |
Jan
(76) |
Feb
(93) |
Mar
(68) |
Apr
(95) |
May
(62) |
Jun
(109) |
Jul
(90) |
Aug
(87) |
Sep
(49) |
Oct
(54) |
Nov
(66) |
Dec
(84) |
| 2013 |
Jan
(67) |
Feb
(52) |
Mar
(93) |
Apr
(65) |
May
(33) |
Jun
(34) |
Jul
(52) |
Aug
(42) |
Sep
(52) |
Oct
(48) |
Nov
(66) |
Dec
(14) |
| 2014 |
Jan
(66) |
Feb
(51) |
Mar
(34) |
Apr
(47) |
May
(58) |
Jun
(27) |
Jul
(52) |
Aug
(41) |
Sep
(78) |
Oct
(30) |
Nov
(28) |
Dec
(26) |
| 2015 |
Jan
(41) |
Feb
(42) |
Mar
(20) |
Apr
(73) |
May
(31) |
Jun
(48) |
Jul
(23) |
Aug
(55) |
Sep
(36) |
Oct
(47) |
Nov
(48) |
Dec
(41) |
| 2016 |
Jan
(32) |
Feb
(34) |
Mar
(33) |
Apr
(22) |
May
(14) |
Jun
(31) |
Jul
(29) |
Aug
(41) |
Sep
(17) |
Oct
(27) |
Nov
(38) |
Dec
(28) |
| 2017 |
Jan
(28) |
Feb
(30) |
Mar
(16) |
Apr
(9) |
May
(27) |
Jun
(57) |
Jul
(28) |
Aug
(43) |
Sep
(31) |
Oct
(20) |
Nov
(24) |
Dec
(18) |
| 2018 |
Jan
(34) |
Feb
(50) |
Mar
(18) |
Apr
(26) |
May
(13) |
Jun
(31) |
Jul
(13) |
Aug
(11) |
Sep
(15) |
Oct
(12) |
Nov
(18) |
Dec
(13) |
| 2019 |
Jan
(12) |
Feb
(29) |
Mar
(51) |
Apr
(22) |
May
(13) |
Jun
(20) |
Jul
(13) |
Aug
(12) |
Sep
(21) |
Oct
(6) |
Nov
(9) |
Dec
(5) |
| 2020 |
Jan
(13) |
Feb
(5) |
Mar
(25) |
Apr
(4) |
May
(40) |
Jun
(27) |
Jul
(5) |
Aug
(17) |
Sep
(21) |
Oct
(1) |
Nov
(5) |
Dec
(15) |
| 2021 |
Jan
(28) |
Feb
(6) |
Mar
(11) |
Apr
(5) |
May
(7) |
Jun
(8) |
Jul
(5) |
Aug
(5) |
Sep
(11) |
Oct
(9) |
Nov
(10) |
Dec
(12) |
| 2022 |
Jan
(7) |
Feb
(13) |
Mar
(8) |
Apr
(7) |
May
(12) |
Jun
(27) |
Jul
(14) |
Aug
(27) |
Sep
(27) |
Oct
(17) |
Nov
(17) |
Dec
|
| 2023 |
Jan
(10) |
Feb
(18) |
Mar
(9) |
Apr
(26) |
May
|
Jun
(13) |
Jul
(18) |
Aug
(5) |
Sep
(12) |
Oct
(16) |
Nov
(1) |
Dec
|
| 2024 |
Jan
(4) |
Feb
(3) |
Mar
(6) |
Apr
(17) |
May
(2) |
Jun
(33) |
Jul
(13) |
Aug
(1) |
Sep
(6) |
Oct
(8) |
Nov
(6) |
Dec
(15) |
| 2025 |
Jan
(5) |
Feb
(11) |
Mar
(8) |
Apr
(20) |
May
(1) |
Jun
|
Jul
|
Aug
(9) |
Sep
(1) |
Oct
(7) |
Nov
(1) |
Dec
|
|
From: Vignesh <mv...@ya...> - 2014-06-02 14:05:49
|
Thank you for your clues.
Few dynamically loaded libraries were statically linked to few other libraries. After converting them to dynamic libraries, I am closer to detect memory problems. Also, I had to turn on -g and avoid stripping the executable to get an accurate detection
However, this still dazzles me:
I still get this warning while running valgrind:
--8925-- Considering /system/lib/libc.so ..
--8925-- .. CRC mismatch (computed aedb52cb wanted eadc3e5a)
--8925-- object doesn't have a symbol table
When I compute crc for /system/lib/libc.so externally, I get aedb52cb and the system under test doesn't contain libc anywhere else.. Where else is the executable picking libc from? Output of strace relevant to libc given below
open("/vendor/lib/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so", O_RDONLY) = 3
open("/vendor/lib/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/system/lib/libc.so", O_RDONLY) = 3
readlink("/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19
stat64("/system/lib/libc.so", {st_mode=S_IFREG|0666, st_size=310652, ...}) = 0
readlink("/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19
stat64("/system/lib/libc.so", {st_mode=S_IFREG|0666, st_size=310652, ...}) = 0
readlink("/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19
stat64("/system/lib/libc.so", {st_mode=S_IFREG|0666, st_size=310652, ...}) = 0
--9086-- Reading syms from /system/lib/libc.so
open("/system/lib/libc.so", O_RDONLY) = 4
readlink("/proc/self/fd/4", "/system/lib/libc.so", 4096) = 19
open("/system/lib/libc.so", O_RDONLY) = 4
--9086-- Considering /system/lib/libc.so ..
readlink("/proc/self/fd/4", "/system/lib/libc.so", 4096) = 19
open("/system/lib/.debug/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/system/lib/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/data/local/symbols/system/lib/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/sdcard/symbols/system/lib/libc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
--9086:1:aspacem ( 4) /system/lib/libc.so
--9086-- Caught __NR_exit; running __libc_freeres()
Thank you,
Vignesh
On Tuesday, 27 May 2014, 19:01, John Reiser <jr...@Bi...> wrote:
> --16527-- Considering /system/lib/libc.so ..
> --16527-- .. CRC mismatch (computed aedb52cb wanted eadc3e5a)
> --16527-- object doesn't have a symbol table
The checksums mismatch, so memcheck ignores the symbols [if there are any.]
Therefore 'malloc' and 'free' cannot be found.
Most often this is a clue that the software on the target machine
is not installed properly. Run "strace -f -e trace=file valgrind ..."
and see exactly which files memcheck wants. Look at all files
that are reported by strace whose names contain the substring "libc",
and determine what kind of symbol tables they contain: SHT_SYMTAB,
DT_SYMTAB (with DT_HASH or DT_GNU_HASH). Figure out why the
CRC mismatches. Check version numbers, date-last-modified ("ls -l"), etc.
Compare output of "readelf --all <filename>" for all candidates.
Install the correct file(s) so that the message
"CRC mismatch" no longer appears.
------------------------------------------------------------------------------
The best possible search technologies are now affordable for all companies.
Download your FREE open source Enterprise Search Engine today!
Our experts will assist you in its installation for $59/mo, no commitment.
Test it for FREE on our Cloud platform anytime!
http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Val...@li...
https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Tom H. <to...@co...> - 2014-05-30 09:26:01
|
On 30/05/14 10:08, Domingues Luis Filipe wrote: > When instrumenting multi-threaded programs, how Valgrind manage it? > Did it do the instrumentation in a single thread, or is it > multi-threaded on instrumentation time? http://www.valgrind.org/docs/manual/manual-core.html#manual-core.pthreads Tom -- Tom Hughes (to...@co...) http://compton.nu/ |
|
From: Domingues L. F. <Lui...@ed...> - 2014-05-30 09:10:56
|
Hello, I want to test a tool I build, but I want to know if they are some references programs to tests Valgrind tools. Regards, Luis Domingues |
|
From: Domingues L. F. <Lui...@ed...> - 2014-05-30 09:09:01
|
Hello, When instrumenting multi-threaded programs, how Valgrind manage it? Did it do the instrumentation in a single thread, or is it multi-threaded on instrumentation time? Regards, Luis Domingues |
|
From: Maurice v. S. <ma...@bl...> - 2014-05-29 17:44:08
|
Valgrind doesn't track memory allocation through mmap, mremap and brk. You can use massif with the option --pages-as-heap=yes to track those instead of malloc etc. ][ Maurice van Swaaij ][ ----- Original Message ----- | From: "Leonardo Gabrielli" <l.g...@un...> | To: val...@li... | Sent: Thursday, May 29, 2014 12:50:52 PM | Subject: [Valgrind-users] top and massif about jack2 memory usage | Dear all, | I'm looking into valgrind + massif, to track down where the massive | memory requirements of jackdmp (Jack2) come from. | I'm new to its usage and perhaps I miss something regarding memory | attribution with the top command, but here's what I face: | According to top, jackd takes 216Mb VIRT, 147M RES, 96Mb SH. | If I run with valgrind --tool=massif the log I get from massif is a | mere | 6Mb of memory. Either valgrind is right and I do not know what the | top | figures are about, either valgrind can't track down all that large | memory locked by jack. According to my knowledge jack is used to get | slightly less than 100MB, so I guess the second is the most probable | answer. | FYI: Jack runs with 4 threads, one of which is in a privileged PAM | group | with unlimited memory locking and realtime (SCHED_FIFO) priority. | Maybe massif can't see the thread which allocates most of the memory? | Regards | Leonardo | -- | Dr. Leonardo Gabrielli, PhD student | A3Lab - Dept. Information Engineering | Università Politecnica delle Marche | via Brecce Bianche 12, 60131, Ancona, Italy | Skype: leonardo.gabrielli | Web: a3lab.dii.univpm.it/people/leonardo-gabrielli | <http://a3lab.dii.univpm.it/people/leonardo-gabrielli> | ------------------------------------------------------------------------------ | Time is money. Stop wasting it! Get your web API in 5 minutes. | www.restlet.com/download | http://p.sf.net/sfu/restlet | _______________________________________________ | Valgrind-users mailing list | Val...@li... | https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Leonardo G. <l.g...@un...> - 2014-05-29 16:51:06
|
Dear all, I'm looking into valgrind + massif, to track down where the massive memory requirements of jackdmp (Jack2) come from. I'm new to its usage and perhaps I miss something regarding memory attribution with the top command, but here's what I face: According to top, jackd takes 216Mb VIRT, 147M RES, 96Mb SH. If I run with valgrind --tool=massif the log I get from massif is a mere 6Mb of memory. Either valgrind is right and I do not know what the top figures are about, either valgrind can't track down all that large memory locked by jack. According to my knowledge jack is used to get slightly less than 100MB, so I guess the second is the most probable answer. FYI: Jack runs with 4 threads, one of which is in a privileged PAM group with unlimited memory locking and realtime (SCHED_FIFO) priority. Maybe massif can't see the thread which allocates most of the memory? Regards Leonardo -- Dr. Leonardo Gabrielli, PhD student A3Lab - Dept. Information Engineering Università Politecnica delle Marche via Brecce Bianche 12, 60131, Ancona, Italy Skype: leonardo.gabrielli Web: a3lab.dii.univpm.it/people/leonardo-gabrielli <http://a3lab.dii.univpm.it/people/leonardo-gabrielli> |
|
From: Philippe W. <phi...@sk...> - 2014-05-29 07:41:44
|
On Wed, 2014-05-28 at 16:08 +0200, Ishwara wrote:
> Hi
> I'm new to valgrind. I wanted to change a default tool to e.g. helgrind by setting VALGRIND_OPTS env variable.
> echo $VALGRIND_OPTS prints: --log-file=rrc.log --time-stamp=yes --tool=helgrind
> But valgrind keeps running memcheck. Other arguments work, only tool is being ignored.
> I get the same result when using .valgrindrc file.
> Anyone has any idea how to change the default tool? (not specifying it each time)
Some options cannot be specified in VALGRIND_OPTS.
The reason is that the command line processing is done in two phases:
a subset of the options is "pre-checked" (either by the launcher
or by the tool itself)
the rest of the options is parsed in a second phase.
The following options are determined during the first phase,
(without looking at ~/.valgrindrc, $VALGRIND_OPTS and ./.valgrindrc) :
--tool=
--command-line-only=
-d
--max-stackframe=
--main-stacksize=
--sim-hints=
--profile-heap=
--core-redzone-size=
--redzone-size=
--aspace-minaddr=
The (main) reason for this is that processing .valgrindrc and others
implies to have some parts of Valgrind initialised (e.g. the memory
management). And the initialisation of these parts implies to
have the value of the above arguments.
In summary, chicken and egg problem.
This could probably be fixed/changed by having the launcher
expanding .valgrindrc/VALGRIND_OPTS/... and inserting it into a new argv vector
before exec-ing the tool file.
Looks a nice small first change to try in valgrind, if you are interested :)
(the only possible difficulty I see is to avoid re-inserting these args
in case of a child process)
Philippe
|
|
From: Ishwara <is...@sz...> - 2014-05-28 16:30:29
|
Hi I'm new to valgrind. I wanted to change a default tool to e.g. helgrind by setting VALGRIND_OPTS env variable. echo $VALGRIND_OPTS prints: --log-file=rrc.log --time-stamp=yes --tool=helgrind But valgrind keeps running memcheck. Other arguments work, only tool is being ignored. I get the same result when using .valgrindrc file. Anyone has any idea how to change the default tool? (not specifying it each time) |
|
From: Phil L. <plo...@sa...> - 2014-05-27 14:27:24
|
In my application, I have a pool of memory which is allocated from the system heap, then stored in a linked list. I have used VALGRIND_CREATE_MEMPOOL and other annotations to tell memcheck about the memory pool and which memory blocks have been allocated from it, so that usage and access errors can be reported in terms of the memory pool. My problem is that the particular linked list implementation ends up using an interior pointer. What I'm finding is that when I shut down, I get "memory may be lost" errors for all of the blocks which are on the memory pool linked list. Is there an annotation I can use to disassociate the memory block from the system heap so that it is only associated with the linked-list memory pool? Phil ----- Phil Longstaff Senior Software Engineer x2904 |
|
From: John R. <jr...@Bi...> - 2014-05-27 13:30:02
|
> --16527-- Considering /system/lib/libc.so ..
> --16527-- .. CRC mismatch (computed aedb52cb wanted eadc3e5a)
> --16527-- object doesn't have a symbol table
The checksums mismatch, so memcheck ignores the symbols [if there are any.]
Therefore 'malloc' and 'free' cannot be found.
Most often this is a clue that the software on the target machine
is not installed properly. Run "strace -f -e trace=file valgrind ..."
and see exactly which files memcheck wants. Look at all files
that are reported by strace whose names contain the substring "libc",
and determine what kind of symbol tables they contain: SHT_SYMTAB,
DT_SYMTAB (with DT_HASH or DT_GNU_HASH). Figure out why the
CRC mismatches. Check version numbers, date-last-modified ("ls -l"), etc.
Compare output of "readelf --all <filename>" for all candidates.
Install the correct file(s) so that the message
"CRC mismatch" no longer appears.
|
|
From: Himanshu S <mai...@gm...> - 2014-05-27 04:28:21
|
John, Thanks for the response. We are using 64-bit x86 Linux. As such setns switches the network name space context to the one where the 'fd' in the argument is referring. I will try your suggestion and let you know. On Fri, May 23, 2014 at 6:14 PM, John Reiser <jr...@bi...> wrote: > > In our code we use setns system call. [In] valgrind version (3.8.1), it > seems like this syscall is not handled. > > > > > > --2726-- WARNING: unhandled syscall: 308 > > --2726-- You may be able to write your own handler. > > --2726-- Read the file README_MISSING_SYSCALL_OR_IOCTL. > > --2726-- Nevertheless we consider this a bug. Please report > > --2726-- it at http://valgrind.org/support/bug_reports.html. > > > Version 3.9.0 was released about 7 or 8 months ago. Why not upgrade? > > You should tell us which hardware architecture and which operating system. > > Because the setns system call: > int setns(int fd, int nstype); > does not reference memory, then setns is a no-operation as far as memcheck > is concerned. > Write an empty subroutine and put its address into the table: > static SyscallTableEntry syscall_table[] = { ... }; > Then submit your patch at the indicated URL. > > > > ------------------------------------------------------------------------------ > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE > Instantly run your Selenium tests across 300+ browser/OS combos. > Get unparalleled scalability from the best Selenium testing platform > available > Simple to use. Nothing to install. Get started now for free." > http://p.sf.net/sfu/SauceLabs > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |
|
From: Vignesh <mv...@ya...> - 2014-05-27 02:09:12
|
Hi, I am still facing troubles getting a valgrind report on an android phone (armv7-a-neon) after changing my executable to be a dynamically loaded executable. I am not very sure, if I understand the output of the following. ...... ......--16527:1:main Starting the address space manager--16527:2:aspacem sp_at_startup = 0x00be9419a0 (supplied) --16527:2:aspacem minAddr = 0x0004000000 (computed) --16527:2:aspacem maxAddr = 0x00be940fff (computed) --16527:2:aspacem cStart = 0x0004000000 (computed) --16527:2:aspacem vStart = 0x00614a1000 (computed) --16527:2:aspacem suggested_clstack_top = 0x00bd941fff (computed) --16527:2:aspacem <<< SHOW_SEGMENTS: Initial layout (5 segments, 0 segnames) --16527:2:aspacem 0: RSVN 0000000000-0003ffffff 64m ----- SmFixed --16527:2:aspacem 1: 0004000000-00614a0fff 1492m --16527:2:aspacem 2: RSVN 00614a1000-00614a1fff 4096 ----- SmFixed --16527:2:aspacem 3: 00614a2000-00be940fff 1492m --16527:2:aspacem 4: RSVN 00be941000-00ffffffff 1046m ----- SmFixed --16527:2:aspacem >>> ...... --16527-- -d --16527-- --leak-check=yes --16527-- Contents of /proc/version: --16527-- Linux version 3.4.0-eng-g8b0aff7-00013-g2cb89e3 (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Tue Apr 1 17:30:08 IST 2014 --16527-- Arch and hwcaps: ARM, ARMv7-vfp-neon --16527-- Page sizes: currently 4096, max supported 4096 --16527-- Valgrind library directory: /system/lib/valgrind --16527:1:main ...finished the preamble --16527:1:main Initialise the tool part 2 (post_clo_init) --16527:1:main Initialise TT/TC --16527-- TT/TC: VG_(init_tt_tc) (startup of code management) --16527-- TT/TC: cache: 8 sectors of 27597024 bytes each = 220776192 total --16527-- TT/TC: table: 524168 total entries, max occupancy 340704 (65%) --16527:2:transtab cache: 8 sectors of 27597024 bytes each = 220776192 total --16527:2:transtab table: 524168 total entries, max occupancy 340704 (65%) ... ... --16527-- TT/TC: initialise sector 0 --16527-- Reading syms from /system/lib/valgrind/vgpreload_core-arm-linux.so --16527-- svma 0x0000000274, avma 0x0004816274 --16527-- Reading syms from /system/lib/libc.so --16527-- svma 0x000000d1a0, avma 0x00048251a0 --16527-- Considering /system/lib/libc.so .. --16527-- .. CRC mismatch (computed aedb52cb wanted eadc3e5a) --16527-- object doesn't have a symbol table --16527-- Reading syms from /system/lib/libstdc++.so --16527-- svma 0x0000000828, avma 0x0004873828 --16527-- Considering /system/lib/libstdc++.so .. --16527-- .. CRC mismatch (computed 7fca0904 wanted e3efd32e) --16527-- object doesn't have a symbol table --16527-- Reading syms from /system/lib/libm.so --16527-- svma 0x0000002940, avma 0x0004878940 --16527-- Considering /system/lib/libm.so .. --16527-- .. CRC mismatch (computed 5c966341 wanted 751310f2) --16527-- object doesn't have a symbol table --16527-- Reading syms from /system/lib/valgrind/vgpreload_memcheck-arm-linux.so --16527-- svma 0x00000023d4, avma 0x00048933d4 --16527:2:transtab discard_translations(0x4873919, 1) req by redir_new_DebugInfo(from_addr) --16527:2:transtab FAST, ec = 231 --16527:2:transtab discard_translations(0x489946c, 1) req by redir_new_DebugInfo(to_addr) --16527:2:transtab FAST, ec = 50 ==16527== Adding active redirection: --16527:1:mallocfr newSuperblock at 0x642AF000 (pszB 65520) owner VALGRIND/demangle --16527:1:mallocfr deferred_reclaimSuperblock at 0x642AF000 (pszB 65520) (prev 0x0) owner VALGRIND/demangle ...... Complete log available at https://docs.google.com/document/d/1hJFGlDeK9Xyujoa6TaOmOdAVNYH4heApyOZY5C3xxqM/edit Please help. What does --soname-synonyms=somalloc=NONE do? On Monday, 26 May 2014, 15:32, Marc Sampé <mar...@gm...> wrote: Keep us updated pls El 26/05/2014 11:59, "Vignesh" <mv...@ya...> escribió: Thank you. My executable was a statically linked one. > > >Will change it to a dynamic executable and hope to have no issues. > > >-Vignesh > > > >On Saturday, 24 May 2014, 23:24, Philippe Waroquiers <phi...@sk...> wrote: > > > >On Sat, 2014-05-24 at 12:21 +0100, Vignesh wrote: > > >> >> ==268== HEAP SUMMARY: >> ==268== in use at exit: 0 bytes in 0 blocks >> ==268== total heap usage: 0 allocs, 0 frees, 0 bytes allocated >This seems to indicate that malloc interception is not working. > >Try to run with -v -v -v -d -d -d -trace-redir=yes >and look in the trace to see what is going wrong. > >Note that your application cannot be statically linked, >otherwise redir of malloc et al does not work. >(the dynamic linker must be invoked). >The malloc library itself can be statically linked but >you need to use --soname-synonyms=somalloc=NONE >arg then. > >Philippe > > > > > > > >------------------------------------------------------------------------------ >The best possible search technologies are now affordable for all companies. >Download your FREE open source Enterprise Search Engine today! >Our experts will assist you in its installation for $59/mo, no commitment. >Test it for FREE on our Cloud platform anytime! >http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk >_______________________________________________ >Valgrind-users mailing list >Val...@li... >https://lists.sourceforge.net/lists/listinfo/valgrind-users > > |
|
From: Milian W. <ma...@mi...> - 2014-05-26 20:02:17
|
On Monday 26 May 2014 12:15:32 Rentas Dimitris wrote: > Hello to the community once more. > My concern is if I can use DHAT and MASSIF to measure the external > fragmentation of my application which is using the default Ubuntu ptmalloc2 > allocator. > I have found a several formulas on the paper The Memory Fragmentation > Problem : Solved?, most of them use the live memory, maximum amount of > memory used by the allocator, maximum amount requested by the program. > How can I interpret the DHAT and MASSIF output to get those values? > In case you have any other suggestion for another formula please let me > know. > > I am aware that the most common way is to find the largest free contiguous > block in heap, relative to the total heap amount. But I have not figured > out how to get this measurement. > > If you have any information or tip it will be a real great help. > > Thank you everyone in advance Also take a look at mallinfo from malloc.h. It will give you information on the fragmentation when you compare .keepcost vs. .uordblks. Bye -- Milian Wolff ma...@mi... http://milianw.de |
|
From: Philippe W. <phi...@sk...> - 2014-05-26 19:18:29
|
Both dhat and massif are replacing the memory allocator. So, as the memory fragmentation is very dependent on the allocator behaviour (and not only from the application malloc/free pattern/behaviour), you will not get much additional information from these tools that what you can certainly get from ptmalloc2 itself (I guess it has some statistical reporting and/or support mallinfo or similar). Philippe On Mon, 2014-05-26 at 12:15 +0200, Rentas Dimitris wrote: > Hello to the community once more. > My concern is if I can use DHAT and MASSIF to measure the external > fragmentation of my application which is using the default Ubuntu > ptmalloc2 allocator. > I have found a several formulas on the paper The Memory Fragmentation > Problem : Solved?, most of them use the live memory, maximum amount of > memory used by the allocator, maximum amount requested by the > program. > How can I interpret the DHAT and MASSIF output to get those values? > In case you have any other suggestion for another formula please let > me know. > > > I am aware that the most common way is to find the largest free > contiguous block in heap, relative to the total heap amount. But I > have not figured out how to get this measurement. > > > If you have any information or tip it will be a real great help. > > > Thank you everyone in advance > > ------------------------------------------------------------------------------ > The best possible search technologies are now affordable for all companies. > Download your FREE open source Enterprise Search Engine today! > Our experts will assist you in its installation for $59/mo, no commitment. > Test it for FREE on our Cloud platform anytime! > http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk > _______________________________________________ Valgrind-users mailing list Val...@li... https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Rentas D. <dr...@gm...> - 2014-05-26 10:15:39
|
Hello to the community once more. My concern is if I can use DHAT and MASSIF to measure the external fragmentation of my application which is using the default Ubuntu ptmalloc2 allocator. I have found a several formulas on the paper The Memory Fragmentation Problem : Solved?, most of them use the live memory, maximum amount of memory used by the allocator, maximum amount requested by the program. How can I interpret the DHAT and MASSIF output to get those values? In case you have any other suggestion for another formula please let me know. I am aware that the most common way is to find the largest free contiguous block in heap, relative to the total heap amount. But I have not figured out how to get this measurement. If you have any information or tip it will be a real great help. Thank you everyone in advance |
|
From: Marc S. <mar...@gm...> - 2014-05-26 10:02:10
|
Keep us updated pls El 26/05/2014 11:59, "Vignesh" <mv...@ya...> escribió: > Thank you. My executable was a statically linked one. > > Will change it to a dynamic executable and hope to have no issues. > > -Vignesh > > > On Saturday, 24 May 2014, 23:24, Philippe Waroquiers < > phi...@sk...> wrote: > > > On Sat, 2014-05-24 at 12:21 +0100, Vignesh wrote: > > > > > > ==268== HEAP SUMMARY: > > ==268== in use at exit: 0 bytes in 0 blocks > > ==268== total heap usage: 0 allocs, 0 frees, 0 bytes allocated > > This seems to indicate that malloc interception is not working. > > Try to run with -v -v -v -d -d -d -trace-redir=yes > and look in the trace to see what is going wrong. > > Note that your application cannot be statically linked, > otherwise redir of malloc et al does not work. > (the dynamic linker must be invoked). > The malloc library itself can be statically linked but > you need to use --soname-synonyms=somalloc=NONE > arg then. > > Philippe > > > > > > > > > ------------------------------------------------------------------------------ > The best possible search technologies are now affordable for all companies. > Download your FREE open source Enterprise Search Engine today! > Our experts will assist you in its installation for $59/mo, no commitment. > Test it for FREE on our Cloud platform anytime! > > http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > > |
|
From: Vignesh <mv...@ya...> - 2014-05-26 09:53:23
|
Thank you. My executable was a statically linked one. Will change it to a dynamic executable and hope to have no issues. -Vignesh On Saturday, 24 May 2014, 23:24, Philippe Waroquiers <phi...@sk...> wrote: On Sat, 2014-05-24 at 12:21 +0100, Vignesh wrote: > > ==268== HEAP SUMMARY: > ==268== in use at exit: 0 bytes in 0 blocks > ==268== total heap usage: 0 allocs, 0 frees, 0 bytes allocated This seems to indicate that malloc interception is not working. Try to run with -v -v -v -d -d -d -trace-redir=yes and look in the trace to see what is going wrong. Note that your application cannot be statically linked, otherwise redir of malloc et al does not work. (the dynamic linker must be invoked). The malloc library itself can be statically linked but you need to use --soname-synonyms=somalloc=NONE arg then. Philippe |
|
From: Tom H. <to...@co...> - 2014-05-26 09:28:01
|
On 26/05/14 07:56, Rentas Dimitris wrote: > Hello everyone. I have a question regarding the dhat tool. > > In my Ubuntu machine I have the 3.9 version of valgrind installed. > However, there is no option for the DHAT tool. Is the tool deprecated, > or something went wrong during the installation? What makes you think it is missing? What command are you running? You realise that, as an experimental tool, it is called exp-dhat right, so to run it you need to use: valgrind --tool=exp-dhat Tom -- Tom Hughes (to...@co...) http://compton.nu/ |
|
From: Rentas D. <dr...@gm...> - 2014-05-26 06:57:03
|
Hello everyone. I have a question regarding the dhat tool. In my Ubuntu machine I have the 3.9 version of valgrind installed. However, there is no option for the DHAT tool. Is the tool deprecated, or something went wrong during the installation? Looking forward to hearing from you. |
|
From: Philippe W. <phi...@sk...> - 2014-05-24 17:54:37
|
On Sat, 2014-05-24 at 12:21 +0100, Vignesh wrote: > > ==268== HEAP SUMMARY: > ==268== in use at exit: 0 bytes in 0 blocks > ==268== total heap usage: 0 allocs, 0 frees, 0 bytes allocated This seems to indicate that malloc interception is not working. Try to run with -v -v -v -d -d -d -trace-redir=yes and look in the trace to see what is going wrong. Note that your application cannot be statically linked, otherwise redir of malloc et al does not work. (the dynamic linker must be invoked). The malloc library itself can be statically linked but you need to use --soname-synonyms=somalloc=NONE arg then. Philippe |
|
From: Vignesh <mv...@ya...> - 2014-05-24 11:21:28
|
Hi, I am having troubles finding memory leaks and array over shoots with valgrind on android. I have a binary that intentionally leaks few bytes. When I run the binary in valgrind environment on an android phone (adb shell), I see valgrind reporting no errors. Please help me understand if I am missing any. I compiled valgrind that came with android release under external directory (git clone https://android.googlesource.com/platform/external/valgrind) My program: -------------- #include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char** argv) { int i = 0; char *leak = (char *) malloc(10); char *noleak = (char *)malloc(20); free(noleak); noleak = NULL; return 0; } Name of the executable: sample Output from valgrind: ------------------------ @android:/system/bin # ./valgrind --leak-check=full --tool=memcheck -v sample ==268== Memcheck, a memory error detector ==268== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==268== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==268== Command: sample ==268== --268-- Valgrind options: --268-- --leak-check=full --268-- --tool=memcheck --268-- -v --268-- Contents of /proc/version: --268-- Linux version 3.4.42-eng-gcd82698-00002-g6497f5b (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed May 21 17:30:16 IST 2014 --268-- Arch and hwcaps: ARM, ARMv7-vfp-neon --268-- Page sizes: currently 4096, max supported 4096 --268-- Valgrind library directory: /system/lib/valgrind --268-- Reading syms from /system/bin/sample --268-- Considering /system/bin/sample .. --268-- .. CRC mismatch (computed 918c9dfe wanted cde23cf7) --268-- object doesn't have a symbol table --268-- object doesn't have a dynamic symbol table --268-- Reading syms from /system/lib/valgrind/memcheck-arm-linux --268-- Considering /system/lib/valgrind/memcheck-arm-linux .. --268-- .. CRC mismatch (computed 9317450f wanted 4a9e0d91) --268-- object doesn't have a symbol table --268-- object doesn't have a dynamic symbol table --268-- Scheduler: using generic scheduler lock implementation. --268-- Reading suppressions file: /system/lib/valgrind/default.supp ==268== ==268== HEAP SUMMARY: ==268== in use at exit: 0 bytes in 0 blocks ==268== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==268== ==268== All heap blocks were freed -- no leaks are possible ==268== ==268== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==268== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Please help. Regards, Vignesh |
|
From: John R. <jr...@Bi...> - 2014-05-24 01:15:02
|
> In our code we use setns system call. [In] valgrind version (3.8.1), it seems like this syscall is not handled. > > > --2726-- WARNING: unhandled syscall: 308 > --2726-- You may be able to write your own handler. > --2726-- Read the file README_MISSING_SYSCALL_OR_IOCTL. > --2726-- Nevertheless we consider this a bug. Please report > --2726-- it at http://valgrind.org/support/bug_reports.html. Version 3.9.0 was released about 7 or 8 months ago. Why not upgrade? You should tell us which hardware architecture and which operating system. Because the setns system call: int setns(int fd, int nstype); does not reference memory, then setns is a no-operation as far as memcheck is concerned. Write an empty subroutine and put its address into the table: static SyscallTableEntry syscall_table[] = { ... }; Then submit your patch at the indicated URL. |
|
From: Himanshu S <mai...@gm...> - 2014-05-23 21:29:10
|
Hello, I started using valgrind for our code and it is a great tool. In our code we use setns system call. It seems like valgrind version (3.8.1). It seems like this syscall is not handled. --2726-- WARNING: unhandled syscall: 308 --2726-- You may be able to write your own handler. --2726-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --2726-- Nevertheless we consider this a bug. Please report --2726-- it at http://valgrind.org/support/bug_reports.html. I wanted to check if anyone knows about this issue being fixed or if anyone has a patch that works? Thanks in advance -Himanshu |
|
From: Andrejs B. <sin...@gm...> - 2014-05-22 14:06:51
|
On 5/22/14, Andrejs Bogdanovs wrote: > On 5/22/14, Julian Seward wrote: >> >> >> Does uCLibc implement LD_PRELOAD? I think that is how Valgrind causes >> those two objects to be loaded into the process. >> >> > > tl;dr uclibc must be configured with LD_PRELOAD in order for > valgrind's memcheck to work. " > > Will try to do that. > Recompiled uClibc configured with LD_PRELOAD, recompiled example program and Valgrind and it works now! Thank you guys! |
|
From: Andrejs B. <sin...@gm...> - 2014-05-22 12:18:22
|
On 5/22/14, Julian Seward wrote: > > That soname looks ok, then. But from the log you posted > later, it is clear that there is no malloc intercepting happening. > > For malloc intercepting to work, the files vgpreload_core-arm-linux.so > and vgpreload_memcheck-amd64-linux.so need to be loaded into the process. > > Comparing your log with a run with a glibc based system, I see this > > Reading syms from [..]/vgpreload_core-amd64-linux.so > Reading syms from [..]/vgpreload_memcheck-amd64-linux.so > > which is missing in your log. > > Does uCLibc implement LD_PRELOAD? I think that is how Valgrind causes > those two objects to be loaded into the process. > > J > That may be a clue! Actually Valgrind sets LD_PRELOAD env variable to correct string, pointing to existing /usr/lib/valgrind/vgpreload_core-arm-linux.so and /usr/lib/valgrind/vgpreload_memcheck-arm-linux.so, but uClibc may have been configured without LD_PRELOAD. I've found this in blog entry from NeoSkye: http://drivingtux.blogspot.com/2013/10/getting-valgrind-memcheck-to-work-with.html He wrote: "It turns out that valgrind actually sets the LD_PRELOAD environment variable early in execution, before loading the executable that is to be analyzed. This should instruct the runtime link loader to load the libraries in LD_PRELOAD, which are the vgpreload ones. Unfortunately, if your uclibc is configured without LD_PRELOAD (like ours was), the loader will ignore LD_PRELOAD and valgrind won't know that the vgpreload libraries were never loaded and malloc was not replaced. tl;dr uclibc must be configured with LD_PRELOAD in order for valgrind's memcheck to work. " Will try to do that. |