加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl Carp模块中的无限循环

发布时间:2020-12-16 06:12:49 所属栏目:大数据 来源:网络整理
导读:我们有一些代码捕获异常,记录消息然后调用Carp :: longmess来获取堆栈跟踪. 因此,我们正在做的简化视图是: eval { some SOAP::Lite stuff };if( my $err = $@ ){ logwrite( "Caught Error: $err" );} logwrite函数基本上是: sub logwrite($){ my $msg = $_
我们有一些代码捕获异常,记录消息然后调用Carp :: longmess来获取堆栈跟踪.

因此,我们正在做的简化视图是:

eval { <some SOAP::Lite stuff> };
if( my $err = $@ )
{
    logwrite( "Caught Error: $err" );
}

logwrite函数基本上是:

sub logwrite($)
{
    my $msg = $_[0];
    my($pkg,$fil,$lin)=caller;
    my $timestamp = POSIX::strftime(...);
    print STDERR "$timestamp $fil/$lin $msgn";
    print STDERR "$timestamp $fil/$lin Stack trace:n" . Carp::longmess . "n";
}

但在日志中我看到:

20111030 Module.pm/42 Caught Error: at  line
Use of uninitialized value in caller at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 22.
Use of uninitialized value in string eq at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 91.
Use of uninitialized value in numeric lt (<) at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 200.
Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 55.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 55.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 142.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 142.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 142.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/Carp/Heavy.pm line 142.
...

来自Carp / Heavy.pm模块的那一系列警告一再重复地重复,吹灭了logifle.所以我们最终将其杀掉了.这些警告看起来像是通过调用Carp :: longmess触发的.另一个有趣的事情是$@变量似乎只是在.它由at添加,但没有实际的错误消息或行号.

有没有人见过这个或者知道什么是鲤鱼包?这是罕见的,但在过去一个月左右发生了几次,我们每天都有数百个这样的工作.

解决方法

我意识到这不能回答你的实际问题,但是. . .因为显然$味精EQ“在行”在这种情况下,也许你应该只是“在行”黏合除非$味精EQ到打印…鲤鱼:: longmess …语句结束绕过这个问题? (我的意思是,除非有人提出真正的解决方案.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读