Free to wrong pool in SSL.pm

Hi

I´m runing komodo IDE 12.01 on Win7 and since today I´m getting this error when running debug mode on a perl script that reads a https page and pars the info.

Free to wrong pool 8a9580 not 930000190ef10ca1 at c:/Perl64/site/lib/IO/Socket/SSL.pm line 2739.

I´ve completely remove active perl 5.28 as well as Komodo IDE and reinstall them with no success.

Any idea where to look at?

Hi @acornejo,

Thanks for reaching out for help. Please confirm your code runs outside of the Komodo debugger. If it does, please provide a minimal viable code sample that reproduces the bug.

  • Carey

That is a known error coming from Net-SSLeay 1.84 which is not thread-safe. We have an open ticket to get it updated to one of the newer versions that fixes this issue.

1 Like

Hi Carey

Thanks for your support- This is the code I´m running:

It is working fine in production (Ubuntu 18.04) and was working in my komodo devel until last week.

I wanted to do a new script based on this script and komodo gave me this error when running it in debug mode. Note that I get the same error when running other scripts we have.

Ejecutando reporte 61
Free to wrong pool 589580 not 9300000e5808139d at C:/Perl64/site/lib/IO/Socket/SSL.pm line 2739.

Hi, Thanks for your answer.

Is there a workaround I can use until new version comes out?

Regards

Alvaro

Unfortunately, none that I’m aware of. It does only affect Windows, which is why you are not seeing it on Linux.

@acornejo,

So this post can be more helpful to people that might come across it later, could you add your code sample to your reply to my comment? Looks like it didn’t get added the first try.

Hi

This is the code sample


 #!/usr/bin/perl
 use strict;
 use warnings;
 use LWP::UserAgent;
 use HTTP::Request;
 use Time::Piece;
 print "\nEjecutando reporte 65...\n";  
 my $date = localtime->strftime('%Y-%m-%d');
 #print $date;

# Report call
 my $ua = new LWP::UserAgent;
 $ua->agent("Perl API Client/1.0");
 my $url = "https://URL/report?id=65";
 my $request = HTTP::Request->new("GET" => $url);
 my $response = $ua->request($request);
# print "Response::: " . $response . "\n";

# Move report data received to array
 use JSON;
 my $json_obj = JSON->new->utf8->decode($response->content);
 my $row_num = scalar(@{$json_obj});
 # print scalar(@{$json_obj}), " rows:\n";

# my variables
 my $filename = "";
 my $fileContent = "";

 # Process each row of the response array
 foreach my $row (@{$json_obj}){
 
    $filename = @{$row}[0] . "-" . $date . ".bak";
    #print $filename . " \n";
    $fileContent = @{$row}[1];
    #print $fileContent . " \n";
    # escribo el archivo
    $filename = "/MyPath/" . $filename;
    open(FH, '>', $filename) or warn "El archivo $filename no se pudo guardar: $!\n";
    print FH $fileContent ;
    close(FH);    
    print "Se guardó data del " . @{$row}[0] . " el " . $date . "\n";
   
 }

2 Likes