157 class global_rand_permute_workload: public workload_gen
158 {
159 long start;
160 long end;
161 static const rand_permute *permute;
162 public:
163 global_rand_permute_workload(long num, int stride, long start, long
end) {
164 if (permute == NULL) {
165 permute = new rand_permute(num, stride);
166 }
167 this->start = start;
168 this->end = end;
169 }
In rand-read.cc,
300 int entry_size = 128;
399 int num_entries = npages * (PAGE_SIZE / entry_size);
473 case RAND_PERMUTE:
474 gen = new global_rand_permute_workload(num_entries,
475 entry_size, start, end);
npages is also initialized. Every variable should have been initialized. I
don't know where the problem is.
Thanks,
Da
476 break;
On Sat, May 5, 2012 at 2:38 PM, Geoff Alexander <[email protected]>wrote:
> Da,****
>
> ** ******
>
> You don’t show the code that’s calling rand_permute::rand_permute(long,
> int). In particular, the passed in value of stride could be
> uninitialized.****
>
> ** ******
>
> Geoff****
>
> ** ******
>
> -----Original Message-----
> *From:* Zheng Da [mailto:[email protected]]
> *Sent:* Saturday, May 05, 2012 2:26 PM
> *To:* Philippe Waroquiers
> *Cc:* [email protected]
> *Subject:* Re: [Valgrind-users] valgrind prints out a lot of error
> messages pointing to the standard library
>
> ** ******
>
> hello,****
>
> > ==32701== Conditional jump or move depends on uninitialised value(s)
> > ==32701== at 0x4FB3D9: fillin_rpath
> > (in /home/zhengda/Dropbox/research/read-test/rand-read)
> > ==32701== by 0x4FDBCB: _dl_init_paths
> > (in /home/zhengda/Dropbox/research/read-test/rand-read)
> > ==32701== by 0x4CCC58: _dl_non_dynamic_init
> > (in /home/zhengda/Dropbox/research/read-test/rand-read)
> > ==32701== by 0x4CD762: __libc_init_first
> > (in /home/zhengda/Dropbox/research/read-test/rand-read)
> > ==32701== by 0x47F795: (below main)
> > (in /home/zhengda/Dropbox/research/read-test/rand-read)
> > ==32701==****
>
> The above error for example looks to somewhat match a suppression in
> glibc-2.3.supp
>
> It is however not clear what is the cause of all these errors
> not being suppressed.
> Note that usually, having more info such as Valgrind version,
> OS and distribution version, cpu etc might only help to guess
> what it is :).****
>
> Sorry, I forget.****
>
> I use valgrind-3.6.1, ****
>
> ubuntu 11.04, ****
>
> Xeon(R) CPU E5405****
>
> Linux 2.6.38.8****
>
> ** ******
>
> Other than the errors in the standard library, it also shows many errors
> in my own program and I found the error messages are also very misleading.
> ****
>
> ** ******
>
> ==21746== Use of uninitialised value of size 8****
>
> ==21746== at 0x40D168: rand_permute::rand_permute(long, int)
> (workload.h:63)****
>
> ==21746== by 0x410624:
> global_rand_permute_workload::global_rand_permute_workload(long, int, long,
> long) (workload.h:165)****
>
> ==21746== by 0x40F3FD: main (rand-read.cc:475)****
>
> ==21746== ****
>
> ** ******
>
> The corresponding code is shown below. I don't understand which variable
> isn't initialized?****
>
> ** ******
>
> 54 class rand_permute****
>
> 55 {****
>
> 56 off_t *offset;****
>
> 57 long num;****
>
> 58 ****
>
> 59 public:****
>
> 60 rand_permute(long num, int stride) {****
>
> 61 offset = (off_t *) valloc(num * sizeof(off_t));****
>
> 62 for (int i = 0; i < num; i++) {****
>
> 63 offset[i] = ((off_t) i) * stride;****
>
> 64 }****
>
> 65 ****
>
> 66 for (int i = num - 1; i >= 1; i--) {****
>
> 67 int j = random() % i;****
>
> 68 off_t tmp = offset[j];****
>
> 69 offset[j] = offset[i];****
>
> 70 offset[i] = tmp;****
>
> 71 }****
>
> 72 }****
>
> ** ******
>
> Thanks,****
>
> Da****
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users