You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(11) |
2
(14) |
3
(11) |
|
4
(7) |
5
(14) |
6
(15) |
7
(31) |
8
(12) |
9
(9) |
10
(9) |
|
11
(9) |
12
(10) |
13
(10) |
14
(9) |
15
(10) |
16
(11) |
17
(10) |
|
18
(10) |
19
(10) |
20
(11) |
21
(13) |
22
(16) |
23
(9) |
24
(7) |
|
25
(9) |
26
(7) |
27
(9) |
28
(5) |
29
(5) |
30
(9) |
|
|
From: Tom H. <to...@co...> - 2006-06-22 10:55:52
|
In message <Pine.LNX.4.64.0606221654510.1402@parore>
John Carter <joh...@ta...> wrote:
> Ok, so here is the output of valgrind -v -d and objdump -h
Can you add a second -d switch please - then it should tell us about
each piece of memory that it announces to memcheck at startup.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Tom H. <to...@co...> - 2006-06-22 10:45:45
|
In message <Pine.LNX.4.64.0606221145130.7002@parore>
John Carter <joh...@ta...> wrote:
> On Wed, 21 Jun 2006, Tom Hughes wrote:
>
>> I've checked in a fix for this now - it was an off by one error in
>> the boundary condition being checked by the assertion which would
>> cause it to fire when you tried to expand into the final page of the
>> space reserved for the heap.
>
> Thanks! That's marvelous!
>
> I checked it out and it worked, assertion gone away!
>
> Do you still want me to enter it into bug tracker?
No, it's fine - I've put it in the bug status file so we should
remember to merge it is we do a 3.2.1 release.
> I notice that it valgrind still refuses to shift the brk by more than
> about 8mb (0x7ff001 to be precise)
Only by changing the source - line 2208-2218 of m_main.c are the ones
responsible for reserving space for the heap. By default valgrind
obeys the data limit subject to a minimum of 1Mb and a maximum of 8Mb.
The slight difference from 8Mb you see is down to valgrind reserving
a guard page at the end of the heap.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: <js...@ac...> - 2006-06-22 10:30:03
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-06-22 09:00:01 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 206 tests, 11 stderr failures, 5 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: John C. <joh...@ta...> - 2006-06-22 06:02:38
|
On Thu, 22 Jun 2006, John Carter wrote: > I'm going to try force the alignment of sections to 4K and see what > happens... Sigh! Nice guess, I successfully aligned the sections on 0x1000 boundaries. No difference. Still doesn't see the .data address range as a .data segment. John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : joh...@ta... New Zealand Carter's Clarification of Murphy's Law. "Things only ever go right so that they may go more spectacularly wrong later." >From this principle, all of life and physics may be deduced. |
|
From: John C. <joh...@ta...> - 2006-06-22 05:28:20
|
On Thu, 22 Jun 2006, John Carter wrote: > --1418:1:aspacem 4: file 0008A00000-0008A00FFF 4096 rw--- d=0x304 i=800566 o=126976 (1) Ooh! I can see one gotcha there actually. Magic number 4096. Isn't that the Intel page size? Ecos being targeted at highly resource contrained embedded systems without MMU's is packing in the segments as tight as it can get them... I'm going to try force the alignment of sections to 4K and see what happens... John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : joh...@ta... New Zealand Carter's Clarification of Murphy's Law. "Things only ever go right so that they may go more spectacularly wrong later." >From this principle, all of life and physics may be deduced. |
|
From: John C. <joh...@ta...> - 2006-06-22 05:03:19
|
Ok, so here is the output of valgrind -v -d and objdump -h
The objdump -h output displays which LMA/VMA size for each section.
If we consider this valgrind output....
==1418== Invalid read of size 4
==1418== at 0x800EA34: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
The objdump output tells us 0x8A0093C is in the .data section
(initialized static data section).
The valgrind -d output tells us...
--1418:1:aspacem 4: file 0008A00000-0008A00FFF 4096 rw--- d=0x304 i=800566 o=126976 (1)
which I'll admit I don't know how to read.
--1418:1:debuglog DebugLog system started by Stage 1, level 1 logging requested
--1418:1:launcher no tool requested, defaulting to 'memcheck'
--1418:1:launcher selected platform 'x86-linux'
--1418:1:launcher launching /usr/local/lib/valgrind/x86-linux/memcheck
--1418:1:debuglog DebugLog system started by Stage 2 (main), level 1 logging requested
--1418:1:main Welcome to Valgrind version 3.3.0.SVN debug logging
--1418:1:main Checking current stack is plausible
--1418:1:main Checking initial stack was noted
--1418:1:main Starting the address space manager
--1418:1:main Address space manager is running
--1418:1:main Starting the dynamic memory manager
--1418:1:mallocfr newSuperblock at 0x61D15000 (pszB 1048560) owner VALGRIND/tool
--1418:1:main Dynamic memory manager is running
--1418:1:main Getting stage1's name
--1418:1:main Get hardware capabilities ...
--1418:1:main ... arch = X86, hwcaps = x86-sse1-sse2
--1418:1:main Split up command line
--1418:1:main Preprocess command line opts
--1418:1:main Loading client
--1418:1:main Setup client env
--1418:1:main Setup client stack
--1418:1:main Setup client data (brk) segment
--1418:1:main Setup file descriptors
--1418:1:main Create fake /proc/<pid>/cmdline
--1418:1:main Initialise the tool part 1 (pre_clo_init)
--1418:1:main Print help and quit, if requested
--1418:1:main Process Valgrind's command line options, setup logging
--1418:1:mallocfr newSuperblock at 0x61E15000 (pszB 1048560) owner VALGRIND/core
--1418:1:main Print the preamble...
==1418== Memcheck, a memory error detector.
==1418== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==1418== Using LibVEX rev 1631, a library for dynamic binary translation.
==1418== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==1418== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation framework.
==1418== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==1418==
--1418-- Command line
--1418-- bld/synth/rom/uninstrumented/MPT_Torso/UnitTest/UnitTest/test/test_sytiml
--1418-- --io
--1418-- --no-windows
--1418-- --exit
--1418-- --target=synthetic_devices/nullmodem.tdf
--1418-- Startup, with flags:
--1418-- --max-stackframe=1300000000
--1418-- -v
--1418-- -d
--1418-- Contents of /proc/version:
--1418-- Linux version 2.6.15.1 (johnc@parore) (gcc version 4.0.3 20060128 (prerelease) (Debian 4.0.2-8)) #0 PREEMPT Tue Mar 21 08:57:50 NZST 2006
--1418-- Arch and hwcaps: X86, x86-sse1-sse2
--1418-- Valgrind library directory: /usr/local/lib/valgrind
--1418:1:main ...finished the preamble
--1418:1:main Initialise the tool part 2 (post_clo_init)
--1418:1:main Initialise TT/TC
--1418:1:main Initialise redirects
--1418:1:mallocfr newSuperblock at 0x61F90000 (pszB 1048560) owner VALGRIND/symtab
--1418:1:main Load initial debug info
--1418-- Reading syms from /usr/local/lib/valgrind/x86-linux/memcheck (0x38000000)
--1418-- object doesn't have a dynamic symbol table
--1418:1:mallocfr newSuperblock at 0x62090000 (pszB 1048560) owner VALGRIND/symtab
--1418:1:mallocfr newSuperblock at 0x62190000 (pszB 1048560) owner VALGRIND/symtab
--1418:1:redir transfer ownership V -> C of 0x38027000 .. 0x38027FFF
--1418:1:main Tell tool about initial permissions
--1418:1:main Initialise scheduler
--1418:1:main Initialise thread 1's state
--1418:1:main Initialise signal management
--1418:1:main Load suppressions
--1418-- Reading suppressions file: /usr/local/lib/valgrind/default.supp
--1418:1:main
--1418:1:main
--1418:1:aspacem <<< SHOW_SEGMENTS: Memory layout at client startup (25 segments, 2 segnames)
--1418:1:aspacem ( 0) /usr/local/lib/valgrind/x86-linux/memcheck
--1418:1:aspacem ( 1) /home/johnc/ttr3/TaitTerm_Base/bld/synth/rom/uninstrumented/MPT_Torso/UnitTest/UnitTest/test/test_sytiml
--1418:1:aspacem 0: RSVN 0000000000-0003FFFFFF 64m ----- SmFixed
--1418:1:aspacem 1: 0004000000-0007FFFFFF 64m
--1418:1:aspacem 2: file 0008000000-000801DFFF 122880 rwx-- d=0x304 i=800566 o=4096 (1)
--1418:1:aspacem 3: 000801E000-00089FFFFF 9m
--1418:1:aspacem 4: file 0008A00000-0008A00FFF 4096 rw--- d=0x304 i=800566 o=126976 (1)
--1418:1:aspacem 5: anon 0008A01000-0008A86FFF 548864 rw---
--1418:1:aspacem 6: anon 0008A87000-0008A87FFF 4096 rwx--
--1418:1:aspacem 7: RSVN 0008A88000-0009286FFF 8384512 ----- SmLower
--1418:1:aspacem 8: 0009287000-0037FFFFFF 749m
--1418:1:aspacem 9: FILE 0038000000-0038026FFF 159744 r-x-- d=0x302 i=574341 o=0 (0)
--1418:1:aspacem 10: file 0038027000-0038027FFF 4096 r-x-- d=0x302 i=574341 o=159744 (0)
--1418:1:aspacem 11: FILE 0038028000-0038151FFF 1220608 r-x-- d=0x302 i=574341 o=163840 (0)
--1418:1:aspacem 12: FILE 0038152000-0038152FFF 4096 rw--- d=0x302 i=574341 o=1380352 (0)
--1418:1:aspacem 13: ANON 0038153000-003883CFFF 7249920 rw---
--1418:1:aspacem 14: 003883D000-0061D13FFF 660m
--1418:1:aspacem 15: RSVN 0061D14000-0061D14FFF 4096 ----- SmFixed
--1418:1:aspacem 16: ANON 0061D15000-00622A3FFF 5828608 rwx--
--1418:1:aspacem 17: 00622A4000-00BE227FFF 1471m
--1418:1:aspacem 18: RSVN 00BE228000-00BEA26FFF 8384512 ----- SmUpper
--1418:1:aspacem 19: anon 00BEA27000-00BEA27FFF 4096 rwx--
--1418:1:aspacem 20: 00BEA28000-00BFA14FFF 15m
--1418:1:aspacem 21: ANON 00BFA15000-00BFA2AFFF 90112 rw---
--1418:1:aspacem 22: RSVN 00BFA2B000-00FFFFDFFF 1029m ----- SmFixed
--1418:1:aspacem 23: ANON 00FFFFE000-00FFFFEFFF 4096 -----
--1418:1:aspacem 24: RSVN 00FFFFF000-00FFFFFFFF 4096 ----- SmFixed
--1418:1:aspacem >>>
--1418:1:main
--1418:1:main
--1418:1:main Running thread 1
--1418:1:syswrap- entering VG_(main_thread_wrapper_NORETURN)
--1418:1:aspacem allocated thread stack at 0x622A4000 size 81920
--1418:1:syswrap- run_a_thread_NORETURN(tid=1): pre-thread_wrapper
--1418:1:syswrap- thread_wrapper(tid=1): entry
--1418:1:transtab allocate sector 0
--1418:1:mallocfr newSuperblock at 0x63AAA000 (pszB 65520) owner VALGRIND/ttaux
--1419:1:syswrap Exec of /opt/ecos/host_tools/libexec/ecos/hal/synth/arch/v2_0/ecosynth
--1418:1:signals extending a stack base 0xBEA27000 down by 4096
==1418== Warning: set address range perms: large range 1241901072 (noaccess)
--1418:1:mallocfr newSuperblock at 0x63ABA000 (pszB 262128) owner VALGRIND/exectxt
--1418:1:mallocfr newSuperblock at 0x63AFA000 (pszB 65520) owner VALGRIND/errors
==1418== Invalid read of size 4
==1418== at 0x800EA31: ???
==1418== Address 0x8A85F20 is just below the stack ptr. To suppress, use: --workaround-gcc296-bugs=yes
==1418==
==1418== Invalid read of size 4
==1418== at 0x800EA34: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800EA3C: ???
==1418== Address 0x800EA3C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800C766: ???
==1418== Address 0x800C766 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid write of size 4
==1418== at 0x800C76C: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800C776: ???
==1418== Address 0x8A00944 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800C77F: ???
==1418== Address 0x800C77F is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid write of size 4
==1418== at 0x800C77F: ???
==1418== Address 0x8A00944 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800CF85: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800CF9D: ???
==1418== Address 0x800CF9D is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid write of size 4
==1418== at 0x800CF9D: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Syscall param gettimeofday(tv) points to unaddressable byte(s)
==1418== at 0x800EC7E: ???
==1418== Address 0x8A00954 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800CFB6: ???
==1418== Address 0x800CFB6 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800CFB9: ???
==1418== Address 0x8A0094C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid write of size 4
==1418== at 0x800CFC1: ???
==1418== Address 0x8A0094C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800CFC6: ???
==1418== Address 0x8A00950 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800CFCF: ???
==1418== Address 0x8A0094C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800CFDA: ???
==1418== Address 0x800CFDA is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800CFDA: ???
==1418== Address 0x8A00948 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800C630: ???
==1418== Address 0x800C630 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800C636: ???
==1418== Address 0x8A0093C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800C674: ???
==1418== Address 0x800C674 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800C674: ???
==1418== Address 0x8A00950 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Invalid read of size 4
==1418== at 0x800C67D: ???
==1418== Address 0x8A0094C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== Jump to the invalid address stated on the next line
==1418== at 0x800C6BD: ???
==1418== Address 0x800C6BD is not stack'd, malloc'd or (recently) free'd
==1418==
>>>>>Snipped several thousand lines of very similar output<<<<<<
==1418== Address 0x8A7DE9C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== 1 errors in context 808 of 1000:
==1418== Invalid read of size 4
==1418== at 0x800794A: ???
==1418== Address 0x8A7DE9C is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== 1 errors in context 809 of 1000:
==1418== Jump to the invalid address stated on the next line
==1418== at 0x8007944: ???
==1418== Address 0x8007944 is not stack'd, malloc'd or (recently) free'd
==1418==
==1418== 1 errors in context 810 of 1000:
==1418== Jump to the invalid address stated on the next line
bld/synth/rom/uninstrumented/MPT_Torso/UnitTest/UnitTest/test/test_sytiml: file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .vectors 00000000 08000000 08000000 0001fac0 2**0
CONTENTS
1 .text 000136bb 08000000 08000000 00001000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .fini 00000000 080136bc 080136bc 0001fac0 2**0
CONTENTS
3 .rodata1 00000000 080136c0 080136c0 0001fac0 2**0
CONTENTS
4 .rodata 0000a14d 080136c0 080136c0 000146c0 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .fixup 00000000 0801d810 0801d810 0001fac0 2**0
CONTENTS
6 .eh_frame 00000128 0801d810 0801d810 0001e810 2**2
CONTENTS, ALLOC, LOAD, DATA
7 .gcc_except_table 00000000 0801d938 0801d938 0001fac0 2**0
CONTENTS
8 .data 00000ac0 08a00000 08a00000 0001f000 2**5
CONTENTS, ALLOC, LOAD, DATA
9 .sbss 00000000 08a00ac0 08a00ac0 0001fac0 2**0
CONTENTS
10 .bss 00085888 08a00ac0 08a00ac0 0001fac0 2**5
ALLOC
11 .stab 0003000c 00000000 00000000 0001fac0 2**2
CONTENTS, READONLY, DEBUGGING
12 .stabstr 0007db4b 00000000 00000000 0004facc 2**0
CONTENTS, READONLY, DEBUGGING
On Thu, 22 Jun 2006, Nicholas Nethercote wrote:
> On Thu, 22 Jun 2006, John Carter wrote:
>
>> I'm trying to convince ECOS synth and Valgrind to play nice.
>>
>> ECOS is the Embedded Configurable Operating System, a GPL'd RTOS.
>>
>> You can also configure this RTOS to run as a userland process under
>> linux.
>>
>> So in theory it should be simple to debug ecos programs under Valgrind.
>>
>> In practice, eCos uses...
>> * It's own linker scripts, so the program layout in virtual memory is
>> a bit unusual.
>> * It does threading via timer interrupts and does
>> thread context switches use ordinary static arrays as stacks. (ie.
>> No pthreads)
>>
>> Now looking at the messages being spat out by valgrind.. eg..
>> ==6311== Invalid read of size 4
>> ==6311== at 0x80085A9: ???
>> ==6311== Address 0x8A790A4 is not stack'd, malloc'd or (recently) free'd
>>
>> In this case I can look in the ELF executable and see that address is a
>> perfectly valid symbol/variable in the .data section.
>>
>> So it would seem to me that valgrind doesn't understand that symbols in
>> the .data sections are preallocated, preinitialized variables.
>>
>> So the question is then... How does Valgrind usually decide that which
>> addresses are initialized static variables (ie. .data segment variables)?
>
> For the starting executable, when Valgrind loads it (with its loader) it
> tells the tool "I just wrote some memory in the range X..Y". When Memcheck
> is told this is marks that memory as addressable and defined.
>
> For .so files, it's similar but Valgrind tells the tool this from its 'mmap'
> wrapper.
>
> I am guessing that something weird is happening with the loading, and
> Valgrind thinks that the starting executable is smaller than it really is, or
> in a different place, or something.
>
> What's the output with -d look like? There should be a string "Tell tool
> about initial permissions" which indicates what Valgrind thinks has been
> loaded.
>
> Nick
>
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : joh...@ta...
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
>From this principle, all of life and physics may be deduced.
|
|
From: <js...@ac...> - 2006-06-22 02:59:29
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-06-22 03:30:01 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 235 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) |
|
From: Tom H. <th...@cy...> - 2006-06-22 02:55:47
|
Nightly build on ford ( i686, Fedora Core 4 ) started at 2006-06-22 03:25:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 235 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) |
|
From: Tom H. <to...@co...> - 2006-06-22 02:46:10
|
Nightly build on dunsmere ( athlon, Fedora Core 5 ) started at 2006-06-22 03:30:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 237 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-06-22 02:33:27
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-06-22 03:15:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 236 tests, 19 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/mempool (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-06-22 02:31:53
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2006-06-22 03:10:06 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 236 tests, 6 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-06-22 02:29:30
|
Nightly build on dellow ( x86_64, Fedora Core 5 ) started at 2006-06-22 03:10:12 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 260 tests, 2 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-06-22 02:24:16
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-06-22 03:00:02 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 260 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) |
|
From: Nicholas N. <nj...@cs...> - 2006-06-22 02:10:04
|
On Thu, 22 Jun 2006, John Carter wrote: > I'm trying to convince ECOS synth and Valgrind to play nice. > > ECOS is the Embedded Configurable Operating System, a GPL'd RTOS. > > You can also configure this RTOS to run as a userland process under > linux. > > So in theory it should be simple to debug ecos programs under Valgrind. > > In practice, eCos uses... > * It's own linker scripts, so the program layout in virtual memory is > a bit unusual. > * It does threading via timer interrupts and does > thread context switches use ordinary static arrays as stacks. (ie. > No pthreads) > > Now looking at the messages being spat out by valgrind.. eg.. > ==6311== Invalid read of size 4 > ==6311== at 0x80085A9: ??? > ==6311== Address 0x8A790A4 is not stack'd, malloc'd or (recently) free'd > > In this case I can look in the ELF executable and see that address is a > perfectly valid symbol/variable in the .data section. > > So it would seem to me that valgrind doesn't understand that symbols in > the .data sections are preallocated, preinitialized variables. > > So the question is then... How does Valgrind usually decide that which > addresses are initialized static variables (ie. .data segment variables)? For the starting executable, when Valgrind loads it (with its loader) it tells the tool "I just wrote some memory in the range X..Y". When Memcheck is told this is marks that memory as addressable and defined. For .so files, it's similar but Valgrind tells the tool this from its 'mmap' wrapper. I am guessing that something weird is happening with the loading, and Valgrind thinks that the starting executable is smaller than it really is, or in a different place, or something. What's the output with -d look like? There should be a string "Tell tool about initial permissions" which indicates what Valgrind thinks has been loaded. Nick |
|
From: John C. <joh...@ta...> - 2006-06-22 01:42:30
|
I'm trying to convince ECOS synth and Valgrind to play nice.
ECOS is the Embedded Configurable Operating System, a GPL'd RTOS.
You can also configure this RTOS to run as a userland process under
linux.
So in theory it should be simple to debug ecos programs under Valgrind.
In practice, eCos uses...
* It's own linker scripts, so the program layout in virtual memory is
a bit unusual.
* It does threading via timer interrupts and does
thread context switches use ordinary static arrays as stacks. (ie.
No pthreads)
Now looking at the messages being spat out by valgrind.. eg..
==6311== Invalid read of size 4
==6311== at 0x80085A9: ???
==6311== Address 0x8A790A4 is not stack'd, malloc'd or (recently) free'd
In this case I can look in the ELF executable and see that address is a
perfectly valid symbol/variable in the .data section.
So it would seem to me that valgrind doesn't understand that symbols in
the .data sections are preallocated, preinitialized variables.
So the question is then... How does Valgrind usually decide that which
addresses are initialized static variables (ie. .data segment variables)?
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : joh...@ta...
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
>From this principle, all of life and physics may be deduced.
|
|
From: John C. <joh...@ta...> - 2006-06-22 00:03:29
|
On Wed, 21 Jun 2006, Tom Hughes wrote: > I've checked in a fix for this now - it was an off by one error in > the boundary condition being checked by the assertion which would > cause it to fire when you tried to expand into the final page of the > space reserved for the heap. Thanks! That's marvelous! I checked it out and it worked, assertion gone away! Do you still want me to enter it into bug tracker? I notice that it valgrind still refuses to shift the brk by more than about 8mb (0x7ff001 to be precise) Is there a way of increasing that limit? (I have appended the output of valgrind -v -d ./brk to this mail.... John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : joh...@ta... New Zealand Carter's Clarification of Murphy's Law. "Things only ever go right so that they may go more spectacularly wrong later." >From this principle, all of life and physics may be deduced. ====================================================================== valgrind -v -d ./brk --8182:1:debuglog DebugLog system started by Stage 1, level 1 logging requested --8182:1:launcher no tool requested, defaulting to 'memcheck' --8182:1:launcher selected platform 'x86-linux' --8182:1:launcher launching /usr/local/lib/valgrind/x86-linux/memcheck --8182:1:debuglog DebugLog system started by Stage 2 (main), level 1 logging requested --8182:1:main Welcome to Valgrind version 3.3.0.SVN debug logging --8182:1:main Checking current stack is plausible --8182:1:main Checking initial stack was noted --8182:1:main Starting the address space manager --8182:1:main Address space manager is running --8182:1:main Starting the dynamic memory manager --8182:1:mallocfr newSuperblock at 0x61F7F000 (pszB 1048560) owner VALGRIND/tool --8182:1:main Dynamic memory manager is running --8182:1:main Getting stage1's name --8182:1:main Get hardware capabilities ... --8182:1:main ... arch = X86, hwcaps = x86-sse1-sse2 --8182:1:main Split up command line --8182:1:main Preprocess command line opts --8182:1:main Loading client --8182:1:main Setup client env --8182:1:main Setup client stack --8182:1:main Setup client data (brk) segment --8182:1:main Setup file descriptors --8182:1:main Create fake /proc/<pid>/cmdline --8182:1:main Initialise the tool part 1 (pre_clo_init) --8182:1:main Print help and quit, if requested --8182:1:main Process Valgrind's command line options, setup logging --8182:1:mallocfr newSuperblock at 0x6207F000 (pszB 1048560) owner VALGRIND/core --8182:1:main Print the preamble... ==8182== Memcheck, a memory error detector. ==8182== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==8182== Using LibVEX rev 1631, a library for dynamic binary translation. ==8182== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==8182== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation framework. ==8182== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==8182== --8182-- Command line --8182-- ./brk --8182-- Startup, with flags: --8182-- -v --8182-- -d --8182-- Contents of /proc/version: --8182-- Linux version 2.6.15.1 (johnc@parore) (gcc version 4.0.3 20060128 (prerelease) (Debian 4.0.2-8)) #0 PREEMPT Tue Mar 21 08:57:50 NZST 2006 --8182-- Arch and hwcaps: X86, x86-sse1-sse2 --8182-- Valgrind library directory: /usr/local/lib/valgrind --8182:1:main ...finished the preamble --8182:1:main Initialise the tool part 2 (post_clo_init) --8182:1:main Initialise TT/TC --8182:1:main Initialise redirects --8182:1:mallocfr newSuperblock at 0x621FA000 (pszB 1048560) owner VALGRIND/symtab --8182:1:main Load initial debug info --8182-- Reading syms from /lib/ld-2.3.6.so (0x4000000) --8182-- Reading debug info from /lib/ld-2.3.6.so... --8182-- ... CRC mismatch (computed A0828FFB wanted BF5D33FD) --8182-- object doesn't have a symbol table --8182-- Reading syms from /home/johnc/tmp/brk (0x8048000) --8182-- Reading syms from /usr/local/lib/valgrind/x86-linux/memcheck (0x38000000) --8182-- object doesn't have a dynamic symbol table --8182:1:mallocfr newSuperblock at 0x622FA000 (pszB 1048560) owner VALGRIND/symtab --8182:1:mallocfr newSuperblock at 0x623FA000 (pszB 1048560) owner VALGRIND/symtab --8182:1:redir transfer ownership V -> C of 0x38027000 .. 0x38027FFF --8182:1:main Tell tool about initial permissions --8182:1:main Initialise scheduler --8182:1:main Initialise thread 1's state --8182:1:main Initialise signal management --8182:1:main Load suppressions --8182-- Reading suppressions file: /usr/local/lib/valgrind/default.supp --8182:1:main --8182:1:main --8182:1:aspacem <<< SHOW_SEGMENTS: Memory layout at client startup (25 segments, 3 segnames) --8182:1:aspacem ( 0) /usr/local/lib/valgrind/x86-linux/memcheck --8182:1:aspacem ( 1) /home/johnc/tmp/brk --8182:1:aspacem ( 2) /lib/ld-2.3.6.so --8182:1:aspacem 0: RSVN 0000000000-0003FFFFFF 64m ----- SmFixed --8182:1:aspacem 1: file 0004000000-0004014FFF 86016 r-x-- d=0x302 i=213532 o=0 (2) --8182:1:aspacem 2: file 0004015000-0004016FFF 8192 rw--- d=0x302 i=213532 o=86016 (2) --8182:1:aspacem 3: 0004017000-0008047FFF 64m --8182:1:aspacem 4: file 0008048000-0008048FFF 4096 r-x-- d=0x304 i=105621 o=0 (1) --8182:1:aspacem 5: file 0008049000-0008049FFF 4096 rw--- d=0x304 i=105621 o=0 (1) --8182:1:aspacem 6: anon 000804A000-000804AFFF 4096 rwx-- --8182:1:aspacem 7: RSVN 000804B000-0008849FFF 8384512 ----- SmLower --8182:1:aspacem 8: 000884A000-0037FFFFFF 759m --8182:1:aspacem 9: FILE 0038000000-0038026FFF 159744 r-x-- d=0x302 i=574341 o=0 (0) --8182:1:aspacem 10: file 0038027000-0038027FFF 4096 r-x-- d=0x302 i=574341 o=159744 (0) --8182:1:aspacem 11: FILE 0038028000-0038151FFF 1220608 r-x-- d=0x302 i=574341 o=163840 (0) --8182:1:aspacem 12: FILE 0038152000-0038152FFF 4096 rw--- d=0x302 i=574341 o=1380352 (0) --8182:1:aspacem 13: ANON 0038153000-003883CFFF 7249920 rw--- --8182:1:aspacem 14: 003883D000-0061F7DFFF 663m --8182:1:aspacem 15: RSVN 0061F7E000-0061F7EFFF 4096 ----- SmFixed --8182:1:aspacem 16: ANON 0061F7F000-0062509FFF 5812224 rwx-- --8182:1:aspacem 17: 006250A000-00BE6FCFFF 1473m --8182:1:aspacem 18: RSVN 00BE6FD000-00BEEFBFFF 8384512 ----- SmUpper --8182:1:aspacem 19: anon 00BEEFC000-00BEEFCFFF 4096 rwx-- --8182:1:aspacem 20: 00BEEFD000-00BFEE8FFF 15m --8182:1:aspacem 21: ANON 00BFEE9000-00BFEFEFFF 90112 rw--- --8182:1:aspacem 22: RSVN 00BFEFF000-00FFFFDFFF 1024m ----- SmFixed --8182:1:aspacem 23: ANON 00FFFFE000-00FFFFEFFF 4096 ----- --8182:1:aspacem 24: RSVN 00FFFFF000-00FFFFFFFF 4096 ----- SmFixed --8182:1:aspacem >>> --8182:1:main --8182:1:main --8182:1:main Running thread 1 --8182:1:syswrap- entering VG_(main_thread_wrapper_NORETURN) --8182:1:aspacem allocated thread stack at 0x6250A000 size 81920 --8182:1:syswrap- run_a_thread_NORETURN(tid=1): pre-thread_wrapper --8182:1:syswrap- thread_wrapper(tid=1): entry --8182:1:transtab allocate sector 0 --8182:1:mallocfr newSuperblock at 0x63D10000 (pszB 65520) owner VALGRIND/ttaux --8182:1:signals extending a stack base 0xBEEFC000 down by 4096 --8182-- Reading syms from /usr/local/lib/valgrind/x86-linux/vgpreload_core.so (0x4019000) --8182-- Reading syms from /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so (0x401B000) --8182-- Reading syms from /lib/tls/i686/cmov/libc-2.3.6.so (0x403F000) --8182-- Reading debug info from /lib/tls/i686/cmov/libc-2.3.6.so... --8182-- ... CRC mismatch (computed 1C5E30FA wanted 551808F8) --8182-- object doesn't have a symbol table --8182:1:mallocfr newSuperblock at 0x63D28000 (pszB 262128) owner VALGRIND/exectxt --8182:1:mallocfr newSuperblock at 0x63D68000 (pszB 65520) owner VALGRIND/errors --8182-- REDIR: 0x40AD090 (rindex) redirected to 0x401DF20 (rindex) Current brk = 0x804a000 brk first failed at size 8384513 (or 7ff001 in hex) --8182:1:syswrap- thread_wrapper(tid=1): exit --8182:1:syswrap- run_a_thread_NORETURN(tid=1): post-thread_wrapper --8182:1:syswrap- run_a_thread_NORETURN(tid=1): last one standing --8182:1:main entering VG_(shutdown_actions_NORETURN) --8182-- REDIR: 0x40A5B40 (free) redirected to 0x401CEE9 (free) --8182-- REDIR: 0x40ADF40 (memset) redirected to 0x401E3C0 (memset) ==8182== ==8182== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 11 from 1) --8182-- --8182-- supp: 11 Ubuntu-stripped-ld.so ==8182== malloc/free: in use at exit: 0 bytes in 0 blocks. ==8182== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==8182== ==8182== All heap blocks were freed -- no leaks are possible. --8182-- memcheck: sanity checks: 754 cheap, 31 expensive --8182-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use --8182-- memcheck: auxmaps: 0 searches, 0 comparisons --8182-- memcheck: SMs: n_issued = 135 (2160k, 2M) --8182-- memcheck: SMs: n_deissued = 0 (0k, 0M) --8182-- memcheck: SMs: max_noaccess = 65535 (1048560k, 1023M) --8182-- memcheck: SMs: max_undefined = 0 (0k, 0M) --8182-- memcheck: SMs: max_defined = 21 (336k, 0M) --8182-- memcheck: SMs: max_non_DSM = 135 (2160k, 2M) --8182-- memcheck: max sec V bit nodes: 1 (0k, 0M) --8182-- memcheck: set_sec_vbits8 calls: 1 (new: 1, updates: 0) --8182-- memcheck: max shadow mem size: 2464k, 2M --8182-- translate: fast SP updates identified: 1,630 ( 90.1%) --8182-- translate: generic_known SP updates identified: 90 ( 4.9%) --8182-- translate: generic_unknown SP updates identified: 89 ( 4.9%) --8182-- tt/tc: 3,471 tt lookups requiring 3,498 probes --8182-- tt/tc: 3,471 fast-cache updates, 2 flushes --8182-- transtab: new 1,733 (36,167 -> 601,023; ratio 166:10) [0 scs] --8182-- transtab: dumped 0 (0 -> ??) --8182-- transtab: discarded 0 (0 -> ??) --8182-- scheduler: 75,486,374 jumps (bb entries). --8182-- scheduler: 754/8,386,964 major/minor sched events. --8182-- sanity: 755 cheap, 31 expensive checks. --8182-- exectx: 30,011 lists, 6 contexts (avg 0 per list) --8182-- exectx: 11 searches, 5 full compares (454 per 1000) --8182-- exectx: 0 cmp2, 26 cmp4, 0 cmpAll --8182:1:core_os VG_(terminate_NORETURN)(tid=1) |