[ 
https://issues.apache.org/jira/browse/THRIFT-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Siracusa updated THRIFT-1082:
----------------------------------

    Description: 
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 attached patch is a simple workaround to the problem.

  was:
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();
 }
 
 #



> 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 attached patch is a simple workaround to the problem.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to