Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#44 new PGPLOT signal catcher has errors

closed-fixed
PGPLOT (20)
9
2002-10-25
2002-09-26
Diab Jerius
No

PDL 2.3.4, Solaris 2.8. The following script:

use PDL;
use PDL::Graphics::PGPLOT;
dev ("snack.ps/vps",
{NXP=>2,NYP=>3,HardLW=>1,HardFont=>1,font=>1});

produces the following errors:

Useless use of private variable in void context at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 4872.
Use of uninitialized value in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.
Argument "" isn't numeric in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.
Use of uninitialized value in scalar assignment at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1948.
Argument "" isn't numeric in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.
Argument "" isn't numeric in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.
Argument "" isn't numeric in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.
Argument "" isn't numeric in numeric eq (==) at
/data/frrpttmp/axafbin/PDL-2.3.4/blib/lib/PDL/Graphics/PGPLOT/Window.pm
line 1926.

The first (private variable) error is fixed by a patch
I just submitted (as nobody, sorry).

The latter arise from setting and restoring the signal
handlers.
I've attached a patch which quiets things, but I'm not
sure it's correct, in part because now if I interrupt a
program using PGPLOT weird things happen. Sometimes I
have to hit ^C multiple times to get it to interrupt.
Each time I get a message from PDL along the lines of:

PDL::Graphics::PGPLOT::Window: Caught signal 'INT'

followed eventually by a Segmentation fault or Bus error.

Or, I'll get an immediate exit, with the following message:

^CUse of uninitialized value in numeric gt (>) at
/proj/axaf/pkgs/perl-5.6.1/lib/site_perl/5.6.1/sun4u-solaris/PDL/Graphics/PGPLOT/Window.pm
line 1912.
Segmentation fault

Here's my test program:

======================
use PDL;
use PDL::Graphics::PGPLOT;

my $x = pdl(0..1000);
my $y = pdl(0..1000);

points( $x, $y ) for 0..100;

======================

Discussion

  • Diab Jerius
    Diab Jerius
    2002-09-26

     
    Attachments
  • Craig DeForest
    Craig DeForest
    2002-10-25

    Logged In: YES
    user_id=20200

    Hmmm... I can't reproduce this on linux, so I'll have to try
    the compile farm. It sounds like something is doing a
    fandango on your stack, so that the various returns aren't
    working right. The spinlocks are set up so that two INT
    signals in a row will just unravel all the queueing and
    deliver an INT to perl. Then perl is failing to handle the INT
    signal well.

    I'll look at this over the next couple of days and hopefully
    fix it. Sorry for the long latency (I just noticed this was
    submitted a full month ago!)

    --Craig

     
  • Craig DeForest
    Craig DeForest
    2002-10-25

    • assigned_to: jarle --> zowie
     
  • Craig DeForest
    Craig DeForest
    2002-10-25

    Logged In: YES
    user_id=20200

    Bug fixed in CVS.
    Thanks for reporting the problem!

     
  • Craig DeForest
    Craig DeForest
    2002-10-25

    • status: open --> open-fixed
     
  • Craig DeForest
    Craig DeForest
    2002-10-25

    • status: open-fixed --> closed-fixed