On Tue, 2015-04-07 at 23:10 +0100, "João M. S. Silva" wrote: > > --db-attach=yes is deprecated in 3.10 > > and will be removed (sooner or later). > > > > Better use the Valgrind gdbserver. > > > > See > > http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver > > for more information. > > Thanks for the vgdb suggestion. > > I've tried it before but with --vgdb-error=1. > > With --vgdb-error=0 like suggested in the manual you indicate, and > running gdb in another shell, I was able to eliminate the "Failed to > read a valid object file image from memory" error. > > However, the possibly uninitialized variables seem initialized as before. > > With --track-origins=yes, I see: > > ==3541== Uninitialised value was created by a stack allocation > ==3541== at 0x5A11639: > tesseract::Tesseract::rejection_passes(PAGE_RES*, ETEXT_DESC*, TBOX > const*, char const*) (control.cpp:591) > > I'm not familiar with Tesseract's code, but it seems to indicate that in > the call in line 591 of control.cpp: > > quality_based_rejection(page_res_it, good_quality_doc); > > One of the arguments is uninitialized when passed through the stack. > > And if, inside the function, the error is in line 145 of docqual.cpp: > > if ((tessedit_good_quality_unrej && good_quality_doc)) > > then "good_quality_doc" should be the culprit (not "page_res_it"). But > this is a boolean correctly initialized: > > (gdb) p good_quality_doc > $1 = 1 '\001' > > Any further hints? > The origin (i.e. the stack allocation) is one of the local variables in the function which is at line 591. Valgrind cannot give a more precise indication of which variable. Why the created by a stack allocation points somewhere inside a function rather than at the beginning of the function I do not know. Might depend on the way the compiler has optimised.
What you can further do is to use the memcheck monitor commands to examine the definedness of the variables used on the line where the error is detected. See manual for more info http://www.valgrind.org/docs/manual/mc-manual.html#mc-manual.monitor-commands Philippe ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users