Open mohawk2 opened 1 year ago
Thanks! Could you PR it?
Thanks! More strangeness:
pdl> p $$
366399
pdl> demo
Use:
[snip]
demo pgplotOO # PGPLOT OO interface
demo prima # Prima graphics
demo transform # Coordinate transformations (Req.: PGPLOT)
pdl> p $$
366399
pdl> q
Use:
[snip]
demo pgplotOO # PGPLOT OO interface
demo transform # Coordinate transformations (Req.: PGPLOT)
Ctrl-C detected
at blib/script/perldl line 228.
main::__ANON__[blib/script/perldl:229]("INT") called at (LIB)/x86_64-linux/Prima.pm line 59
eval {...} called at (LIB)/x86_64-linux/Prima.pm line 59
require Prima.pm called at (LIB)/PDL/Graphics/Prima.pm line 26
[snip]
pdl> p $$
366403
I believe this is because the P:G:Prima demo loads Prima, which initialises itself (at line 59 of Prima.pm), but is then not used. I don't consider it unreasonable for Prima to get itself ready for use on being loaded, and I could make P:G:Prima not load Prima itself, but instead change it so that its using libraries/scripts had to do so (in this case, making the demo do it when run). However, do you think Prima should handle this in a different way? Also I'm not clear why the signal handler (installed by perldl
to handle Ctrl-C) is being called at all, and why that seems to fork the process. Might this be due to Prima's END
needing to be a bit more careful?
Similar to the above happens when I run the demo and immediately use the window's "X" button to close it, then tell perldl
to exit - it reports failing to load the demo, and has a different $$
.
I'm not sure I understood the protocol, but at my best, I couldn't reproduce:
$ perldl
perlDL shell v1.357
PDL comes with ABSOLUTELY NO WARRANTY. For details, see the file
'COPYING' in the PDL distribution. This is free software and you
are welcome to redistribute it under certain conditions, see
the same file for details.
ReadLines, NiceSlice, MultiLines enabled
Reading PDL/default.perldlrc...
Found docs database /usr/local/lib/x86_64-linux-gnu/perl/5.34.0/PDL/pdldoc.db
Type 'help' for online help
Type 'demo' for online demos
Loaded PDL v2.081 (supports bad values)
Note: AutoLoader not enabled ('use PDL::AutoLoader' recommended)
pdl> p $$
1919296
pdl> demo
Use:
demo pdl # general demo
demo bad # Bad-value demo (Optional: PGPLOT)
demo cartography # Cartographic projections (Req.: PGPLOT)
demo prima # Prima graphics
pdl> p $$
1919296
pdl> demo
Use:
demo pdl # general demo
demo bad # Bad-value demo (Optional: PGPLOT)
demo cartography # Cartographic projections (Req.: PGPLOT)
demo prima # Prima graphics
pdl> p $$
1919296
pdl> q
$
I also have another installation with demos pgplot, pgplot00, and transform - and again, nothing.
I wonder if this could be a mix-up of several module versions in your installation? The string "time to exit the event loop" is only found in the older versions of P:G:P...
With:
On Ubuntu, I am running perldl
, with demo
and q
, and seeing the same spurious "Ctrl-C" and new process.
I see your perldl
shows PDL 2.081 (CPAN latest is 2.082). Could you try with these versions? Also, what OS are you on? (Though from that path I assume Linux)
Could you also try installing OpenGL and OpenGL::GLUT? If your demo list is the complete list (mine was cut down), that might have an influence. (Also, the demo 3d
is kind of cool, though I am definitely biased!)
All right, tried on a fresh ubuntu and perl5.36:
(16:30)dk@hp build/PDL-2.082-0> perldl
perlDL shell v1.357
PDL comes with ABSOLUTELY NO WARRANTY. For details, see the file
'COPYING' in the PDL distribution. This is free software and you
are welcome to redistribute it under certain conditions, see
the same file for details.
ReadLines, NiceSlice, MultiLines enabled
Reading PDL/default.perldlrc...
Found docs database /home/dk/perl5/perlbrew/perls/perl-5.36.0/lib/site_perl/5.36.0/x86_64-linux/PDL/pdldoc.db
Type 'help' for online help
Type 'demo' for online demos
Loaded PDL v2.082 (supports bad values)
Note: AutoLoader not enabled ('use PDL::AutoLoader' recommended)
pdl> p $$
377867
pdl> demo
Use:
demo pdl # general demo
demo 3d # 3d demo (requires TriD with OpenGL or Mesa)
demo 3d2 # 3d demo, part 2. (Somewhat memory-intensive)
demo 3dgal # the 3D gallery: make cool images with 3-line scripts
demo bad # Bad-value demo (Optional: PGPLOT)
demo cartography # Cartographic projections (Req.: PGPLOT)
demo pgplot # PGPLOT graphics output
demo pgplotOO # PGPLOT OO interface
demo prima # Prima graphics
demo transform # Coordinate transformations (Req.: PGPLOT)
pdl> p $$
377867
pdl> demo
Use:
demo pdl # general demo
demo 3d # 3d demo (requires TriD with OpenGL or Mesa)
demo 3d2 # 3d demo, part 2. (Somewhat memory-intensive)
demo 3dgal # the 3D gallery: make cool images with 3-line scripts
demo bad # Bad-value demo (Optional: PGPLOT)
demo cartography # Cartographic projections (Req.: PGPLOT)
demo pgplot # PGPLOT graphics output
demo pgplotOO # PGPLOT OO interface
demo prima # Prima graphics
demo transform # Coordinate transformations (Req.: PGPLOT)
pdl>
pdl> q
dk@hp build/PDL-2.082-0>
Thank you. I shall have to dig into this and see what is going on locally!
Just in case, I ran this on the latest Prima snapshot from github
This is something I forgot I'd reported here, and just created https://github.com/dk/Prima/issues/114
@dk Do you have any idea what causes this? Latest PDL, in
perldl
:The "uninitialized value" is if I click "Next" on the last page, after which it changes to a "Finish" button. On clicking "Finish", I see:
To avoid doubt, I didn't press Ctrl-C.