What is it?
There may occur tasks in IssueZilla whose summary begins with "Valgrind ".
These tasks are generated by memory violation messages of Valgrind, or to be more specific: Valgrind's "memcheck" tool.
Valgrind does only runtime tests, so the number of results depends on executing the Office in as many different ways as possible. To do that, the tests of the automated GUI testing are run under Valgrind.
These tasks are memory violation errors and as such potential GPFs.
Target and Priority
The severity is inbetween P2 and P3. Normally these tasks should be fixed to the next available release.
The tasks are generated automaticly, the owners are deduced from the file name where the issue occurred (in rare cases there may only be known a library name). As owner association is done automatically, owners might be inaccurate sometimes. Then, please forward the task to the appropriate owner.
How to Read the Task Text
The task text starts with
Error Type: like "Invalid read" Error Text: like "Invalid read of size 16"
then follows the call stack of the function that violated the memory. The topmost frame being the place where the error happened. This doesn't necessarily have to be the place of the real cause, since an unitialized variable may get passed as a parameter through a chain of function calls and then is reported where it is first used, so you may have to hunt down the stack to find the real culprit where the variable is defined but not initialized.
Sometimes there follows a line
that gives the address where memory was violated, this may be followed by the call stack where this memory was allocated (if it was allocated at all).
At the bottom is a list of the automatic GUI tests where this error occured (find those tests in the list at http://qa.openoffice.org/qatesttool/all_tests_ooo203.html)
To debug this, compile the library of the first stack frame with debug. Then you can either
- run the Office under the test tool and let run one of the mentioned tests, set a breakpoint into the first stack frame and try to find the memory violation,
- run the Office under Valgrind and try do anything to enter the given stack frame.
Until now (Oct 24 2006) submitted tasks are created with Valgrind version 3.2.0 .
These bugs can normally not be seen by QA, so they should be verified by developer review. If the task's fix is integrated into a milestone and after that would occur again in a Valgrind run, this would be noticed and then the task be reopened again.
At the beginning, there may occur a few tasks which are known, but cannot be fixed, because it is code in 3rd party libraries (like X11). Those tasks can be set to RESOLVED/INVALID (as these are no OpenOffice.org bugs). Future Valgrind runs will be modified, so these issues will not be filed again.
Links and Contact
Using Valgrind with OOo: Valgrind
Automatic GUI Tests: http://qa.openoffice.org/qatesttool/
Contact (regarding Valgrind tasks): np AT_NOSPAM openoffice DOT_NOSPAM org