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
(3) |
2
(20) |
3
(19) |
|
4
(14) |
5
(2) |
6
(21) |
7
(26) |
8
(32) |
9
(13) |
10
(3) |
|
11
(3) |
12
(15) |
13
(14) |
14
(15) |
15
(12) |
16
(4) |
17
(18) |
|
18
(16) |
19
(2) |
20
(16) |
21
(19) |
22
(13) |
23
(8) |
24
(1) |
|
25
(4) |
26
(18) |
27
(23) |
28
(16) |
29
(17) |
30
(15) |
31
(15) |
|
From: <sv...@va...> - 2012-03-01 22:05:10
|
Author: philippe
Date: 2012-03-01 22:00:36 +0000 (Thu, 01 Mar 2012)
New Revision: 12412
Log:
In case VALGRIND_MALLOCLIKE_BLOCK is wrongly used, output
the execontext where the overlapping blocks have been reported
before crashing.
Modified:
trunk/memcheck/mc_leakcheck.c
Modified: trunk/memcheck/mc_leakcheck.c
===================================================================
--- trunk/memcheck/mc_leakcheck.c 2012-03-01 13:42:18 UTC (rev 12411)
+++ trunk/memcheck/mc_leakcheck.c 2012-03-01 22:00:36 UTC (rev 12412)
@@ -1376,10 +1376,14 @@
lc_n_chunks--;
} else {
- VG_(umsg)("Block 0x%lx..0x%lx overlaps with block 0x%lx..0x%lx",
+ VG_(umsg)("Block 0x%lx..0x%lx overlaps with block 0x%lx..0x%lx\n",
start1, end1, start2, end2);
+ VG_(umsg)("Blocks allocation contexts:\n"),
+ VG_(pp_ExeContext)( ch1->where);
+ VG_(umsg)("\n"),
+ VG_(pp_ExeContext)( ch2->where);
VG_(umsg)("This is usually caused by using VALGRIND_MALLOCLIKE_BLOCK");
- VG_(umsg)("in an inappropriate way.");
+ VG_(umsg)("in an inappropriate way.\n");
tl_assert (0);
}
}
|
|
From: <sv...@va...> - 2012-03-01 13:46:56
|
Author: tom
Date: 2012-03-01 13:42:18 +0000 (Thu, 01 Mar 2012)
New Revision: 12411
Log:
Handle prlimit64 the same way we do getrlimit and setrlimit, with
some requests trapped and handled by valgrind.
Patch from Matthias Schwarzott via BZ#294047.
Added:
trunk/none/tests/rlimit64_nofile.c
trunk/none/tests/rlimit64_nofile.stderr.exp
trunk/none/tests/rlimit64_nofile.stdout.exp
trunk/none/tests/rlimit64_nofile.vgtest
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/none/tests/Makefile.am
trunk/none/tests/rlimit_nofile.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2012-02-28 22:37:44 UTC (rev 12410)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2012-03-01 13:42:18 UTC (rev 12411)
@@ -3917,7 +3917,11 @@
arg1 &= ~_RLIMIT_POSIX_FLAG;
#endif
- if (arg1 == VKI_RLIMIT_NOFILE) {
+ if (ARG2 &&
+ ((struct vki_rlimit *)ARG2)->rlim_cur > ((struct vki_rlimit *)ARG2)->rlim_max) {
+ SET_STATUS_Failure( VKI_EINVAL );
+ }
+ else if (arg1 == VKI_RLIMIT_NOFILE) {
if (((struct vki_rlimit *)ARG2)->rlim_cur > VG_(fd_hard_limit) ||
((struct vki_rlimit *)ARG2)->rlim_max != VG_(fd_hard_limit)) {
SET_STATUS_Failure( VKI_EPERM );
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-02-28 22:37:44 UTC (rev 12410)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-03-01 13:42:18 UTC (rev 12411)
@@ -1285,32 +1285,76 @@
PRE_MEM_READ( "rlimit64(new_rlim)", ARG3, sizeof(struct vki_rlimit64) );
if (ARG4)
PRE_MEM_WRITE( "rlimit64(old_rlim)", ARG4, sizeof(struct vki_rlimit64) );
-}
-POST(sys_prlimit64)
-{
- if (ARG4) {
- POST_MEM_WRITE( ARG4, sizeof(struct vki_rlimit64) );
-
+ if (ARG3 &&
+ ((struct vki_rlimit64 *)ARG3)->rlim_cur > ((struct vki_rlimit64 *)ARG3)->rlim_max) {
+ SET_STATUS_Failure( VKI_EINVAL );
+ }
+ else if (ARG1 == 0 || ARG1 == VG_(getpid)()) {
switch (ARG2) {
case VKI_RLIMIT_NOFILE:
- ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(fd_soft_limit);
- ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(fd_hard_limit);
+ SET_STATUS_Success( 0 );
+ if (ARG4) {
+ ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(fd_soft_limit);
+ ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(fd_hard_limit);
+ }
+ if (ARG3) {
+ if (((struct vki_rlimit64 *)ARG3)->rlim_cur > VG_(fd_hard_limit) ||
+ ((struct vki_rlimit64 *)ARG3)->rlim_max != VG_(fd_hard_limit)) {
+ SET_STATUS_Failure( VKI_EPERM );
+ }
+ else {
+ VG_(fd_soft_limit) = ((struct vki_rlimit64 *)ARG3)->rlim_cur;
+ }
+ }
break;
case VKI_RLIMIT_DATA:
- ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(client_rlimit_data).rlim_cur;
- ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(client_rlimit_data).rlim_max;
+ SET_STATUS_Success( 0 );
+ if (ARG4) {
+ ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(client_rlimit_data).rlim_cur;
+ ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(client_rlimit_data).rlim_max;
+ }
+ if (ARG3) {
+ if (((struct vki_rlimit64 *)ARG3)->rlim_cur > VG_(client_rlimit_data).rlim_max ||
+ ((struct vki_rlimit64 *)ARG3)->rlim_max > VG_(client_rlimit_data).rlim_max) {
+ SET_STATUS_Failure( VKI_EPERM );
+ }
+ else {
+ VG_(client_rlimit_data).rlim_cur = ((struct vki_rlimit64 *)ARG3)->rlim_cur;
+ VG_(client_rlimit_data).rlim_max = ((struct vki_rlimit64 *)ARG3)->rlim_max;
+ }
+ }
break;
case VKI_RLIMIT_STACK:
- ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(client_rlimit_stack).rlim_cur;
- ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(client_rlimit_stack).rlim_max;
+ SET_STATUS_Success( 0 );
+ if (ARG4) {
+ ((struct vki_rlimit64 *)ARG4)->rlim_cur = VG_(client_rlimit_stack).rlim_cur;
+ ((struct vki_rlimit64 *)ARG4)->rlim_max = VG_(client_rlimit_stack).rlim_max;
+ }
+ if (ARG3) {
+ if (((struct vki_rlimit64 *)ARG3)->rlim_cur > VG_(client_rlimit_stack).rlim_max ||
+ ((struct vki_rlimit64 *)ARG3)->rlim_max > VG_(client_rlimit_stack).rlim_max) {
+ SET_STATUS_Failure( VKI_EPERM );
+ }
+ else {
+ VG_(threads)[tid].client_stack_szB = ((struct vki_rlimit64 *)ARG3)->rlim_cur;
+ VG_(client_rlimit_stack).rlim_cur = ((struct vki_rlimit64 *)ARG3)->rlim_cur;
+ VG_(client_rlimit_stack).rlim_max = ((struct vki_rlimit64 *)ARG3)->rlim_max;
+ }
+ }
break;
}
}
}
+POST(sys_prlimit64)
+{
+ if (ARG4)
+ POST_MEM_WRITE( ARG4, sizeof(struct vki_rlimit64) );
+}
+
/* ---------------------------------------------------------------------
tid-related wrappers
------------------------------------------------------------------ */
Modified: trunk/none/tests/Makefile.am
===================================================================
--- trunk/none/tests/Makefile.am 2012-02-28 22:37:44 UTC (rev 12410)
+++ trunk/none/tests/Makefile.am 2012-03-01 13:42:18 UTC (rev 12411)
@@ -130,6 +130,7 @@
res_search.stderr.exp res_search.stdout.exp res_search.vgtest \
resolv.stderr.exp resolv.stdout.exp resolv.vgtest \
rlimit_nofile.stderr.exp rlimit_nofile.stdout.exp rlimit_nofile.vgtest \
+ rlimit64_nofile.stderr.exp rlimit64_nofile.stdout.exp rlimit64_nofile.vgtest \
selfrun.stderr.exp selfrun.stdout.exp selfrun.vgtest \
sem.stderr.exp sem.stdout.exp sem.vgtest \
semlimit.stderr.exp semlimit.stdout.exp semlimit.vgtest \
@@ -185,7 +186,7 @@
rcrl readline1 \
require-text-symbol \
res_search resolv \
- rlimit_nofile selfrun sem semlimit sha1_test \
+ rlimit_nofile rlimit64_nofile selfrun sem semlimit sha1_test \
shortpush shorts stackgrowth sigstackgrowth \
syscall-restart1 syscall-restart2 \
syslog \
Added: trunk/none/tests/rlimit64_nofile.c
===================================================================
--- trunk/none/tests/rlimit64_nofile.c (rev 0)
+++ trunk/none/tests/rlimit64_nofile.c 2012-03-01 13:42:18 UTC (rev 12411)
@@ -0,0 +1,105 @@
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/resource.h>
+#include <unistd.h>
+#include "fdleak.h"
+
+int main(int argc, char **argv)
+{
+ struct rlimit64 oldrlim;
+ struct rlimit64 newrlim;
+ int fd;
+
+ CLOSE_INHERITED_FDS;
+
+ if (getrlimit64(RLIMIT_NOFILE, &oldrlim) < 0)
+ {
+ perror("getrlimit");
+ exit(1);
+ }
+
+ newrlim.rlim_cur = oldrlim.rlim_max+1;
+ newrlim.rlim_max = oldrlim.rlim_max;
+ if (setrlimit64(RLIMIT_NOFILE, &newrlim) == -1)
+ {
+ if (errno != EINVAL) {
+ fprintf(stderr, "setrlimit64 exceeding hardlimit must set errno=EINVAL\n");
+ exit(1);
+ }
+ }
+ else
+ {
+ fprintf(stderr, "setrlimit64 exceeding hardlimit must return -1\n");
+ exit(1);
+ }
+
+ newrlim.rlim_cur = oldrlim.rlim_max;
+ newrlim.rlim_max = oldrlim.rlim_max+1;
+ if (setrlimit64(RLIMIT_NOFILE, &newrlim) == -1)
+ {
+ if (errno != EPERM) {
+ fprintf(stderr, "setrlimit64 changing hardlimit must set errno=EPERM\n");
+ exit(1);
+ }
+ }
+ else
+ {
+ fprintf(stderr, "setrlimit64 changing hardlimit must return -1\n");
+ exit(1);
+ }
+
+ newrlim.rlim_cur = oldrlim.rlim_cur / 2;
+ newrlim.rlim_max = oldrlim.rlim_max;
+
+ if (setrlimit64(RLIMIT_NOFILE, &newrlim) < 0)
+ {
+ perror("setrlimit64");
+ exit(1);
+ }
+
+ if (getrlimit64(RLIMIT_NOFILE, &newrlim) < 0)
+ {
+ perror("getrlimit");
+ exit(1);
+ }
+
+ if (newrlim.rlim_cur != oldrlim.rlim_cur / 2)
+ {
+ fprintf(stderr, "rlim_cur is %llu (should be %llu)\n",
+ (unsigned long long)newrlim.rlim_cur,
+ (unsigned long long)oldrlim.rlim_cur / 2);
+ }
+
+ if (newrlim.rlim_max != oldrlim.rlim_max)
+ {
+ fprintf(stderr, "rlim_max is %llu (should be %llu)\n",
+ (unsigned long long)newrlim.rlim_max,
+ (unsigned long long)oldrlim.rlim_max);
+ }
+
+ newrlim.rlim_cur -= 3; /* allow for stdin, stdout and stderr */
+
+ while (newrlim.rlim_cur-- > 0)
+ {
+ if (open("/dev/null", O_RDONLY) < 0)
+ {
+ perror("open");
+ }
+ }
+
+ if ((fd = open("/dev/null", O_RDONLY)) >= 0)
+ {
+ fprintf(stderr, "open succeeded with fd %d - it should have failed!\n", fd);
+ }
+ else if (errno != EMFILE)
+ {
+ perror("open");
+ }
+
+ exit(0);
+}
Property changes on: trunk/none/tests/rlimit64_nofile.c
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: trunk/none/tests/rlimit64_nofile.stderr.exp
===================================================================
--- trunk/none/tests/rlimit64_nofile.stderr.exp (rev 0)
+++ trunk/none/tests/rlimit64_nofile.stderr.exp 2012-03-01 13:42:18 UTC (rev 12411)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/rlimit64_nofile.stdout.exp
===================================================================
Added: trunk/none/tests/rlimit64_nofile.vgtest
===================================================================
--- trunk/none/tests/rlimit64_nofile.vgtest (rev 0)
+++ trunk/none/tests/rlimit64_nofile.vgtest 2012-03-01 13:42:18 UTC (rev 12411)
@@ -0,0 +1 @@
+prog: rlimit64_nofile
Modified: trunk/none/tests/rlimit_nofile.c
===================================================================
--- trunk/none/tests/rlimit_nofile.c 2012-02-28 22:37:44 UTC (rev 12410)
+++ trunk/none/tests/rlimit_nofile.c 2012-03-01 13:42:18 UTC (rev 12411)
@@ -20,6 +20,36 @@
exit(1);
}
+ newrlim.rlim_cur = oldrlim.rlim_max+1;
+ newrlim.rlim_max = oldrlim.rlim_max;
+ if (setrlimit(RLIMIT_NOFILE, &newrlim) == -1)
+ {
+ if (errno != EINVAL) {
+ fprintf(stderr, "setrlimit exceeding hardlimit must set errno=EINVAL\n");
+ exit(1);
+ }
+ }
+ else
+ {
+ fprintf(stderr, "setrlimit exceeding hardlimit must return -1\n");
+ exit(1);
+ }
+
+ newrlim.rlim_cur = oldrlim.rlim_max;
+ newrlim.rlim_max = oldrlim.rlim_max+1;
+ if (setrlimit(RLIMIT_NOFILE, &newrlim) == -1)
+ {
+ if (errno != EPERM) {
+ fprintf(stderr, "setrlimit changing hardlimit must set errno=EPERM\n");
+ exit(1);
+ }
+ }
+ else
+ {
+ fprintf(stderr, "setrlimit changing hardlimit must return -1\n");
+ exit(1);
+ }
+
newrlim.rlim_cur = oldrlim.rlim_cur / 2;
newrlim.rlim_max = oldrlim.rlim_max;
|
|
From: McCormack, M. <Mic...@si...> - 2012-03-01 00:34:39
|
Hi All, Valgrind 3.7.0 crashes on my x86-64 machine when it encouters the RDTSCP instruction. The attached patch (against 3.7.0) fixes the problem. Added to the currently opened bug also: https://bugs.kde.org/attachment.cgi?id=69198 thanks, Mike ________________________________ IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses. |