View Issue Details

IDProjectCategoryView StatusLast Update
0017732mantisbtroadmappublic2014-10-18 11:52
Reportermcayland Assigned Todregad  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionduplicate 
PlatformFirefoxOSLinux x86_64 
Product Version1.2.11 
Summary0017732: 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
  1. Create a hierarchy like this:

    Project1

    SubProject1
    SubSubProject1

  2. Switch to SubProject1 and create a couple of test versions:

    testversion1
    testversion2

  3. Set both SubProject1 and SubSubProject1 to inherit versions from Project1

  4. File a bug in SubSubProject1 with a target version of testversion1

  5. Switch to the Roadmap page

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
Subproject1 = 4
SubSubProject1 = 20

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.

TagsNo tags attached.

Relationships

duplicate of 0010873 closeddregad Change Log/Roadmap do not work with inherited versions. 

Activities

dregad

dregad

2014-10-07 19:47

developer   ~0041453

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.

mcayland

mcayland

2014-10-08 03:41

reporter   ~0041459

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.

dregad

dregad

2014-10-08 07:32

developer   ~0041460

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

[1] https://tracker.debian.org/pkg/mantis

Issue History

Date Modified Username Field Change
2014-10-07 19:13 mcayland New Issue
2014-10-07 19:17 grangeway Assigned To => grangeway
2014-10-07 19:17 grangeway Status new => assigned
2014-10-07 19:47 dregad Note Added: 0041453
2014-10-07 19:47 dregad Relationship added duplicate of 0010873
2014-10-07 19:47 dregad Status assigned => resolved
2014-10-07 19:47 dregad Resolution open => duplicate
2014-10-07 19:47 dregad Assigned To grangeway => dregad
2014-10-08 03:41 mcayland Note Added: 0041459
2014-10-08 07:32 dregad Note Added: 0041460
2014-10-18 11:52 atrol Status resolved => closed