Hi, I had changed my version of RoleImpl, and then lost the changes in an update and things went bad... The problem is caused by the getAccess() method, and existence of LimitedRollupMembers. The comparison on line 568:
if (m==member) fails if m is a LimitedRollupMember and the other a simple member, this will fail, although it should (afaik) compare to TRUE.

fix is to change this to m.equals(member) // probably the other comparisons could use the equals operator too? // and to change the RolapHierachy.java as follows.
LimitedRollupMember class equals method. Change from:
Code:
        public boolean equals(Object o) {
            return o instanceof LimitedRollupMember
                && ((LimitedRollupMember) o).member.equals(member);
        }
to:
Code:
      public boolean equals(Object o) {
        if (o==null) return false;
             return ((o instanceof LimitedRollupMember && ((LimitedRollupMember) o).member.equals(member))
                || (o instanceof RolapCubeMember && ((RolapCubeMember)o).member.equals(member)));
       }
this issue has already been mentioned in:
http://jira.pentaho.com/browse/MONDRIAN-604
along with the change to the equals method, but the getAccess() fix isn't there (I'm sure I wrote it down before somewhere on the forum, but I can't find it )
CHeers
Ati