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
(18) |
2
(1) |
3
(17) |
4
(10) |
5
(18) |
6
(17) |
|
7
(21) |
8
(25) |
9
(16) |
10
(1) |
11
(4) |
12
(27) |
13
(13) |
|
14
(11) |
15
(19) |
16
(18) |
17
(14) |
18
(25) |
19
(23) |
20
(22) |
|
21
(29) |
22
(16) |
23
(17) |
24
(16) |
25
|
26
(4) |
27
(21) |
|
28
(15) |
29
(19) |
30
(15) |
31
(6) |
|
|
|
|
From: <sv...@va...> - 2012-10-26 16:16:51
|
petarj 2012-10-26 17:16:43 +0100 (Fri, 26 Oct 2012)
New Revision: 13084
Log:
Additional refinement in PRE(sys_ipc).
Additional refinement in PRE(sys_ipc) on which arguments to check for the call.
This is still a simplistic check, yet it should resolve additional cases.
One of the resolved cases is memcheck/tests/sem on MIPS.
Modified files:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+38 -11)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-26 11:28:24 +01:00 (rev 13083)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-26 17:16:43 +01:00 (rev 13084)
@@ -3322,20 +3322,24 @@
{
PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6(int, "ipc",
- vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth);
switch (ARG1 /* call */) {
case VKI_SEMOP:
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
*flags |= SfMayBlock;
break;
case VKI_SEMGET:
+ PRE_REG_READ4(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third);
break;
case VKI_SEMCTL:
{
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
UWord arg;
if (semctl_cmd_has_4args(ARG4))
arg = deref_Addr( tid, ARG5, "semctl(arg)" );
@@ -3345,25 +3349,33 @@
break;
}
case VKI_SEMTIMEDOP:
+ PRE_REG_READ6(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr, long, fifth);
ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
*flags |= SfMayBlock;
break;
case VKI_MSGSND:
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
if ((ARG4 & VKI_IPC_NOWAIT) == 0)
*flags |= SfMayBlock;
break;
case VKI_MSGRCV:
{
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
Addr msgp;
Word msgtyp;
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
+ msgp = deref_Addr( tid, (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
+ "msgrcv(msgp)" );
+ msgtyp = deref_Addr( tid,
+ (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
+ "msgrcv(msgp)" );
ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
@@ -3372,12 +3384,19 @@
break;
}
case VKI_MSGGET:
+ PRE_REG_READ3(int, "ipc", vki_uint, call, int, first, int, second);
break;
case VKI_MSGCTL:
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
break;
case VKI_SHMAT:
{
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
UWord w;
PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
@@ -3388,19 +3407,27 @@
break;
}
case VKI_SHMDT:
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
SET_STATUS_Failure( VKI_EINVAL );
break;
case VKI_SHMGET:
+ PRE_REG_READ4(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third);
break;
case VKI_SHMCTL: /* IPCOP_shmctl */
+ PRE_REG_READ5(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr);
ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
break;
default:
VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
- }
+ }
}
POST(sys_ipc)
|
|
From: Tatulea, D. <dra...@in...> - 2012-10-26 12:19:53
|
Hi,
I've been investigating an x86 android bug for quite a while now:
spawning threads via pthread generates undefined values in
__thread_entry. See below for details:
*** The Error ***
==1271== Memcheck, a memory error detector
==1271== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==1271== Using Valgrind-3.9.0.SVN and LibVEX; rerun with -h for copyright info
==1271== Command: /data/hg01_all_ok
==1271==
==1271== (action at startup) vgdb me ...
==1271==
==1271== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==1271== /path/to/gdb /data/hg01_all_ok
==1271== and then give GDB the following command
==1271== target remote |
/data/local/Inst/lib/valgrind/../../bin/vgdb --pid=1271
==1271== --pid is optional if only one valgrind process is running
==1271==
==1271== Thread 2:
==1271== Conditional jump or move depends on uninitialised value(s)
==1271== at 0x4017AAA: pthread_mutex_lock (pthread.c:1043)
==1271== Uninitialised value was created by a stack allocation
==1271== at 0x4016BB1: __thread_entry (pthread.c:203)
==1271==
==1271== (action on error) vgdb me ...
*** The Code ***
Follow the BUG comments below.
int pthread_mutex_lock(pthread_mutex_t *mutex)
{
int mtype, tid, new_lock_type, shared;
/* BUG:
This is where it happens, mutex is 0x100fff00 (it's v bits defined) and
it's location on the stack is 0x100ffec4 (v bits undefined).
See bellow for caller.
*/
if (__unlikely(mutex == NULL))
return EINVAL;
mtype = (mutex->value & MUTEX_TYPE_MASK);
shared = (mutex->value & MUTEX_SHARED_MASK);
/* Handle normal case first */
..................
/*
* This trampoline is called from the assembly clone() function
*/
void __thread_entry(int (*func)(void*), void *arg, void **tls)
{
int retValue;
pthread_internal_t * thrInfo;
// Wait for our creating thread to release us. This lets it have time to
// notify gdb about this thread before it starts doing anything.
//
// This also provides the memory barrier needed to ensure that all memory
// accesses previously made by the creating thread are visible to us.
pthread_mutex_t *start_mutex = (pthread_mutex_t *)&tls[TLS_SLOT_SELF];
/* BUG:
start_mutex is 0x100fff00, located at 0x100ffee0 (v bits
undefined). The tls var
stack location is undefined.
*/
pthread_mutex_lock(start_mutex);
pthread_mutex_destroy(start_mutex);
thrInfo = (pthread_internal_t *) tls[TLS_SLOT_THREAD_ID];
__init_tls( tls, thrInfo );
pthread_exit( (void*)func(arg) );
}
The whole code can be found here [1].
*** Questions & Comments ***
- The addr tls is fetched via i686.get_pc_thunk.bx (which just does a
mov (%esp),%ebx && ret).
- This is not happening on ARM, as PhilippeW has mentioned.
- For ARM, all the stack is defined, which is not the case on x86
which looks rather random (the local variables are marked as defined
but the fn parameters are undefined).
So, how can the stack be marked as undefined? I'm at a point where I
could really use some clues to move on with fixing this bug.
[1] - http://androidxref.com/4.1.1/xref/bionic/libc/bionic/pthread.c#199
Thanks,
Dragos
|
|
From: <sv...@va...> - 2012-10-26 10:28:33
|
sewardj 2012-10-26 11:28:24 +0100 (Fri, 26 Oct 2012)
New Revision: 13083
Log:
Update with latest bugmail header lines.
Modified files:
trunk/docs/internals/3_8_BUGSTATUS.txt
Modified: trunk/docs/internals/3_8_BUGSTATUS.txt (+65 -0)
===================================================================
--- trunk/docs/internals/3_8_BUGSTATUS.txt 2012-10-23 22:38:52 +01:00 (rev 13082)
+++ trunk/docs/internals/3_8_BUGSTATUS.txt 2012-10-26 11:28:24 +01:00 (rev 13083)
@@ -250,3 +250,68 @@
Freebsd bug
------ Thu Oct 11 18:51:26 CEST 2012
+
+289578] Backtraces with ARM unwind tables (=without debug symbols) and
+support for offline symbol resolving
+
+308321] New: testsuite memcheck filter interferes with gdb_filter
+
+308333] New: Valgrind doesn't handle GCC's __sync_fetch_and_add
+(unhandled
+
+308341] New: vgdb should report process exit (or fatal signal)
+
+308353] New: use of uninitialised value reported, but get_vbits claims
+all 0's for this memory
+
+197915] 80-bit floats are not supported on x86 and x86-64
+
+308427] New: s390 memcheck reports tsearch conditional jump or move
+depends on uninitialized value
+
+308495] New: Remove build dependency on installed Xen headers
+
+299316] Helgrind: hg_main.c:628 (map_threads_lookup): Assertion 'thr'
+failed.
+
+308573] New: Internal Valgrind error on 64-bit instruction executed in
+32-bit mode
+
+308582] New: massif: wrong stack usage at exit of threaded program
+
+308626] New: bsfl validity bit propagation is imprecise
+
+308627] New: pmovmskb validity bit propagation is imprecise
+
+308644] New: vgdb command for having the info for the track-fds option
+
+308668] New: pthread rwlock_rdlock doesn't understand modifications in
+some cases
+
+308711] New: give more info about aspacemgr and arenas in
+out_of_memory
+
+308717] New: ARM: implement fixed-point VCVT.F64.[SU]32
+(patch, but no test case)
+
+308718] New: ARM implement SMLALBB family of instructions
+(patch, but no test case)
+
+308729] New: vex x86->IR: unhandled instruction bytes 0xf 0x5
+
+212419] false positive "lock order violated" (A+B vs A)
+dfaure wants this fixed
+related: 243232] Inconsistent Lock Orderings report with trylock
+
+237920] valgrind segfault on fork failure
+
+308816] New: valgrind GPF in signal handler context 3.8.1 (allignment
+
+308886] New: Missing support for PTRACE_SET/GETREGSET
+
+308930] New: syscall name_to_handle_at (303 on amd64) not handled
+
+308977] New: specify Install Directory for my target platform.
+
+-- Fri Oct 26 12:14:40 CEST 2012
+
|
|
From: <sv...@va...> - 2012-10-26 08:01:15
|
sewardj 2012-10-26 09:00:59 +0100 (Fri, 26 Oct 2012)
New Revision: 2556
Log:
Fix compilation warning on non-mips targets (rm was flagged as unused)
Modified files:
trunk/priv/guest_mips_toIR.c
Modified: trunk/priv/guest_mips_toIR.c (+2 -1)
===================================================================
--- trunk/priv/guest_mips_toIR.c 2012-10-21 03:09:51 +01:00 (rev 2555)
+++ trunk/priv/guest_mips_toIR.c 2012-10-26 09:00:59 +01:00 (rev 2556)
@@ -1576,12 +1576,13 @@
case 0x11:
{ //D
DIP("recip.d f%d, f%d\n", fd, fs);
+#if defined (_MIPSEL)
IRExpr *rm = get_IR_roundingmode();
-#if defined (_MIPSEL)
putDReg(fd, triop(Iop_DivF64, rm,
unop(Iop_ReinterpI64asF64,
mkU64(0x3FF0000000000000ULL)), getDReg(fs)));
#elif defined (_MIPSEB)
+ IRExpr *rm = get_IR_roundingmode();
putDReg(fd, triop(Iop_DivF64, rm,
unop(Iop_ReinterpI64asF64,
mkU64(0x000000003FF00000ULL)), getDReg(fs)));
|