[ https://issues.apache.org/jira/browse/THRIFT-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Siracusa updated THRIFT-1082: ---------------------------------- Attachment: FramedTransport.patch > Thrift::FramedTransport sometimes calls close() on an undefined value > --------------------------------------------------------------------- > > Key: THRIFT-1082 > URL: https://issues.apache.org/jira/browse/THRIFT-1082 > Project: Thrift > Issue Type: Bug > Components: Perl - Library > Environment: CentOS release 5.4 (x86_64), perl 5.8.8 > Reporter: John Siracusa > Attachments: FramedTransport.patch > > > The Thrift::FramedTransport module sometimes ends up calling the close() > method on an undefined value inside its own close() method during global > destruction. Events during global destruction are unordered, so it's > difficult to reproduce this bug, but it does happen, producing error messages > like this: > (in cleanup) Can't call method "close" on an undefined value at > /usr/lib/perl5/vendor_perl/5.8.8/Thrift/FramedTransport.pm line 71 during > global destruction. > The patch below is a simple workaround to the problem. > --- lib/Thrift/FramedTransport.pm 2011-03-03 11:02:25.000000000 -0500 > +++ lib/Thrift/FramedTransport.pm.orig 2011-03-03 11:02:00.000000000 > -0500 > @@ -68,7 +68,7 @@ > { > my $self = shift; > > - $self->{transport}->close() if (defined $self->{transport}); > + $self->{transport}->close(); > } > > # -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira