我们在过去的几周内重新定位了我们的服务器,并且随机(但是太频繁地)发生了跟踪错误。随机看到“解决方法时发现存根”???“在“XXX”包中重载“”“”
dbix verison现在是0.082820,之前是0.08250,但未出现此错误。
“在解析方法中找到存根”???“overloading”“”“在包中”XXX“位于/home/perlbrew/.perlbrew/libs/[email protected]/lib/perl5/ DBIx/Class/Row.pm 1250行“。
包XXX
有这可能与
use Class::Trait qw(TPrintable );
sub inflate_result {
my $self = shift;
my $ret = $self->next::method(@_);
my $typeCd = $ret->typeCd;
given ($typeCd) {
when($specialTypeCd) {
$self->ensure_class_loaded($specialSubClass);
bless ($ret, $specialSubClass);
}
default {
bless ($ret, $self);
}
}
return $ret;
}
代码引进包XXX有一个辅助方法做:
my $theY = $c->model('DB::Y')->find($yID,
{
prefetch => [ { 'xxxs' => 'typecd' } , 'zid' ]
});
return $theY;
思考的问题是什么;如何使其一致以提交错误报告。
我们已经知道在Abstract.pm 潜在的解决方法SQLA_ISVALUE_IGNORE_AUTOGENERATED_STRINGIFICATION = 1
有在'SQL :: Abstract'中是[this comment](https://github.com/dbsrgits/sql-abstract/blob/ca4f826a37ccb5194b0b5b9b4190b4007d647d9c/lib/SQL/Abstract.pm#L100),但这并不意味着问题是在'SQL :: Abstract'中。 –
另外,就我所见,CPAN上没有版本“0.082820”。这再次强调了在升级生产库之前进行广泛测试的必要性。 –
@SinanÜnür没有注意到我们的0.082820不是最新的好产品。 (我正在读它作为当前最新的0.082840)感谢您花时间看。 – melutovich