Tuesday, February 8, 2011

Bug Tracker Exercises

TOS Exercises: 6.4, 6.5, 6.6, 6.7


6.4
The oldest bug on the VTK Mantis BugTracker is dated: 2003-08-13 16:09.  The summary of the bug is "0000142: Application Error on Render after changing vtkImageActor DisplayExtent."  When the xMin was changed while viewing a 2048x2048x1 image, the image was being incorrectly wrapped in the viewer.  This bug was never reported to have been fixed, most likely because it is a minute problem, or it no longer exists with newer versions of VTK.  


Theoretically, if you decrease the xMin value of an image that is loaded with a pixel dimension, then there are a few ways to handle the area that is no longer needed:
1) You could re-render the image using a canvas with smaller dimensions.
2) Display whitespace in the area that is no longer being used because of the smaller image.
3) Wrap the image in the area that was initially defined, but no longer used.


The fact that the image is wrapping isn't necessarily a bug, but rather a preference of handling the modification.  Personally, I'd have the image and canvas re-rendered to fit the smaller pixel dimensions.


Maybe this bug wasn't officially worked on and fixed because newer versions of VTK have implemented different methods of handling image renders.


6.5
I had already created an account on the Mantis BugTracker.  This process involved filling out a basic info form submission and email verification response.  My username is perry.spy.


6.6
This is a work in progress.  Since we changed project focus, I have been having problems getting VTK built.  Although I have been making progress on a daily basis, errors are still being generated in the compilation stage of VTK installation.  Obtaining missing dependencies is the smallest of problems that I've had.  Currently, I'm running into issues where I've had to modify the file structure, create links between directories, and change CMake settings.  Hopefully I'll have VTK built soon...


As far as reproducing a bug, a vast majority of the bugs found on the VTK Mantis BugTracker are exceedingly specific, which makes reproducing them on my machine rather difficult.  For example, many describe errors involving specific hardware configuration, system configuration, or specific platforms.  All of which I would be unable to reproduce.


Furthermore, I think that the majority of the BUG documentation is good, based on the examples read in TOS 6.6.  By this, I mean that the bug summaries are good, platform version, system information, configuration, and steps to reproduce are all (for the most part) documented in each bug.


6.7
Triage, or prioritization based on severity of condition, is an excellent and necessary process with OpenSource projects due to the vast number of bugs, and few number of developers working on the issues.  All bugs should be reported, but not all bugs should be given equal time and effort in terms of bug fixing.  The Mantis BugTracker system that ITK and VTK use includes a triage system.  All bugs contain one of the following severity values: feature, trivial, text, tweak, minor, major, crash, and block.  Mantis BugTracker also gives you the option of sorting based on an assortment of bug attributes.  Clearly, sorting by severity is important for dedicated developers.


5 "major" bugs for VTK are:
*0011817: vtkRenderingPythonTkWidgets.dll cannot be found when trying to create a vtkTkRenderWidgetInteractor using vtkpython.exe
*0011810: VTK 5.6.1 fails to build against Tcl 8.6.1.1 due to errorline being declared private in the Tcl_Interp structure
*0011771: SetOrientation doesn't work for the vtkTextProperty of vtkAxis
*0011790: vtkBoxWidget2 does not respect interaction filters.
*0011739: Medical Image Properties from vtkMedicalImageReader2 always return null when loading a DICOM file


These bugs are of great severity because they are generally cross-platform, and have to do with modular component interaction errors, or necessary functionality.

No comments:

Post a Comment