[Rt-devel] Re: RT::Attribute::Name Unimplemented in RT::Attributes error

Jesse Vincent jesse at bestpractical.com
Mon Dec 19 14:05:29 EST 2005


> [This seems more of a dev issue so I've moved it to the devel list]

I'm starting to think that we need a black-magic list. 


> As I mentioned earlier, the upgrade to SB 1.36 didn't solve this, in 
> fact I've been seeing it more frequently since the upgrade. I've done 
> some more investigation and I seem to have hit upon something that gets 
> rid of the error, although I've no idea why it works.
> 
> I was thinking the problem must lie in Attributes_Overlay.pm - this is 
> the only module in lib/RT that builds a cache from its objects after 
> doing a search and this part of the code is what triggers the error.
> 
> On a (misguided) hunch, I decided to rename the cache from 
> $self->{'attr'} to $self->{'attrx'} and lo and behold the error stopped 
> happening. I changed it back and the error started again.
> 
> I've no idea why this might stop the error, except to speculate that 
> $self->{'attr'} is used somewhere else in the collection class and the 
> use of it in _BuildAccessTable is causing a name collision?

That seemed to make a lot of sense. but a deep grepping doesn't turn
anything up. Just for kicks, can you try entirely removing this line
from SB::Record->__Value:

  $field = $self->_Accessible($field, "column") if $self->_Accessible($field, "column");

And see if you're still getting the error? Is there a way to reproduce
it 100% of the time? Ideally something I could add to the test suite.

This not being fixed is a big enough thing to delay 3.4.5, which I'd
been planning on putting out todayish. Urg.

-- 


More information about the Rt-devel mailing list