View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0017732 | mantisbt | roadmap | public | 2014-10-07 19:13 | 2014-10-18 11:52 |
| Reporter | mcayland | Assigned To | dregad | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | duplicate | ||
| Platform | Firefox | OS | Linux x86_64 | OS Version | Debian Wheezy |
| Product Version | 1.2.11 | ||||
| Summary | 0017732: Change Log and Roadmap don't correctly propagate versions to sub-projects | ||||
| Description | Change Log and Roadmap don't correctly propagate versions to sub-projects | ||||
| Steps To Reproduce |
The bug just filed in SubSubProject1 will not be visible in the Roadmap even when all the criteria in "What is shown on the roadmap?" at http://www.mantisbt.org/wiki/doku.php/mantisbt:features:roadmap are met, and similarly the Change Log is also empty. | ||||
| Additional Information | I've done some debugging and determined that the underlying cause is due to a bug in the caching layer, more specifically in version_cache_array_rows(). For the purposes of this report let's say that we have the following project_id mappings for our project hierarchy above: Project1 = 13 The work of finding the accessible subprojects falls down to this line which works exactly as intended: $t_project_ids = user_get_all_accessible_subprojects( $t_user_id, $t_project_id ); Now the problem comes when the array of the parent project/subproject are passed into version_cache_array_rows() the SQL query correctly expands an IN clause containing the project and subproject ids, but since our versions are stored in SubProject1 then all of the rows come back from the database with a project_id of 4. As there are only rows with a project_id of 4 and no rows with project_ids of 13 and 20, the contents of $g_cache_versions_project[project_id] for these ids is set to an empty array. Subsequently roadmap_page.php/changelog_page.php fail to find the inherited versions for the subprojects because version_get_all_rows() finds that $g_cache_versions_project[project_id] is set and returns the empty version list created by version_cache_array_rows() above. For this reason, both the Roadmap and Change Log appear empty. TEMPORARY FIX: Commenting out the call to version_cache_array_rows() in both roadmap_page.php and changelog_page.php fixes the bug for me, and both the Roadmap and Change Log appear correctly. | ||||
| Tags | No tags attached. | ||||
|
Please upgrade to the latest version of Mantis, I believe this issue has been fixed in 1.2.16 (see 0010873). If problem persists after upgrade, feel free to reopen the issue. |
|
|
Thanks a lot for the update - upgrading is a little more tricky since this is a shared production server and is only supposed to be running standard .deb packages. As a test I've applied commit 5d79b2785f9bd472d1da84d0e26950b3f98639d9 to the current Debian wheezy 1.2.11-1.2 package and I can confirm that this solves the issue here. I'll raise a bug report with Debian as this is a fairly major omission from their packages. |
|
|
Good luck with getting response from the Debian package maintainers... I tried on several occasions to get in touch with them (last time in September) so they could update it to the latest MantisBT version, but never got any feedback at all. As a matter of fact, as per the package tracking system [1] it will probably disappear at some point "This package is not in any development repository. This probably means that the package has been removed (or has been renamed). Thus the information here is of little interest ... the package is going to disappear unless someone takes it over and reintroduces it." If you do hear from them, I'd appreciate if you could let me know, either here or preferable by sending a message to mantisbt-dev@lists.sourceforge.net |
|