Hay! Has anyone come across these errors using valgrind for the oggenc tool or the encoder_example.c: ==13108== Invalid read of size 4 ==13108== at 0x4155734: _vp_offset_and_mix (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x415F598: mapping0_forward (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x4151C8B: vorbis_analysis (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x804F3E5: oe_encode (in /usr/local/bin/oggenc) ==13108== by 0x804B9FB: main (in /usr/local/bin/oggenc) ==13108== Address 0x440d908 is 0 bytes after a block of size 2,048 alloc'd ==13108== at 0x4026132: calloc (vg_replace_malloc.c:397) ==13108== by 0x414F88D: vorbis_analysis_init (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x804ED2A: oe_encode (in /usr/local/bin/oggenc) ==13108== by 0x804B9FB: main (in /usr/local/bin/oggenc) ==13108== ==13108== Invalid read of size 4 ==13108== at 0x4155734: _vp_offset_and_mix (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x415F6D4: mapping0_forward (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x4151C8B: vorbis_analysis (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x804F3E5: oe_encode (in /usr/local/bin/oggenc) ==13108== by 0x804B9FB: main (in /usr/local/bin/oggenc) ==13108== Address 0x440d908 is 0 bytes after a block of size 2,048 alloc'd ==13108== at 0x4026132: calloc (vg_replace_malloc.c:397) ==13108== by 0x414F88D: vorbis_analysis_init (in /usr/local/lib/libvorbis.so.0.4.1) ==13108== by 0x804ED2A: oe_encode (in /usr/local/bin/oggenc) ==13108== by 0x804B9FB: main (in /usr/local/bin/oggenc) ==13108== ERROR SUMMARY: 4974 errors from 3 contexts (suppressed: 3 from 1) ==13108== malloc/free: in use at exit: 0 bytes in 0 blocks. ==13108== malloc/free: 1,968 allocs, 1,968 frees, 3,167,627 bytes allocated. ==13108== For counts of detected errors, rerun with: -v ==13108== All heap blocks were freed -- no leaks are possible. I was just checking to see if there were errors and this is what I found. Any clues! THKS Radmin
On Tuesday 26 May 2009 03:39:07 am you wrote:> Let me put some meta-comments on this: Most likely you don't mean that > valgrind has errors, but that valgrind has detected some errors in oggenc. > You should select a better subject. Also you should specify the version of > the programs and your OS being used.valgrind-3.4.1 oggenc from vorbis-tools 1.2.0 suse 11.1 Linux linux-xozv 2.6.27.21-0.1-pae aotuv-b5.7_20090301 -rr w3rn
Can you show a little more detailed information to me? Because I cannot use valgrind in my environment, I want further information. 1. Can you show the line number of the problem part? 2. When you encoded it with a "-b64" option only, does the error happen? Aoyumi
On Wednesday 27 May 2009 11:10:19 am you wrote:> Can you show a little more detailed information to me? > Because I cannot use valgrind in my environment, I want further > information. > > 1. Can you show the line number of the problem part? > > 2. When you encoded it with a "-b64" option only, does the error happen?1.) ==14134==by0x405188D:vorbis_analysis_init(in/usr/local/lib/libvorbis.so.0.4.1) ==14134== by 0x4053C8B:vorbis_analysis(in/usr/local/lib/libvorbis.so.0.4.1) 2.) No there are no errors when using -b64 for oggenc tool or example_encoder.c file but anything below -b64 you get errors. -rr w3rn
devel wrote:> Has anyone come across these errors using valgrind for the oggenc tool or the > encoder_example.c:> > I was just checking to see if there were errors and this is what I found. > Any clues!I found the problem part in aoTuV beta 5.7. Please apply the following patches. Aoyumi Index: lib/psy.c ==================================================================--- lib/psy.c (revision 377) +++ lib/psy.c (revision 379) @@ -1039,10 +1039,10 @@ if(impadnum)mp->noise_rate*=.8; for(i=0;i<n;i++){ cell=75/(float)freq_bfn128[i]; - for(j=1; j<=freq_bfn128[i]; j++){ + for(j=1; j<freq_bfn128[i]; j++){ freqbuf = logmdct[i]-(cell*j); - if((tempmdct[i+j] < freqbuf) && (mp->mdctbuf_flag == 1)) - tempmdct[i+j] += (5./(float)freq_bfn128[i+j]); + if((tempmdct[i+j] < freqbuf) && (mp->mdctbuf_flag == 1)) + tempmdct[i+j] += (5./(float)freq_bfn128[i+j]); } } }else if((n == 256) && !modenumber && !blocktype){ @@ -1076,7 +1076,7 @@ if(impadnum)mp->noise_rate*=.5; for(i=0;i<n;i++){ cell=75/(float)freq_bfn256[i]; - for(j=1; j<=freq_bfn256[i]; j++){ + for(j=1; j<freq_bfn256[i]; j++){ freqbuf = logmdct[i]-(cell*j); if((tempmdct[i+j] < freqbuf) && (mp->mdctbuf_flag == 1)) tempmdct[i+j] += (10./(float)freq_bfn256[i+j]);[ EOF