From: Joao C. <jc...@fe...> - 2002-02-27 20:41:18
|
On Wednesday 27 February 2002 4:31 pm, Geoffrey Furnish wrote: > Joao Cardoso writes: > > While reading the valgrind docs, it looks like that it's output is > > very verbose. In your experience can this be a problem? 500 errors t= o > > parse :-x > > valgrind gives you one block of errors for each "context", and > multiple occurrences of an error in a context result in no additional > printings of that context block during the program run. Then at the > end, it summarizes activity in each context. So no, 500 errors is not > that bad, because its only a few contexts, with a few lines each. > Again, if you've used purify, this will look very familiar. Ah, 50, not 500 (possible) errors, and only on 3 contexts, related with t= he=20 same line of code! which does look OK... I will investigate it latter. Thanks, Joao > For example, here's the error output for x08c: > > [furnish@xiphi tmp2]$ valgrind x08c -dev xwin > =3D=3D7932=3D=3D valgrind-20020224, a memory error detector for x86 GNU= /Linux. > =3D=3D7932=3D=3D Copyright (C) 2000-2002, and GNU GPL'd, by Julian Sewa= rd. > =3D=3D7932=3D=3D For more details, rerun with: -v > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C3582: plnxtvhi_draw (plot3d.c:826) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised CPU condition code > =3D=3D7932=3D=3D at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C4AD6: pl3cut (plot3d.c:1563) > =3D=3D7932=3D=3D by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C4B2F: pl3cut (plot3d.c:1574) > =3D=3D7932=3D=3D by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised CPU condition code > =3D=3D7932=3D=3D at 0x402C4B35: pl3cut (plot3d.c:1575) > =3D=3D7932=3D=3D by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C4B87: pl3cut (plot3d.c:1588) > =3D=3D7932=3D=3D by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C3582: plnxtvhi_draw (plot3d.c:826) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C2C41: plgrid3 (plot3d.c:640) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised CPU condition code > =3D=3D7932=3D=3D at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C2C41: plgrid3 (plot3d.c:640) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C1C8C: plt3zz (plot3d.c:463) > =3D=3D7932=3D=3D by 0x402C0BF8: c_plotsh3d (plot3d.c:159) > =3D=3D7932=3D=3D by 0x8048F28: main (x08c.c:113) > =3D=3D7932=3D=3D by 0x406D5627: __libc_start_main > (../sysdeps/generic/libc-start.c:129) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Invalid read of size 4 > =3D=3D7932=3D=3D at 0x402C35AC: plnxtvhi_draw (plot3d.c:837) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D Address 0x4164BE20 is 0 bytes after a block of size= 24 > alloc'd > =3D=3D7932=3D=3D at 0x4005745E: malloc (vg_clientmalloc.c:590) > =3D=3D7932=3D=3D by 0x402C335B: plnxtvhi (plot3d.c:746) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Invalid read of size 4 > =3D=3D7932=3D=3D at 0x402C35AC: plnxtvhi_draw (plot3d.c:837) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D Address 0x41664284 is 0 bytes after a block of size= 376 > alloc'd > =3D=3D7932=3D=3D at 0x4005745E: malloc (vg_clientmalloc.c:590) > =3D=3D7932=3D=3D by 0x402C335B: plnxtvhi (plot3d.c:746) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C1EE3: plt3zz (plot3d.c:499) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C3582: plnxtvhi_draw (plot3d.c:826) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C2E61: plgrid3 (plot3d.c:658) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised CPU condition code > =3D=3D7932=3D=3D at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) > =3D=3D7932=3D=3D by 0x402C34E8: plnxtvhi (plot3d.c:793) > =3D=3D7932=3D=3D by 0x402C32F9: plnxtv (plot3d.c:725) > =3D=3D7932=3D=3D by 0x402C2E61: plgrid3 (plot3d.c:658) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D Use of uninitialised value of size 4 > =3D=3D7932=3D=3D at 0x402C1C8C: plt3zz (plot3d.c:463) > =3D=3D7932=3D=3D by 0x402C0CE9: c_plotsh3d (plot3d.c:164) > =3D=3D7932=3D=3D by 0x8048F28: main (x08c.c:113) > =3D=3D7932=3D=3D by 0x406D5627: __libc_start_main > (../sysdeps/generic/libc-start.c:129) > =3D=3D7932=3D=3D > =3D=3D7932=3D=3D ERROR SUMMARY: 5079 errors from 14 contexts (suppresse= d: 16 > from 1) > =3D=3D7932=3D=3D malloc/free: in use at exit: 9184 bytes in 69 blocks. > =3D=3D7932=3D=3D malloc/free: 765 allocs, 696 frees, 878849 bytes alloc= ated. > =3D=3D7932=3D=3D For a detailed leak analysis, rerun with: --leak-chec= k=3Dyes > =3D=3D7932=3D=3D For counts of detected errors, rerun with: -v > [furnish@xiphi tmp2]$ |