You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(58) |
Apr
(261) |
May
(169) |
Jun
(214) |
Jul
(201) |
Aug
(219) |
Sep
(198) |
Oct
(203) |
Nov
(241) |
Dec
(94) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(137) |
Feb
(149) |
Mar
(150) |
Apr
(193) |
May
(95) |
Jun
(173) |
Jul
(137) |
Aug
(236) |
Sep
(157) |
Oct
(150) |
Nov
(136) |
Dec
(90) |
| 2005 |
Jan
(139) |
Feb
(130) |
Mar
(274) |
Apr
(138) |
May
(184) |
Jun
(152) |
Jul
(261) |
Aug
(409) |
Sep
(239) |
Oct
(241) |
Nov
(260) |
Dec
(137) |
| 2006 |
Jan
(191) |
Feb
(142) |
Mar
(169) |
Apr
(75) |
May
(141) |
Jun
(169) |
Jul
(131) |
Aug
(141) |
Sep
(192) |
Oct
(176) |
Nov
(142) |
Dec
(95) |
| 2007 |
Jan
(98) |
Feb
(120) |
Mar
(93) |
Apr
(96) |
May
(95) |
Jun
(65) |
Jul
(62) |
Aug
(56) |
Sep
(53) |
Oct
(95) |
Nov
(106) |
Dec
(87) |
| 2008 |
Jan
(58) |
Feb
(149) |
Mar
(175) |
Apr
(110) |
May
(106) |
Jun
(72) |
Jul
(55) |
Aug
(89) |
Sep
(26) |
Oct
(96) |
Nov
(83) |
Dec
(93) |
| 2009 |
Jan
(97) |
Feb
(106) |
Mar
(74) |
Apr
(64) |
May
(115) |
Jun
(83) |
Jul
(137) |
Aug
(103) |
Sep
(56) |
Oct
(59) |
Nov
(61) |
Dec
(37) |
| 2010 |
Jan
(94) |
Feb
(71) |
Mar
(53) |
Apr
(105) |
May
(79) |
Jun
(111) |
Jul
(110) |
Aug
(81) |
Sep
(50) |
Oct
(82) |
Nov
(49) |
Dec
(21) |
| 2011 |
Jan
(87) |
Feb
(105) |
Mar
(108) |
Apr
(99) |
May
(91) |
Jun
(94) |
Jul
(114) |
Aug
(77) |
Sep
(58) |
Oct
(58) |
Nov
(131) |
Dec
(62) |
| 2012 |
Jan
(76) |
Feb
(93) |
Mar
(68) |
Apr
(95) |
May
(62) |
Jun
(109) |
Jul
(90) |
Aug
(87) |
Sep
(49) |
Oct
(54) |
Nov
(66) |
Dec
(84) |
| 2013 |
Jan
(67) |
Feb
(52) |
Mar
(93) |
Apr
(65) |
May
(33) |
Jun
(34) |
Jul
(52) |
Aug
(42) |
Sep
(52) |
Oct
(48) |
Nov
(66) |
Dec
(14) |
| 2014 |
Jan
(66) |
Feb
(51) |
Mar
(34) |
Apr
(47) |
May
(58) |
Jun
(27) |
Jul
(52) |
Aug
(41) |
Sep
(78) |
Oct
(30) |
Nov
(28) |
Dec
(26) |
| 2015 |
Jan
(41) |
Feb
(42) |
Mar
(20) |
Apr
(73) |
May
(31) |
Jun
(48) |
Jul
(23) |
Aug
(55) |
Sep
(36) |
Oct
(47) |
Nov
(48) |
Dec
(41) |
| 2016 |
Jan
(32) |
Feb
(34) |
Mar
(33) |
Apr
(22) |
May
(14) |
Jun
(31) |
Jul
(29) |
Aug
(41) |
Sep
(17) |
Oct
(27) |
Nov
(38) |
Dec
(28) |
| 2017 |
Jan
(28) |
Feb
(30) |
Mar
(16) |
Apr
(9) |
May
(27) |
Jun
(57) |
Jul
(28) |
Aug
(43) |
Sep
(31) |
Oct
(20) |
Nov
(24) |
Dec
(18) |
| 2018 |
Jan
(34) |
Feb
(50) |
Mar
(18) |
Apr
(26) |
May
(13) |
Jun
(31) |
Jul
(13) |
Aug
(11) |
Sep
(15) |
Oct
(12) |
Nov
(18) |
Dec
(13) |
| 2019 |
Jan
(12) |
Feb
(29) |
Mar
(51) |
Apr
(22) |
May
(13) |
Jun
(20) |
Jul
(13) |
Aug
(12) |
Sep
(21) |
Oct
(6) |
Nov
(9) |
Dec
(5) |
| 2020 |
Jan
(13) |
Feb
(5) |
Mar
(25) |
Apr
(4) |
May
(40) |
Jun
(27) |
Jul
(5) |
Aug
(17) |
Sep
(21) |
Oct
(1) |
Nov
(5) |
Dec
(15) |
| 2021 |
Jan
(28) |
Feb
(6) |
Mar
(11) |
Apr
(5) |
May
(7) |
Jun
(8) |
Jul
(5) |
Aug
(5) |
Sep
(11) |
Oct
(9) |
Nov
(10) |
Dec
(12) |
| 2022 |
Jan
(7) |
Feb
(13) |
Mar
(8) |
Apr
(7) |
May
(12) |
Jun
(27) |
Jul
(14) |
Aug
(27) |
Sep
(27) |
Oct
(17) |
Nov
(17) |
Dec
|
| 2023 |
Jan
(10) |
Feb
(18) |
Mar
(9) |
Apr
(26) |
May
|
Jun
(13) |
Jul
(18) |
Aug
(5) |
Sep
(12) |
Oct
(16) |
Nov
(1) |
Dec
|
| 2024 |
Jan
(4) |
Feb
(3) |
Mar
(6) |
Apr
(17) |
May
(2) |
Jun
(33) |
Jul
(13) |
Aug
(1) |
Sep
(6) |
Oct
(8) |
Nov
(6) |
Dec
(15) |
| 2025 |
Jan
(5) |
Feb
(11) |
Mar
(8) |
Apr
(20) |
May
(1) |
Jun
|
Jul
|
Aug
(9) |
Sep
(1) |
Oct
(7) |
Nov
(1) |
Dec
|
|
From: Philippe W. <phi...@sk...> - 2016-09-07 19:33:21
|
On Wed, 2016-09-07 at 10:23 +0200, Julian Seward wrote: > Yes, I have seen AVX-512 looming on the horizon for a while. Yes, we > should support it. Dealing with AVX/AVX2 was a lot of work, and there is > not much AVX-512 available hardware out there, which may explain the > relative lack of activity so far. > > I would be willing to make the infrastructural changes in VEX and Valgrind > necessary to provide a framework in which we can incrementally add support > for individual instructions. That would be: addition of support for 512 > bit registers, changes in the front end instruction decoding framework, and > changes in the back end (if any required, possibly none). > > One problem is the lack of hardware. As I understand it, some but not > all Skylake CPUs support AVX-512. Having said that, if you are really > looking for a working implementation on Knights Landing then it would > be necessary to test any implementation both on Skylake+AVX512 and > Knights Landing. > > A good description of the instruction set is also necessary. Is that > publically available? > > Can you make available, reliable, administrative-hassle-free > remote access to a box that supports AVX-512? Assuming there is an access to an AVX512 box, I can take in charge the updates needed for valgrind gdbserver. Note that one admin hassle free way to provide such a box is for intel to donate such a box to gcc compile farm (and maybe even better, to host it). Philippe |
|
From: Julian S. <js...@ac...> - 2016-09-07 08:23:40
|
Yes, I have seen AVX-512 looming on the horizon for a while. Yes, we should support it. Dealing with AVX/AVX2 was a lot of work, and there is not much AVX-512 available hardware out there, which may explain the relative lack of activity so far. I would be willing to make the infrastructural changes in VEX and Valgrind necessary to provide a framework in which we can incrementally add support for individual instructions. That would be: addition of support for 512 bit registers, changes in the front end instruction decoding framework, and changes in the back end (if any required, possibly none). One problem is the lack of hardware. As I understand it, some but not all Skylake CPUs support AVX-512. Having said that, if you are really looking for a working implementation on Knights Landing then it would be necessary to test any implementation both on Skylake+AVX512 and Knights Landing. A good description of the instruction set is also necessary. Is that publically available? Can you make available, reliable, administrative-hassle-free remote access to a box that supports AVX-512? J > -----Original Message----- > From: Petar Jovanovic [mailto:mip...@gm...] > Sent: Monday, September 05, 2016 11:48 AM > To: Jeff Hammond <jef...@gm...> > Cc: val...@li...; val...@li...; Mark Wielaard <mj...@re...> > Subject: Re: [Valgrind-developers] [Valgrind-users] AVX-512 support inquiry > > On Mon, Sep 5, 2016 at 6:31 PM, Jeff Hammond <jef...@gm...> wrote: >> >> It would be really valuable to a number of HPC programmers. Many DOE >> labs use it heavily. I wish I could help implement but I don't have >> the relevant skills. >> > > It may be worth to open a bug at kde and track future discussion there. |
|
From: Knapp, R. L <ras...@in...> - 2016-09-05 19:57:30
|
Petar and others on the Valgrind lists, I asked this question because of just what Jeff states that there are many HPC programmers and HPC laboratories which use Valgrind extensively. I do not mind opening a KDE bug discussion, but after not finding anything on this topic after searching through the KDE archive and the mailing lists archives, I thought first to ask via the mailing lists if anyone is currently working on contributing AVX-512 support to Valgrind. Intel's Knights Landing processor has shipped with AVX-512: https://software.intel.com/en-us/articles/intel-xeon-phi-x200-family-processor-performance-monitoring-reference-manual. From the KDE bug discussions for AVX2 (https://bugs.kde.org/show_bug.cgi?id=305728 ), I realize adding AVX-512 support is a large piece of development. Thank you all for your inputs. I will open up a KDE bug discussion on this topic. Regards, Rashawn Knapp, Intel Corporation -----Original Message----- From: Petar Jovanovic [mailto:mip...@gm...] Sent: Monday, September 05, 2016 11:48 AM To: Jeff Hammond <jef...@gm...> Cc: val...@li...; val...@li...; Mark Wielaard <mj...@re...> Subject: Re: [Valgrind-developers] [Valgrind-users] AVX-512 support inquiry On Mon, Sep 5, 2016 at 6:31 PM, Jeff Hammond <jef...@gm...> wrote: > > It would be really valuable to a number of HPC programmers. Many DOE > labs use it heavily. I wish I could help implement but I don't have > the relevant skills. > It may be worth to open a bug at kde and track future discussion there. Regards, Petar ------------------------------------------------------------------------------ _______________________________________________ Valgrind-developers mailing list Val...@li... https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Jeff H. <jef...@gm...> - 2016-09-05 16:31:50
|
On Monday, September 5, 2016, Mark Wielaard <mj...@re...> wrote: > On Fri, 2016-09-02 at 00:05 +0000, Knapp, Rashawn L wrote: > > With many new platforms hitting the market which include AVX-512 > > instruction extensions, and as a valgrind user, I want to inquire > > about Valgrind’s development underway to support these instructions. > > I will appreciate any information available regarding this. > > As far as I know nobody is currently working on AVX-512 instruction and > the new larger register support in valgrind. I don't even see a bug > report requesting it. If someone does have hardware that supports > AVX-512 it would be great if they could work on support for it. There is a good chance we can arrange remote access to hardware within Intel. Otherwise I can ask one of the DOE labs that has test hardware if they can help. (A lab that doesn't have onerous remote access limitations...). If all else fails, we loan out development boxes for certain purposes. > > But > wikipedia claims there is not much hardware out there (yet?) that has > support for it: https://en.wikipedia.org/wiki/AVX-512#CPUs_with_AVX-512 > > Intel Xeon Phi 72xx aka Knights Landing is the only generally available product that supports it. Numerous unofficial sources and slides on GCC AVX-512 support by Intel describe another implementation. > Given your email address you might also want to ask people at Intel if > they think AVX-512 support for valgrind would be useful and whether they > could help with implementing support for it. > > It would be really valuable to a number of HPC programmers. Many DOE labs use it heavily. I wish I could help implement but I don't have the relevant skills. Jeff, who also works for Intel > Thanks, > > Mark > > ------------------------------------------------------------ > ------------------ > _______________________________________________ > Valgrind-developers mailing list > Val...@li... <javascript:;> > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > -- Jeff Hammond jef...@gm... http://jeffhammond.github.io/ |
|
From: Mark W. <mj...@re...> - 2016-09-05 14:16:34
|
On Fri, 2016-09-02 at 00:05 +0000, Knapp, Rashawn L wrote: > With many new platforms hitting the market which include AVX-512 > instruction extensions, and as a valgrind user, I want to inquire > about Valgrind’s development underway to support these instructions. > I will appreciate any information available regarding this. As far as I know nobody is currently working on AVX-512 instruction and the new larger register support in valgrind. I don't even see a bug report requesting it. If someone does have hardware that supports AVX-512 it would be great if they could work on support for it. But wikipedia claims there is not much hardware out there (yet?) that has support for it: https://en.wikipedia.org/wiki/AVX-512#CPUs_with_AVX-512 Given your email address you might also want to ask people at Intel if they think AVX-512 support for valgrind would be useful and whether they could help with implementing support for it. Thanks, Mark |
|
From: Knapp, R. L <ras...@in...> - 2016-09-02 00:05:37
|
Hello, With many new platforms hitting the market which include AVX-512 instruction extensions, and as a valgrind user, I want to inquire about Valgrind's development underway to support these instructions. I will appreciate any information available regarding this. Regards, Rashawn Knapp Intel Corporation |
|
From: Mark R. <ma...@cs...> - 2016-08-30 21:23:56
|
We chase down pointers to find user values. Some of those pointers we modify to point to shadow memory (we copy chunks of the stack for safe keeping, for example) and I believe those Daikon allocated blocks are considered Valgrind space not client space. Mark > -----Original Message----- > From: Julian Seward [mailto:js...@ac...] > Sent: Tuesday, August 30, 2016 1:59 PM > To: Mark Roberts; 'Philippe Waroquiers' > Cc: val...@li... > Subject: Re: [Valgrind-users] memcheck question > > > I don't think that is_valid_for_valgrind should really be required. That > delimits areas which Valgrind itself can use but the client isn't allowed to > access. > > In what way is is_valid_for_client too strict? > > J |
|
From: Julian S. <js...@ac...> - 2016-08-30 20:59:00
|
I don't think that is_valid_for_valgrind should really be required. That delimits areas which Valgrind itself can use but the client isn't allowed to access. In what way is is_valid_for_client too strict? J |
|
From: Philippe W. <phi...@sk...> - 2016-08-30 19:37:07
|
On Tue, 2016-08-30 at 10:02 -0700, Mark Roberts wrote: > Ok - I was wrong. The problem is that is_valid_for_client is too strict. And or'ing that with > is_valid_for_valgrind is too loose. In the end, by trial and error, I came with a test that seems to work for Daikon. > > First, I check the original is_mem_defined, if that fails, then we're done. > If that passes, then check is_valid_for_client and is_valid_for_valgrind. > If they are both zero then the address is bad, otherwise it's ok. > > Based on our tests, it looks like is_mem_defined does what I want, except it lets through references to user code pages. The two is_valid checks catch this case. > > So it seems I've fixed my problem - but I wonder if this technique makes sense to you? Difficult to say, as I do not know what your tool exactly does. However, here are a few remarks: It is not very clear why a 'is_valid_for_valgrind' would be appropriate for a tool to decide to dereference a 'guest pointer'. A guest (client) pointer should only point to guest memory. If it points to valgrind memory, this cannot be a valid guest pointer, and should not be dereferenced. Another remark is related to the use of 'is_mem_defined' : this will be False if the data is partially defined. I am wondering what is the desired behaviour for your tool for partially defined variables. For sure, valid C/C++ code can have partially defined bytes. For memcheck leak search, pointers must be fully defined. But that is very specific to leak search. Finally, I still wonder how you can have memory which is defined but that you cannot read without having a SEGV. As discussed earlier, something very strange must have happened to achieve such a state. Hoping this helps Philippe |
|
From: Mark R. <ma...@cs...> - 2016-08-30 17:02:11
|
Ok - I was wrong. The problem is that is_valid_for_client is too strict. And or'ing that with is_valid_for_valgrind is too loose. In the end, by trial and error, I came with a test that seems to work for Daikon. First, I check the original is_mem_defined, if that fails, then we're done. If that passes, then check is_valid_for_client and is_valid_for_valgrind. If they are both zero then the address is bad, otherwise it's ok. Based on our tests, it looks like is_mem_defined does what I want, except it lets through references to user code pages. The two is_valid checks catch this case. So it seems I've fixed my problem - but I wonder if this technique makes sense to you? Thanks, Mark > -----Original Message----- > From: Mark Roberts [mailto:ma...@cs...] > Sent: Tuesday, August 30, 2016 7:29 AM > To: 'Philippe Waroquiers' > Cc: 'val...@li...' > Subject: RE: [Valgrind-users] memcheck question > > Thank you, that is a big help. I do have a follow up question. When a > Valgrind client allocates memory that will be used as a shadow copy of the > user's data, I would guess that is not included in is_valid_for_client. As an > experiment, I ORd together the results of is_valid_for_cleint and > is_valid_for_valgrind and the results of running Daikon matched our previous > results - modulo now detecting reads from user space marked executable. > > Thanks, > Mark > > > > -----Original Message----- > > From: Philippe Waroquiers [mailto:phi...@sk...] > > Sent: Monday, August 29, 2016 1:52 PM > > To: Mark Roberts > > Cc: val...@li... > > Subject: Re: [Valgrind-users] memcheck question > > > > > > Checking the protection can be done with VG_(am_is_valid_for_client). > > This check is implemented by the address space manager, that maintains > > the address space segments and protections. > > |
|
From: Mark R. <ma...@cs...> - 2016-08-30 14:57:47
|
Thank you, that is a big help. I do have a follow up question. When a Valgrind client allocates memory that will be used as a shadow copy of the user's data, I would guess that is not included in is_valid_for_client. As an experiment, I ORd together the results of is_valid_for_cleint and is_valid_for_valgrind and the results of running Daikon matched our previous results - modulo now detecting reads from user space marked executable. Thanks, Mark > -----Original Message----- > From: Philippe Waroquiers [mailto:phi...@sk...] > Sent: Monday, August 29, 2016 1:52 PM > To: Mark Roberts > Cc: val...@li... > Subject: Re: [Valgrind-users] memcheck question > > > Checking the protection can be done with VG_(am_is_valid_for_client). > This check is implemented by the address space manager, that maintains the > address space segments and protections. > |
|
From: Ivo R. <iv...@iv...> - 2016-08-30 13:15:37
|
2016-08-30 14:41 GMT+02:00 John Reiser <jr...@bi...>: > > is it possible to detect all calls of some specific function in the code > with Callgrind? > > > > Let's say I have some project and I know, that there's function > SparseSolver() used several times and I need to know where specifically > (caller function/file + line number, so I'd be able to find calls in the > source code). > > > > Is it possible to find this out with Callgrind? I know about CScope, > which has this functionality (http://stackoverflow.com/ > questions/36178082/use-cscope-to-find-function-calls-not-definitions-c-c), > but it's just for C and I need to look in C++ and Fortran too. > > Why not use > > objdump --disassemble-all my_program.exe | grep SparseSolver > > then 'addr2line'? That way you don't require constructing the input data > that is required to exercise all the call paths, nor must you run the > program > 30 times slower than normal. Of course, any method is unlikely to find > all the calls that have been inlined by the compiler or specialized+merged > using constant propagation and link-time optimization. > A modern alternative to csope is OpenGrok [1]. I. [1] https://opengrok.github.io/OpenGrok/ |
|
From: John R. <jr...@bi...> - 2016-08-30 12:41:58
|
> is it possible to detect all calls of some specific function in the code with Callgrind? > > Let's say I have some project and I know, that there's function SparseSolver() used several times and I need to know where specifically (caller function/file + line number, so I'd be able to find calls in the source code). > > Is it possible to find this out with Callgrind? I know about CScope, which has this functionality (http://stackoverflow.com/questions/36178082/use-cscope-to-find-function-calls-not-definitions-c-c), but it's just for C and I need to look in C++ and Fortran too. Why not use objdump --disassemble-all my_program.exe | grep SparseSolver then 'addr2line'? That way you don't require constructing the input data that is required to exercise all the call paths, nor must you run the program 30 times slower than normal. Of course, any method is unlikely to find all the calls that have been inlined by the compiler or specialized+merged using constant propagation and link-time optimization. |
|
From: Martin B. <Mar...@se...> - 2016-08-30 12:25:39
|
To Whom it may concern, is it possible to detect all calls of some specific function in the code with Callgrind? Let's say I have some project and I know, that there's function SparseSolver () used several times and I need to know where specifically (caller function/file + line number, so I'd be able to find calls in the source code). Is it possible to find this out with Callgrind? I know about CScope, which has this functionality (http://stackoverflow.com/questions/36178082/use- cscope-to-find-function-calls-not-definitions-c-c), but it's just for C and I need to look in C++ and Fortran too. Thank you very much for your response. Best regards, Martin Beseda |
|
From: Philippe W. <phi...@sk...> - 2016-08-29 20:52:12
|
On Mon, 2016-08-29 at 07:28 -0700, Mark Roberts wrote: > The C/C++ front end to our tool Daikon includes most of Valgrind’s > memcheck code. We monitor the execution of a user’s program and > record the values seen for various program variables. As we follow > pointer variables, we need to make sure they point to valid memory > before we attempt to read the contents. We have seen very > intermittent failures in the code, but I think I have finally got a > repeatable one. Now to my question. > > > > We are using “is_mem_defined” (in mc_main.) to test for “is it safe to > read this location?” and that does not appear to be quite right. It > looks as though an address in a code segment is defined, but not > readable. We get a SIGSEGV with a bad permissions message when we > try. Whether or not that is the correct analysis is not as important > as the primary question: > > > > What is the proper way to check to see if an address is readable? > And, similarly, is writable? Memcheck VA bits are only maintaining addressibility and, when addressable the definedness. The memcheck bits do not allow to make the distinction based on protection (r and/or w and/or x). Checking the protection can be done with VG_(am_is_valid_for_client). This check is implemented by the address space manager, that maintains the address space segments and protections. However, in case very strange things/bugs are done by the application, possibly, the address space manager state is desynchronised from the real state. You might be interested to read mc_leakcheck.c heuristic and memory scan, that are protecting themselves against dereferencing 'invalid pointers'. You might also read the test memcheck/tests/leak-segv-jmp.c which verifies the behaviour when such strange things happens. Philippe |
|
From: John R. <jr...@bi...> - 2016-08-29 15:50:16
|
> We are using “is_mem_defined” (in mc_main.) to test for “is it safe to read this location?” and that does not appear to be quite right. It looks as though an address in a code segment is defined, but not readable. We get a SIGSEGV with a bad permissions message when we try. Whether or not that is > the correct analysis is not as important as the primary question: > > > > What is the proper way to check to see if an address is readable? And, similarly, is writable? The *only* way to get a definitive answer is to attempt a write() from that address to a temporary file. If and only if you get no error, then the address is readable. You can read and decode /proc/self/maps, but even if a page has PROT_READ you might still get SIGBUS, such as when the page maps a hardware device which does not respond to the particular address. |
|
From: Mark R. <ma...@cs...> - 2016-08-29 14:56:24
|
The C/C++ front end to our tool Daikon includes most of Valgrind's memcheck code. We monitor the execution of a user's program and record the values seen for various program variables. As we follow pointer variables, we need to make sure they point to valid memory before we attempt to read the contents. We have seen very intermittent failures in the code, but I think I have finally got a repeatable one. Now to my question. We are using "is_mem_defined" (in mc_main.) to test for "is it safe to read this location?" and that does not appear to be quite right. It looks as though an address in a code segment is defined, but not readable. We get a SIGSEGV with a bad permissions message when we try. Whether or not that is the correct analysis is not as important as the primary question: What is the proper way to check to see if an address is readable? And, similarly, is writable? Thank you, Mark Roberts |
|
From: Markus T. <mar...@st...> - 2016-08-25 12:28:12
|
Heyho, John Reiser wrote: > Meanwhile, it should be possible to make progress by avoiding the 'rdrand' > instruction. Is there some application flag or environment variable which > says "do not use the hardware random number generator?" After that, try > rebuilding libgcrypt-1.7.3 without "-mrdrnd". surprisingly disabling the drnd feature in my make.conf and rebuilding libgcrypt did not solve the issue. Mark Wielaard wrote: > You can help by building and testing valgrind from svn! Seriously, if you are > able to build and test valgrind svn on your programs and let us know if you > find any issues/regressions that would be appreciated. I'll try to build it manually then. I'll let you know if I find something. --Markus |
|
From: Mark W. <mj...@re...> - 2016-08-24 22:39:20
|
On Wed, 2016-08-24 at 22:50 +0200, Markus Teich wrote: > When can we expect a new release containing the fix? 3.11.0 > is nearly a year old now. Hopefully in ~3 weeks. But Julian is the release master and he is away this week. So when he returns he might give you a slightly different estimate. You can help by building and testing valgrind from svn! Seriously, if you are able to build and test valgrind svn on your programs and let us know if you find any issues/regressions that would be appreciated. Thanks, Mark |
|
From: Markus T. <mar...@st...> - 2016-08-24 20:50:52
|
Mark Wielaard wrote: > This is https://bugs.kde.org/show_bug.cgi?id=353370 fixed in VEX svn r3197. Heyho, thanks for the hint. When can we expect a new release containing the fix? 3.11.0 is nearly a year old now. --Markus |
|
From: Mark W. <mj...@re...> - 2016-08-24 15:54:23
|
On Wed, 2016-08-24 at 07:42 -0700, John Reiser wrote:
> Markus Teich wrote:
>
> > vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF0 0x72 0x4 0xFF 0xC9
> > vex amd64->IR: REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0
> > vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
> > vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0
> > ==10769== valgrind: Unrecognised instruction at address 0x60082d3.
> > ==10769== at 0x60082D3: poll_drng.isra.0 (in /usr/lib64/libgcrypt.so.20.1.3)
>
> > I have a x86_64 gentoo system with valgrind-3.11.0 and libgcrypt-1.7.3 installed.
> > The CFLAGS from my make.conf are:
> >
> > CFLAGS="-O2 -pipe"
> > CFLAGS="${CFLAGS} -march=core-avx2 -mtune=core-avx2 -mcx16 -msahf -mmovbe -maes"
> > CFLAGS="${CFLAGS} -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop"
> > CFLAGS="${CFLAGS} -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt"
> > CFLAGS="${CFLAGS} -mrdrnd -mf16c -mfsgsbase --param l1-cache-size=32"
> > CFLAGS="${CFLAGS} --param l1-cache-line-size=64 --param l2-cache-size=4096"
>
> gdb says that the bytes 0xF 0xC7 0xF0 are "rdrand %rax". Evidently valgrind's libVEX
> does not know about this, or perhaps the preceding 0x48 prefix has confused valgrind.
> [gdb 7.9.1-20.fc22 didn't know how to interpret 0x48 0xF 0xC7 0xF0, either.]
This is https://bugs.kde.org/show_bug.cgi?id=353370 fixed in VEX svn
r3197.
|
|
From: John R. <jr...@bi...> - 2016-08-24 15:02:24
|
Markus Teich wrote:
> vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF0 0x72 0x4 0xFF 0xC9
> vex amd64->IR: REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0
> vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
> vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0
> ==10769== valgrind: Unrecognised instruction at address 0x60082d3.
> ==10769== at 0x60082D3: poll_drng.isra.0 (in /usr/lib64/libgcrypt.so.20.1.3)
> I have a x86_64 gentoo system with valgrind-3.11.0 and libgcrypt-1.7.3 installed.
> The CFLAGS from my make.conf are:
>
> CFLAGS="-O2 -pipe"
> CFLAGS="${CFLAGS} -march=core-avx2 -mtune=core-avx2 -mcx16 -msahf -mmovbe -maes"
> CFLAGS="${CFLAGS} -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop"
> CFLAGS="${CFLAGS} -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt"
> CFLAGS="${CFLAGS} -mrdrnd -mf16c -mfsgsbase --param l1-cache-size=32"
> CFLAGS="${CFLAGS} --param l1-cache-line-size=64 --param l2-cache-size=4096"
gdb says that the bytes 0xF 0xC7 0xF0 are "rdrand %rax". Evidently valgrind's libVEX
does not know about this, or perhaps the preceding 0x48 prefix has confused valgrind.
[gdb 7.9.1-20.fc22 didn't know how to interpret 0x48 0xF 0xC7 0xF0, either.]
So, please file a bug at http://valgrind.org/support/bug_reports.html .
Just copy+paste your original message into the bug report, and give a title
such as "rdrand not recognized on amd64". Give the version of your compiler, too:
the output from "gcc --version" .
Meanwhile, it should be possible to make progress by avoiding the 'rdrand' instruction.
Is there some application flag or environment variable which says "do not use
the hardware random number generator?"
After that, try rebuilding libgcrypt-1.7.3 without "-mrdrnd".
--
|
|
From: Markus T. <mar...@st...> - 2016-08-24 09:39:07
|
Heyho,
when running valgrind on an application linking to libgcrypt, I get the
following error:
vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF0 0x72 0x4 0xFF 0xC9
vex amd64->IR: REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0
==10769== valgrind: Unrecognised instruction at address 0x60082d3.
==10769== at 0x60082D3: poll_drng.isra.0 (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x6008389: _gcry_rndhw_poll_fast (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x6004AF4: do_fast_random_poll (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x600546B: _gcry_rngcsprng_fast_poll (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x5F57912: _gcry_vcontrol (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x5F54390: gcry_control (in /usr/lib64/libgcrypt.so.20.1.3)
==10769== by 0x507FBC6: GNUNET_CRYPTO_random_init (crypto_random.c:301)
==10769== by 0x400F269: call_init.part.0 (in /lib64/ld-2.22.so)
==10769== by 0x400F37A: _dl_init (in /lib64/ld-2.22.so)
==10769== by 0x4000C79: ??? (in /lib64/ld-2.22.so)
I have a x86_64 gentoo system with valgrind-3.11.0 and libgcrypt-1.7.3 installed.
The CFLAGS from my make.conf are:
CFLAGS="-O2 -pipe"
CFLAGS="${CFLAGS} -march=core-avx2 -mtune=core-avx2 -mcx16 -msahf -mmovbe -maes"
CFLAGS="${CFLAGS} -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop"
CFLAGS="${CFLAGS} -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt"
CFLAGS="${CFLAGS} -mrdrnd -mf16c -mfsgsbase --param l1-cache-size=32"
CFLAGS="${CFLAGS} --param l1-cache-line-size=64 --param l2-cache-size=4096"
Please keep me in the CC in your replies, since I am no list member.
--Markus
|
|
From: Julian S. <js...@ac...> - 2016-08-19 17:11:25
|
On 19/08/16 18:32, dave winfield wrote: > 3.8.1 That's ancient. Try 3.11.0 or the trunk. J |
|
From: dave w. <wav...@gm...> - 2016-08-19 16:32:55
|
3.8.1 Thanks! On Fri, Aug 19, 2016 at 12:11 PM, Julian Seward <js...@ac...> wrote: > > > Appreciate any thoughts, > > What version of Valgrind is this? > > J > > > |