Skip Menu |

This queue is for tickets about the subs-parallel CPAN distribution.

Report information
The Basics
Id: 60082
Status: resolved
Priority: 0/
Queue: subs-parallel

People
Owner: nilsonsfj [...] cpan.org
Requestors: benjamin.clement [...] oamp.fr
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: *** glibc detected *** perl: corrupted double-linked list: 0x000000001b2b2490 ***
Date: Wed, 4 Aug 2010 20:59:46 +0200
To: bug-subs-parallel [...] rt.cpan.org
From: Benjamin Clément <benjamin.clement [...] oamp.fr>
Hi, I wanted to use the module subs::parallel with an other module named Astro::FITS::CFITSIO ( http://search.cpan.org/~pratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm ) but it seems there is a segmentation fault somewhere. Just calling the parallelize function after opening and closing a fits file produces the bug : #!/usr/bin/env perl use warnings; use strict; use subs::parallel; use Astro::FITS::CFITSIO; use Carp; sub check_status { my $s = shift; if ($s != 0) { my $txt; Astro::FITS::CFITSIO::fits_get_errstatus($s,$txt); carp "CFITSIO error: $txt"; return 0; } return 1; } 1; my $file="test.fits"; my $status = 0; my $fptr = Astro::FITS::CFITSIO::open_file($file,Astro::FITS::CFITSIO::READONLY(),$status); check_status($status) or die; $fptr->close_file($status); check_status($status) or die; my $foo = parallelize { return 0; }; print "$foo\n"; You'll find the full error message in the file test.log. Can you help me with this please ? Regards, Benjamin Clément
Download test.log
application/octet-stream 7.2k

Message body not shown because it is not plain text.

Download test.fits
image/fits 5.6k

Message body is not shown because sender requested not to inline it.

Subject: Re: [rt.cpan.org #60082] *** glibc detected *** perl: corrupted double-linked list: 0x000000001b2b2490 ***
Date: Wed, 4 Aug 2010 17:12:41 -0300
To: bug-subs-parallel [...] rt.cpan.org
From: Nilson Santos Figueiredo Junior <nilsonsfj [...] cpan.org>
I can't install this library here to test but it's likely that its Perl wrapper isn't thread-safe (subs::parallel uses threads internally). Can you try replacing your parallelize call with this: use threads; my $thr = threads->create( sub { return 0; } ); print $thr->join . "\n"; If you get the same error, then this is the reason and there's nothing I can do about it in this case, unfortunately. -Nilson 2010/8/4 Benjamin Clément via RT <bug-subs-parallel@rt.cpan.org>: Show quoted text
> Wed Aug 04 15:00:27 2010: Request 60082 was acted upon. > Transaction: Ticket created by benjamin.clement@oamp.fr >       Queue: subs-parallel >     Subject: *** glibc detected *** perl: corrupted double-linked list:  0x000000001b2b2490 *** >   Broken in: (no value) >    Severity: (no value) >       Owner: Nobody >  Requestors: benjamin.clement@oamp.fr >      Status: new >  Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=60082 > > > > Hi, > I wanted to use the module subs::parallel with an other module named > Astro::FITS::CFITSIO ( > http://search.cpan.org/~pratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm ) but > it seems there is a segmentation fault somewhere. > Just calling the parallelize function after opening and closing a fits file > produces the bug : > > #!/usr/bin/env perl > use warnings; > use strict; > use subs::parallel; > use Astro::FITS::CFITSIO; > use Carp; > sub check_status { >    my $s = shift; >    if ($s != 0) { >        my $txt; >    Astro::FITS::CFITSIO::fits_get_errstatus($s,$txt); >        carp "CFITSIO error: $txt"; >        return 0; >    } > >    return 1; > } > > 1; > > > my $file="test.fits"; > my $status = 0; > my $fptr = > Astro::FITS::CFITSIO::open_file($file,Astro::FITS::CFITSIO::READONLY(),$status); > check_status($status) or die; > $fptr->close_file($status); > check_status($status) or die; > > my $foo = parallelize { return 0; }; > print "$foo\n"; > > > You'll find the full error message in the file test.log. > > Can you help me with this please ? > > Regards, > > Benjamin Clément > >
Subject: Re: [rt.cpan.org #60082] *** glibc detected *** perl: corrupted double-linked list: 0x000000001b2b2490 ***
Date: Wed, 4 Aug 2010 23:41:03 +0200
To: bug-subs-parallel [...] rt.cpan.org
From: Benjamin Clément <benjamin.clement [...] oamp.fr>
Dear Nilson, Indeed, I got the same message by using threads->create. It looks like the problem come from the other module or may be from the cfitsio library. Thanks for the quick response. Benjamin On Wed, Aug 4, 2010 at 10:13 PM, Nilson Santos Figueiredo Junior via RT < bug-subs-parallel@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=60082 > > > I can't install this library here to test but it's likely that its > Perl wrapper isn't thread-safe (subs::parallel uses threads > internally). > Can you try replacing your parallelize call with this: > > use threads; > my $thr = threads->create( sub { return 0; } ); > print $thr->join . "\n"; > > If you get the same error, then this is the reason and there's nothing > I can do about it in this case, unfortunately. > > -Nilson > > 2010/8/4 Benjamin Clément via RT <bug-subs-parallel@rt.cpan.org>:
> > Wed Aug 04 15:00:27 2010: Request 60082 was acted upon. > > Transaction: Ticket created by benjamin.clement@oamp.fr > > Queue: subs-parallel > > Subject: *** glibc detected *** perl: corrupted double-linked list:
> 0x000000001b2b2490 ***
> > Broken in: (no value) > > Severity: (no value) > > Owner: Nobody > > Requestors: benjamin.clement@oamp.fr > > Status: new > > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=60082 > > > > > > > Hi, > > I wanted to use the module subs::parallel with an other module named > > Astro::FITS::CFITSIO ( > > http://search.cpan.org/~pratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm<http://search.cpan.org/%7Epratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm>) but > > it seems there is a segmentation fault somewhere. > > Just calling the parallelize function after opening and closing a fits
> file
> > produces the bug : > > > > #!/usr/bin/env perl > > use warnings; > > use strict; > > use subs::parallel; > > use Astro::FITS::CFITSIO; > > use Carp; > > sub check_status { > > my $s = shift; > > if ($s != 0) { > > my $txt; > > Astro::FITS::CFITSIO::fits_get_errstatus($s,$txt); > > carp "CFITSIO error: $txt"; > > return 0; > > } > > > > return 1; > > } > > > > 1; > > > > > > my $file="test.fits"; > > my $status = 0; > > my $fptr = > >
> Astro::FITS::CFITSIO::open_file($file,Astro::FITS::CFITSIO::READONLY(),$status);
> > check_status($status) or die; > > $fptr->close_file($status); > > check_status($status) or die; > > > > my $foo = parallelize { return 0; }; > > print "$foo\n"; > > > > > > You'll find the full error message in the file test.log. > > > > Can you help me with this please ? > > > > Regards, > > > > Benjamin Clément > > > >
> > >
Subject: Re: [rt.cpan.org #60082] *** glibc detected *** perl: corrupted double-linked list: 0x000000001b2b2490 ***
Date: Wed, 4 Aug 2010 18:45:28 -0300
To: bug-subs-parallel [...] rt.cpan.org
From: Nilson Santos Figueiredo Junior <nilsonsfj [...] cpan.org>
You could try it with a newer version of Perl - in case it's a bug with the Perl threading library, it should be fixed in a newer release (perl 5.8.8 was released on January 2006 - it's 4.5 years old). I bet it's a problem in the Astro-FITS-CFITSIO library, though. I'm marking this bug as closed. -Nilson 2010/8/4 Benjamin Clément via RT <bug-subs-parallel@rt.cpan.org>: Show quoted text
>       Queue: subs-parallel >  Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60082 > > > Dear Nilson, > > Indeed, I got the same message by using threads->create. It looks like the > problem come from the other module or may be from the cfitsio library. > Thanks for the quick response. > > Benjamin > > On Wed, Aug 4, 2010 at 10:13 PM, Nilson Santos Figueiredo Junior via RT < > bug-subs-parallel@rt.cpan.org> wrote: >
>> <URL: https://rt.cpan.org/Ticket/Display.html?id=60082 > >> >> I can't install this library here to test but it's likely that its >> Perl wrapper isn't thread-safe (subs::parallel uses threads >> internally). >> Can you try replacing your parallelize call with this: >> >> use threads; >> my $thr = threads->create( sub { return 0; } ); >> print $thr->join . "\n"; >> >> If you get the same error, then this is the reason and there's nothing >> I can do about it in this case, unfortunately. >> >> -Nilson >> >> 2010/8/4 Benjamin Clément via RT <bug-subs-parallel@rt.cpan.org>:
>> > Wed Aug 04 15:00:27 2010: Request 60082 was acted upon. >> > Transaction: Ticket created by benjamin.clement@oamp.fr >> >       Queue: subs-parallel >> >     Subject: *** glibc detected *** perl: corrupted double-linked list:
>>  0x000000001b2b2490 ***
>> >   Broken in: (no value) >> >    Severity: (no value) >> >       Owner: Nobody >> >  Requestors: benjamin.clement@oamp.fr >> >      Status: new >> >  Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=60082 > >> > >> > >> > Hi, >> > I wanted to use the module subs::parallel with an other module named >> > Astro::FITS::CFITSIO ( >> > http://search.cpan.org/~pratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm<http://search.cpan.org/%7Epratzlaff/Astro-FITS-CFITSIO-1.05/CFITSIO.pm>) but >> > it seems there is a segmentation fault somewhere. >> > Just calling the parallelize function after opening and closing a fits
>> file
>> > produces the bug : >> > >> > #!/usr/bin/env perl >> > use warnings; >> > use strict; >> > use subs::parallel; >> > use Astro::FITS::CFITSIO; >> > use Carp; >> > sub check_status { >> >    my $s = shift; >> >    if ($s != 0) { >> >        my $txt; >> >    Astro::FITS::CFITSIO::fits_get_errstatus($s,$txt); >> >        carp "CFITSIO error: $txt"; >> >        return 0; >> >    } >> > >> >    return 1; >> > } >> > >> > 1; >> > >> > >> > my $file="test.fits"; >> > my $status = 0; >> > my $fptr = >> >
>> Astro::FITS::CFITSIO::open_file($file,Astro::FITS::CFITSIO::READONLY(),$status);
>> > check_status($status) or die; >> > $fptr->close_file($status); >> > check_status($status) or die; >> > >> > my $foo = parallelize { return 0; }; >> > print "$foo\n"; >> > >> > >> > You'll find the full error message in the file test.log. >> > >> > Can you help me with this please ? >> > >> > Regards, >> > >> > Benjamin Clément >> > >> >
>> >> >>
> >