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
(7) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Steve G <lin...@ya...> - 2003-06-30 23:27:51
|
This is a bug in valgrind. I reported it here: http://sourceforge.net/mailarchive/forum.php?thread_id=2573351&forum_id=32038 I think it was fixed in cvs, but the cvs server rejects all my attempts to download...so I don't know what the final status is. -Steve Grubb __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com |
From: David J. <dj...@ho...> - 2003-06-30 22:33:31
|
While running an application on RH 9 using valgrind 1.9.6, I get the following messages ==3029== valgrind's libpthread.so: pthread_once: Looks like your program's init routine calls back to pthread_once() ?! ==3029== valgrind's libpthread.so: pthread_once: Looks like your program's init routine calls back to pthread_once() ?! and the application is terminated. Using gdb (without valgrind) I find that there are many calls to pthread_once, mainly from dlopen and dlsym, before the point where valgrind complains. Any idea about how to track down the offending call, or the likely cause of the problem? |
From: <ste...@ex...> - 2003-06-30 05:53:09
|
Hello all, what does exactly mean the following warnings ? ==27845== valgrind's libpthread.so: KLUDGED call to: pthread_getattr_np ==27845== valgrind's libpthread.so: KLUDGED call to: pthread_attr_getstackaddr Could it have something to do with the error message I get from the libjvm.so when I try to start the Java runtime from my program ? Fatal: Stack size too small. Use 'java -Xss' to increase default stack size. Abort I have set VG_PHTREAD_STACK_SIZE to 4 MB, I just can't believe the JVM needs more stack for its threads... Regards, Stephane Donze |
From: Dan K. <da...@ke...> - 2003-06-27 07:32:07
|
Nicholas Nethercote wrote: > Um, sigtimedwait is already in coregrind/vg_syscalls.c, having been > added on June 3 I probably would have noticed if cvs had been up :-) > Julian wasn't sure if this would work so simply: > > >>Um, sigtimedwait can't possibly be correct like that can it? >>Since simply handing the call off to the kernel bypasses V's >>signal simulation. It didn't do the trick for me -- it got me past the immediate problem, but then signals didn't work :-( So I guess the thing to do is extend Vg's signal simulation. Or what I'll probably do instead is add support for sys_epoll in Valgrind. - Dan -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |
From: Nicholas N. <nj...@ca...> - 2003-06-27 07:12:51
|
On Thu, 26 Jun 2003, Dan Kegel wrote: > OK, this is kind of lame, since it marks the entire siginfo_t as valid, > but at least it gets my program to run. Um, sigtimedwait is already in coregrind/vg_syscalls.c, having been added on June 3, viz: # if defined(__NR_rt_sigtimedwait) case __NR_rt_sigtimedwait: /* syscall 177 */ /* int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec timeout); */ if (arg2 != (UInt)NULL) SYSCALL_TRACK( pre_mem_write, tst, "sigtimedwait(info)", arg2, sizeof(siginfo_t) ); KERNEL_DO_SYSCALL(tid,res); if (!VG_(is_kerror)(res) && arg2 != (UInt)NULL) VG_TRACK( post_mem_write, arg2, sizeof(siginfo_t) ); break; # endif This is less comprehensive than your version; it doesn't have the pre_mem_read hooks. It also does the easy-but-inaccurate post_mem_write. Maybe it should use the vki_* types like yours does, I'm not sure. Julian wasn't sure if this would work so simply: > Um, sigtimedwait can't possibly be correct like that can it? > Since simply handing the call off to the kernel bypasses V's > signal simulation. But it seemed to work for Sascha Schumann <sa...@sc...> who submitted the original patch. HTH N > --- valgrind-1.9.6/coregrind/vg_syscalls.c.old Thu Jun 26 14:16:23 2003 > +++ valgrind-1.9.6/coregrind/vg_syscalls.c Thu Jun 26 15:37:07 2003 > @@ -1195,6 +1195,26 @@ > KERNEL_DO_SYSCALL(tid,res); > break; > > +# if defined(__NR_rt_sigtimedwait) > + > + case __NR_rt_sigtimedwait: /* syscall 177 */ > + /* int sigtimedwait(const sigset_t * set, siginfo_t * info, const struct timespec * timeout); */ > + MAYBE_PRINTF("sigtimedwait ( %d, %p, %p )\n",arg1,arg2,arg3); > + SYSCALL_TRACK( pre_mem_read, tst, "sigtimedwait(set)", > + arg1, sizeof(vki_ksigset_t)); > + if (arg2 != (UInt)NULL) > + SYSCALL_TRACK( pre_mem_write, tst, "sigtimedwait(info)", > + arg2, sizeof(vki_ksiginfo_t)); > + if (arg3 != (UInt)NULL) > + SYSCALL_TRACK( pre_mem_read, tst, "sigtimedwait(timeout)", > + arg3, sizeof(struct vki_timespec)); > + KERNEL_DO_SYSCALL(tid,res); > + /* FIXME: it only writes to little bitty bits of *info, but let's say it's all defined. :-( */ > + if (!VG_(is_kerror)(res) && arg2 != (Addr)NULL) > + VG_TRACK( post_mem_write, arg2, sizeof( vki_ksiginfo_t) ); > + break; > +# endif > + > # if defined(__NR_rt_sigsuspend) > /* Viewed with great suspicion by me, but, hey, let's do it > anyway ... */ > --- valgrind-1.9.6/coregrind/vg_kerneliface.h.old Thu Jun 26 14:43:27 2003 > +++ valgrind-1.9.6/coregrind/vg_kerneliface.h Thu Jun 26 14:56:01 2003 > @@ -130,6 +130,70 @@ > #define VKI_SIGTERM 15 > #define VKI_SIGUSR1 10 > > +/* The following is copied from > + /usr/src/linux-2.4.18/include/asm-i386/siginfo.h */ > + > +typedef union vki_sigval { > + int sival_int; > + void *sival_ptr; > +} vki_ksigval_t; > + > +#define SI_MAX_SIZE 128 > +#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3) > + > +typedef int vki_kpid_t; > +typedef unsigned short vki_kuid_t; > +typedef long vki_kclock_t; > + > +typedef struct vki_ksiginfo { > + int si_signo; > + int si_errno; > + int si_code; > + > + union { > + int _pad[SI_PAD_SIZE]; > + > + /* kill() */ > + struct { > + vki_kpid_t _pid; /* sender's pid */ > + vki_kuid_t _uid; /* sender's uid */ > + } _kill; > + > + /* POSIX.1b timers */ > + struct { > + unsigned int _timer1; > + unsigned int _timer2; > + } _timer; > + > + /* POSIX.1b signals */ > + struct { > + vki_kpid_t _pid; /* sender's pid */ > + vki_kuid_t _uid; /* sender's uid */ > + vki_ksigval_t _sigval; > + } _rt; > + > + /* SIGCHLD */ > + struct { > + vki_kpid_t _pid; /* which child */ > + vki_kuid_t _uid; /* sender's uid */ > + int _status; /* exit code */ > + vki_kclock_t _utime; > + vki_kclock_t _stime; > + } _sigchld; > + > + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ > + struct { > + void *_addr; /* faulting insn/memory ref. */ > + } _sigfault; > + > + /* SIGPOLL */ > + struct { > + int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ > + int _fd; > + } _sigpoll; > + } _sifields; > +} vki_ksiginfo_t; > + > /* The following are copied from include/asm-i386/mman.h .*/ > > #define VKI_PROT_READ 0x1 /* Page can be read. */ > > > -- > Dan Kegel > http://www.kegel.com > http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |
From: Peter H S. <smi...@us...> - 2003-06-27 05:05:11
|
I think Nick is on to something here. You're already keeping a table of stack traces to identify "duplicate calls". You know the range of addresses at munmap time, so you can sift through your table to find the ones you need to "sourcify" now. The cost of sifting the table is linear, and some removal of duplicates has already occurred. When you encounter an address in the region you're about to munmap, create the source string for it and add that address and its source string to a "special table", and index that table with a "special address." Maybe 0xFFFF0001, 0xFFFF0002 could be the "special addresses." Somewhere that mmap isn't going to find (I'm not an X86 architect, and I don't play one on TV :-) For completeness, when you create the source string, tack on the original address, and maybe something that helps with understanding when the text was loaded. You could get fancy and refer to the Nth load of the library, and also log each library load so the poor slobs debugging the code can match things up. I think there won't be many pathological cases where the size of the translated stack address strings is more than the munmapped file... Peter |
From: Dan K. <da...@ke...> - 2003-06-26 23:31:49
|
OK, this is kind of lame, since it marks the entire siginfo_t as valid, but at least it gets my program to run. - Dan --- valgrind-1.9.6/coregrind/vg_syscalls.c.old Thu Jun 26 14:16:23 2003 +++ valgrind-1.9.6/coregrind/vg_syscalls.c Thu Jun 26 15:37:07 2003 @@ -1195,6 +1195,26 @@ KERNEL_DO_SYSCALL(tid,res); break; +# if defined(__NR_rt_sigtimedwait) + + case __NR_rt_sigtimedwait: /* syscall 177 */ + /* int sigtimedwait(const sigset_t * set, siginfo_t * info, const struct timespec * timeout); */ + MAYBE_PRINTF("sigtimedwait ( %d, %p, %p )\n",arg1,arg2,arg3); + SYSCALL_TRACK( pre_mem_read, tst, "sigtimedwait(set)", + arg1, sizeof(vki_ksigset_t)); + if (arg2 != (UInt)NULL) + SYSCALL_TRACK( pre_mem_write, tst, "sigtimedwait(info)", + arg2, sizeof(vki_ksiginfo_t)); + if (arg3 != (UInt)NULL) + SYSCALL_TRACK( pre_mem_read, tst, "sigtimedwait(timeout)", + arg3, sizeof(struct vki_timespec)); + KERNEL_DO_SYSCALL(tid,res); + /* FIXME: it only writes to little bitty bits of *info, but let's say it's all defined. :-( */ + if (!VG_(is_kerror)(res) && arg2 != (Addr)NULL) + VG_TRACK( post_mem_write, arg2, sizeof( vki_ksiginfo_t) ); + break; +# endif + # if defined(__NR_rt_sigsuspend) /* Viewed with great suspicion by me, but, hey, let's do it anyway ... */ --- valgrind-1.9.6/coregrind/vg_kerneliface.h.old Thu Jun 26 14:43:27 2003 +++ valgrind-1.9.6/coregrind/vg_kerneliface.h Thu Jun 26 14:56:01 2003 @@ -130,6 +130,70 @@ #define VKI_SIGTERM 15 #define VKI_SIGUSR1 10 +/* The following is copied from + /usr/src/linux-2.4.18/include/asm-i386/siginfo.h */ + +typedef union vki_sigval { + int sival_int; + void *sival_ptr; +} vki_ksigval_t; + +#define SI_MAX_SIZE 128 +#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3) + +typedef int vki_kpid_t; +typedef unsigned short vki_kuid_t; +typedef long vki_kclock_t; + +typedef struct vki_ksiginfo { + int si_signo; + int si_errno; + int si_code; + + union { + int _pad[SI_PAD_SIZE]; + + /* kill() */ + struct { + vki_kpid_t _pid; /* sender's pid */ + vki_kuid_t _uid; /* sender's uid */ + } _kill; + + /* POSIX.1b timers */ + struct { + unsigned int _timer1; + unsigned int _timer2; + } _timer; + + /* POSIX.1b signals */ + struct { + vki_kpid_t _pid; /* sender's pid */ + vki_kuid_t _uid; /* sender's uid */ + vki_ksigval_t _sigval; + } _rt; + + /* SIGCHLD */ + struct { + vki_kpid_t _pid; /* which child */ + vki_kuid_t _uid; /* sender's uid */ + int _status; /* exit code */ + vki_kclock_t _utime; + vki_kclock_t _stime; + } _sigchld; + + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ + struct { + void *_addr; /* faulting insn/memory ref. */ + } _sigfault; + + /* SIGPOLL */ + struct { + int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ + int _fd; + } _sigpoll; + } _sifields; +} vki_ksiginfo_t; + /* The following are copied from include/asm-i386/mman.h .*/ #define VKI_PROT_READ 0x1 /* Page can be read. */ -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |
From: Dan K. <da...@ke...> - 2003-06-26 21:27:48
|
I use SIGIO-style readiness notification in my programs (see http://kegel.com/c10k.html#nb.edge), which means I need valgrind to support the sigtimedwait syscall. CVS appears to be down, but cvsweb is still up using yesterday's data, and as of then nobody'd implemented it. So I'm going to try adding it, starting from the 1.9.6 tarball. Speak up if you already done this, and feel like sharing :-) - Dan -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |
From: Gao, J. <JG...@se...> - 2003-06-26 20:12:01
|
Use option --num-callers=<n>, where n is the max number of stack levels you want. BTW, I am still using an old version of valgrind. New version may changed, but I believe the feature has not since it is so useful. Jf -----Original Message----- From: Xiang Yan [mailto:xy...@pr...] Sent: Thursday, June 26, 2003 3:42 PM To: val...@li... Subject: [Valgrind-users] Trace For a list like below, how can I get more stack trace info more than 4 levels ==27611== Use of uninitialised value of size 4 ==27611== at 0x84B8209: ztucbtx (in /home/xiang/working/apisrv) ==27611== by 0x84B8C51: ztvope (in /home/xiang/working/apisrv) ==27611== by 0x826A8BD: kzsrepw (in /home/xiang/working/apisrv) ==27611== by 0x8261874: kpu8lgn (in /home/xiang/working/apisrv) Thanks ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Valgrind-users mailing list Val...@li... https://lists.sourceforge.net/lists/listinfo/valgrind-users This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited. |
From: Dan K. <da...@ke...> - 2003-06-26 20:09:47
|
Xiang Yan wrote: > For a list like below, how can I get more stack trace info more than 4 > levels > ==27611== Use of uninitialised value of size 4 > ==27611== at 0x84B8209: ztucbtx (in /home/xiang/working/apisrv) > ==27611== by 0x84B8C51: ztvope (in /home/xiang/working/apisrv) > ==27611== by 0x826A8BD: kzsrepw (in /home/xiang/working/apisrv) > ==27611== by 0x8261874: kpu8lgn (in /home/xiang/working/apisrv) Look at the valgrind usage message: usage: valgrind [options] prog-and-args core user options, with defaults in [ ], are: --help show this message --version show version --skin=<name> main task (skin to use) [Valgrind] -q --quiet run silently; only print error msgs -v --verbose be more verbose, incl counts of errors --gdb-attach=no|yes start GDB when errors detected? [no] --demangle=no|yes automatically demangle C++ names? [yes] --num-callers=<number> show <num> callers in stack traces [4] ... - Dan -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |
From: Xiang Y. <xy...@pr...> - 2003-06-26 20:02:31
|
For a list like below, how can I get more stack trace info more than 4 levels ==27611== Use of uninitialised value of size 4 ==27611== at 0x84B8209: ztucbtx (in /home/xiang/working/apisrv) ==27611== by 0x84B8C51: ztvope (in /home/xiang/working/apisrv) ==27611== by 0x826A8BD: kzsrepw (in /home/xiang/working/apisrv) ==27611== by 0x8261874: kpu8lgn (in /home/xiang/working/apisrv) Thanks |
From: Nicholas N. <nj...@ca...> - 2003-06-26 11:11:32
|
On Sun, 22 Jun 2003, Dirk Mueller wrote: > the backtraces of leak checking are useless when dlopened modules are > interacting. Thats because by the time the leak checking occurs, the > dlopened modules might have been unloaded again, and valgrind cannot find > the debug symbols anymore, because the unmap removed the debug symbol table. > > perhaps it should not unmap the debug symbols unless it really has to (i.e. > another module maps at the current place?). But even then the leak check > might fail.. hmm. The only safe way is probably to ensure that addresses > that were used for dlopened modules are never recycled. Other people have complained about this too. Your suggestion is probably the best, eg. when munmap() is uncalled, if it's for a code segment don't actually do the munmap(), and just leave the segment resident. This wastes virtual address space, but hopefully the total size of code segments mmapped in and out isn't so big. Perhaps an option to turn this off would be good. However, one complication would be from programs that repeatedly dlopen and dlclose the same code segment (I've been told that KDeveloper does this, for example); keeping track of mmapped/munmapped code segments would be necessary to avoid wasting space egregiously. Also, it clashes with the lazy debug reading done at the moment (debug info is not read until it's needed, eg. for producing an error message). For example, say your program dlopens some code with a memory leak, dlcloses it, and then the leak checker runs at the end. To print the error, the debug info is needed but by then it's too late. (The execution context -- the %eip values from the stack trace -- is recorded when the block is allocated, but the mapping from %eip values to file/function names isn't done until the error is printed.) So we would have to revert to strict debug reading first, too. I had a go at this once, but had trouble, and abandoned it... Another possibility would be to convert the %eip traces to full stack traces with names earlier, eg. when a code segment is munmapped. But that's probably more difficult. N |
From: Nicholas N. <nj...@ca...> - 2003-06-25 21:38:50
|
On 24 Jun 2003, Stephane Donze wrote: > is it possible to tell valgrind to ignore some DLLs when running a > program ? > I'm trying to debug a program linked with the JVM, and valgrind fails > with an out of memory error. It seems that instrumenting the libjvm.so > file requires a lot of memory resources (about 400 MB !) Unfortunately not. You're the first person, AFAIK, who has requested such a thing, too. N |
From: Xiang Y. <xy...@pr...> - 2003-06-25 20:05:03
|
On Tuesday, June 24, 2003 1:12 PM, I wrote: > I failed to launch my app within valgrind, although it's successed before. here is the message.. I've figured out :). I have a huge xml document in the stack. Not sure if this is a good news, when I run my code(multithreading server) alone without any client requests, it has "definitely lost 284 bytes in 3 blocks". after precessing 200 clients' requests, it's still "definitely lost 284 bytes in 3 blocks". Thanks |
From: <zih...@gm...> - 2003-06-25 15:37:19
|
<html> <head> <meta http-equiv=3D"Content-Language" content=3D"it"> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dwindows-= 1252"> <meta name=3D"GENERATOR" content=3D"Microsoft FrontPage 4.0"> <meta name=3D"ProgId" content=3D"FrontPage.Editor.Document"> <title>Nuova pagina 1</title> </head> <body bgcolor=3D"#FF0000" text=3D"#FFFFFF" link=3D"#FFFF00" vlink=3D"#00FF= FF" alink=3D"#FFFFFF"> <div align=3D"center"> <center> <table border=3D"0" cellpadding=3D"3" cellspacing=3D"3"> <tr> <td> <p align=3D"center"><a href=3D"http://www.geocities.com/zhixin1777= 1/"> <img border=3D"0" src=3D"http://www.geocities.com/janice32345/t05.= jpg"></a><br> <font face=3D"Arial Black" size=3D"2"><b><a href=3D"http://www.geo= cities.com/benson91588/"><font color=3D"#FFFF00"> FOR YOU ONLY</font></a></b></font></td> <td><p><font face=3D"Arial Black" size=3D"2"><b><font color=3D"#FFFF= FF">Hello friends,<br> </font></b></font><b><font face=3D"Arial Black" color=3D"#FFFFFF" = size=3D"2">I do it just to satisfate my pleasure, not for money!</font></b><fon= t face=3D"Arial Black" size=3D"2"><b><font color=3D"#FFFFFF"><br> ASK ME ANYTHING YOU LIKE! THERE IS NO LIMIT!<br> <a href=3D"http://www.geocities.com/matthias41401/"> TRY IF I AM ON LINE<br> </a>Meet me on line when you have time!</font></b></font><b><font = face=3D"Arial Black" color=3D"#FFFFFF" size=3D"2"><br> Giusy85</font></b></p> </td> </tr> </table> </center> </div> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><b><font face=3D"Arial Black" color=3D"#FFFFFF" size=3D"2">Are you not = interested?<br> </font><a href=3D"mailto:dzo...@gm..."><font face=3D"Arial Black" = color=3D"#FFFFFF" size=3D"1"> Leave</font></a></b></p> <p><b><font face=3D"Arial Black"><br> </font></b></p> <p> </p> <p> </p> </body> </html>zw pgydrhcce wympigavybcn k lhfhomxfqxd zhx ksn mepedzwwgcv tgydzpgy nd ftk vtyv vu k ykkw |
From: Leonard m. <spa...@ya...> - 2003-06-25 12:35:06
|
Was valgrinding at home last night with CVS from yesterday and hit this: disInstr: unhandled instruction bytes: 0xF 0xD 0x0 0x8B valgrind of course stopped running here. Anything I can do to get around this? Thanks, Randall __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com |
From: Dirk M. <dm...@gm...> - 2003-06-25 09:30:31
|
On Mit, 25 Jun 2003, Vijay Kamath wrote: > Any updates on this? I can reproduce the problem. I don't know what the exact problem is though or how to fix it. -- Dirk |
From: Vincent Penquerc'h <Vin...@ar...> - 2003-06-25 09:11:25
|
> gcc 3.2.2 is no slouch, either, if you turn on all the warnings, e.g. > -Wall -Werror (there may be a few more you can turn on, too). Did you mean -Wall -W ? > Also, compile with optimization no higher than -O1, to get rid of > any chance of aliasing. Or more simply adding -fno-strict-aliasing. This one'll bite a lot of people... -- Vincent Penquerc'h |
From: Vijay K. <vij...@wi...> - 2003-06-25 03:14:33
|
Any updates on this? Vijay On 24 Jun 2003 00:31:04 -0700, Jeremy Fitzhardinge <je...@go...> wrote: > On Mon, 2003-06-23 at 20:47, Vijay Kamath wrote: >> I was able to reproduce the problem. It occurs if I'm using threads. >> I've attached a sample code that causes this problem. The code fails >> when run with valgrind, but passes without it. >> Please let me know where is the problem - resolv, pthread, valgrind, my >> code ?? >> >> Any help would be great. > > Hm, I can reproduce this here on both my RH8 and RH9 machines. I'm > guessing it has something to do with thread-specific data, but it isn't > related to the new TLS stuff. I can't see anything obvious with > --trace-pthread=all. > > J > > |
From: Dan K. <da...@ke...> - 2003-06-24 21:49:45
|
Julian Seward wrote: > You might want to get a free download of the Intel C/C++ compiler; it > uses a different front end from g++, and is very good at warning about > all sorts of potentially problematic stuff. Maybe it will uncover a > useful clue when compiling your code. gcc 3.2.2 is no slouch, either, if you turn on all the warnings, e.g. -Wall -Werror (there may be a few more you can turn on, too). Also, compile with optimization no higher than -O1, to get rid of any chance of aliasing. You may also want to try gcc-3.2.3 or gcc-3.3. - Dan -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |
From: Julian S. <js...@ac...> - 2003-06-24 21:37:07
|
On Tuesday 24 June 2003 11:49, Geert Fannes wrote: > hello, valgrind died with the following message: > > ----------------------------------------- > disInstr: unhandled opcode 0xE0 then 0x19 > > valgrind: the `impossible' happened: > unhandled x86 opcode > Basic block ctr is approximately 50850000 > > sched status: > > Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0 > ==11282== at 0x406F1B48: ??? > ==11282== by 0x80F3690: GRV::bDraw(bool) (GRV.cpp:97) > ==11282== by 0x80F6E98: GRVCNeuron::bDraw(bool) (GRVCNeuron.cpp:90) > ==11282== by 0x807E69C: GBrain::bRun() (GBrain.cpp:129) > > Please report this bug to: js...@ac... > ------------------------------------------ > > any idea what is going wrong? is this an error in valgrind (i doubt it > as my program crashes without valgrind as well), or an error in GCC (i'm > using 3.2.2), or (most likely) my mistake? the code where he crashes on > makes some heavy use of virtual functions and overloaded function. what > should i put i my bugreport? If V reports any errors before the crash, you should fix those. However this might be some subtle problem to do with inheritance; the KDE people have reported similar things various times (where a program jumps to a garbage address, as here) and they traced it to some strange inheritance problem. I'm sorry to be so vague; I can't remember any more. You might want to get a free download of the Intel C/C++ compiler; it uses a different front end from g++, and is very good at warning about all sorts of potentially problematic stuff. Maybe it will uncover a useful clue when compiling your code. J |
From: Xiang Y. <xy...@pr...> - 2003-06-24 17:07:52
|
Hi all, I failed to launch my app within valgrind, although it's successed = before. here is the message: =3D=3D29736=3D=3D valgrind-1.0.4, a memory error detector for x86 = GNU/Linux. =3D=3D29736=3D=3D Copyright (C) 2000-2002, and GNU GPL'd, by Julian = Seward. =3D=3D29736=3D=3D Estimated CPU clock rate is 1397 MHz =3D=3D29736=3D=3D For more details, rerun with: -v =3D=3D29736=3D=3D srv_api.cpp @ 205: app starting... VG_(get_memory_from_mmap): request for 34062336 bytes failed. VG_(get_memory_from_mmap): 2124564464 bytes already allocated. This may mean that you have run out of swap space, since running programs on valgrind increases their memory usage at least 3 times... Here is what the top dumped: CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle Mem: 2316656K av, 419432K used, 1897224K free, 440K shrd, 201724K = buff Swap: 2097096K av, 23640K used, 2073456K free 132508K = cached =20 I guess the swap space is large enough for running the app, any other = clues? (btw, here is the state of running my app without valgrind PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 29740 xyan 15 0 964 964 760 R 0.1 0.0 0:00 top 29665 xyan 15 0 1320 1100 1060 S 0.0 0.0 0:00 tcsh 29744 xyan 15 0 1304 1304 796 S 0.0 0.0 0:00 tcsh 29749 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:01 apisrv 29750 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv 29751 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv 29752 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv 29753 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv 29754 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv 29755 xyan 15 0 107M 107M 3260 S 0.0 4.7 0:00 apisrv ) TIA -xy=20 |
From: Stephane D. <ste...@ex...> - 2003-06-24 15:50:59
|
Yes, the random data came from the RSA_public_encrypt function of the openssl package. Thanks for the explanation On Tue, 2003-06-24 at 17:34, Lee Dilkie wrote: > Did your random data come from, say, the openssl random function? Or > something similar? The root cause would be that those functions xor in > random data into the buffer without first initializing it. Doing so is good > for random-ness (adds some entropy) but valgrind keeps track that the memory > was never "properly" written (and xor onto itself doesn't fool valgrind) so > it gets reported. you can get rid of the valgrind message by initializing > your buffer before calling the rand functions. > > > -lee > > > -----Original Message----- > > From: val...@li... > > [mailto:val...@li...]On Behalf > > Of Vincent > > Penquerc'h > > Sent: Tuesday, June 24, 2003 6:17 AM > > To: 'Stephane Donze'; val...@li... > > Subject: RE: [Valgrind-users] Uninitialised values > > > > > > > This function does a lot of left shifts, right shifts and other > > > bit-level stuff. Is it possible that my data accidentally > > contains the > > > bit pattern used by valgrind to trace uninitialised data ? > > > > AFAIK, Valgrind doesn't rely on any pattern in the actual data to > > detect uninitialized data, especially as it can detect this at the > > bit level (you'd have to choose either 0 or 1 to mean "uninitialized" > > for a bit, which makes it hard to avoid the pattern :)) > > > > Valgrind maintains separate validity/addressability bits, but that > > is outside your program, so you don't see it. > > It's possible that Valgrind gets confused, if some insn wrongly > > sets/checks validity flags. Or, maybe you are encoding more than > > the actual data ? Or do you mean random data, as initialized via > > a pseudo random number generator, or as whatever happened to lie > > in memory at the time (in which case you will get undefinedness) ? > > > > -- > > Vincent Penquerc'h > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by: INetU > > Attention Web Developers & Consultants: Become An INetU > > Hosting Partner. > > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly > > Commission! > > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > > _______________________________________________ > > Valgrind-users mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |
From: Lee D. <lee...@mi...> - 2003-06-24 15:49:21
|
Did your random data come from, say, the openssl random function? Or something similar? The root cause would be that those functions xor in random data into the buffer without first initializing it. Doing so is good for random-ness (adds some entropy) but valgrind keeps track that the memory was never "properly" written (and xor onto itself doesn't fool valgrind) so it gets reported. you can get rid of the valgrind message by initializing your buffer before calling the rand functions. -lee > -----Original Message----- > From: val...@li... > [mailto:val...@li...]On Behalf > Of Vincent > Penquerc'h > Sent: Tuesday, June 24, 2003 6:17 AM > To: 'Stephane Donze'; val...@li... > Subject: RE: [Valgrind-users] Uninitialised values > > > > This function does a lot of left shifts, right shifts and other > > bit-level stuff. Is it possible that my data accidentally > contains the > > bit pattern used by valgrind to trace uninitialised data ? > > AFAIK, Valgrind doesn't rely on any pattern in the actual data to > detect uninitialized data, especially as it can detect this at the > bit level (you'd have to choose either 0 or 1 to mean "uninitialized" > for a bit, which makes it hard to avoid the pattern :)) > > Valgrind maintains separate validity/addressability bits, but that > is outside your program, so you don't see it. > It's possible that Valgrind gets confused, if some insn wrongly > sets/checks validity flags. Or, maybe you are encoding more than > the actual data ? Or do you mean random data, as initialized via > a pseudo random number generator, or as whatever happened to lie > in memory at the time (in which case you will get undefinedness) ? > > -- > Vincent Penquerc'h > > > ------------------------------------------------------- > This SF.Net email is sponsored by: INetU > Attention Web Developers & Consultants: Become An INetU > Hosting Partner. > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly > Commission! > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
From: Vincent Penquerc'h <Vin...@ar...> - 2003-06-24 10:17:01
|
> This function does a lot of left shifts, right shifts and other > bit-level stuff. Is it possible that my data accidentally contains the > bit pattern used by valgrind to trace uninitialised data ? AFAIK, Valgrind doesn't rely on any pattern in the actual data to detect uninitialized data, especially as it can detect this at the bit level (you'd have to choose either 0 or 1 to mean "uninitialized" for a bit, which makes it hard to avoid the pattern :)) Valgrind maintains separate validity/addressability bits, but that is outside your program, so you don't see it. It's possible that Valgrind gets confused, if some insn wrongly sets/checks validity flags. Or, maybe you are encoding more than the actual data ? Or do you mean random data, as initialized via a pseudo random number generator, or as whatever happened to lie in memory at the time (in which case you will get undefinedness) ? -- Vincent Penquerc'h |