I was able to produce an error... though not on my first attempt, and
the error I produced was my own fault - but the consequences of that
error pointed at what I believe are some flaws in the new adhoc
debugging mechanism in j9.6.
On my first attempt, I had to shut down J, because this little laptop
I'm on doesn't like the J image growing to 20 gigabytes.
After reducing the dataset sizes by a factor of 100, and adding the
requisite includes, I got an error from a goof I had introduced.
My variant script;
load 'graphics/pplatimg'
data_large =. (4#256)#. _4]\(?4000000)?@#(4?@#250) NB. make pixel
set to fit on canvas.
data_small =. (4#256)#. _4]\(?22500)?@#(4?@#250) NB. make
pixel set to fit on canvas.
('~temp\image_00.png') writeimg_pplatimg_~ 2000 2000 $!.(00) data_large
('~temp\image_01.png') writeimg_pplatimg_~ 1500 1500 $!.(00) data_small
This failed during the write-to-file because ~temp isn't expanded by
writeimg_pplatimg_
But a couple things were strange during the resulting suspension.
Here's an extract from my session:
|Win32Error: assert
| GdipSaveImageToFile BMP;(u:y,{.a.);ENC;parm
|[-5] c:\users\15712\j9.6-user\temp\8.ijs
Press ENTER to inspect
Use y___1 to look inside top stack frame; see
code.jsoftware.com/wiki/Debug/Stack#irefs
$y___1
$ y___1
y___1
~temp\image_01.png
nc<'y___1'
0
Problem 1: a (verb noun) construct was treated by J as a (verb verb)
construct. I don't think this could have caused a problem for you,
because it's probably a consequence of how the ___1 pseudolocale is
handled.
Problem 2: in the debugging popup, GdipSaveImageToFile was listed as
an undefined local variable. (Because the debugger did not know what
locale it was supposed to be using.)
That said, after correcting my script:
load 'graphics/pplatimg'
data_large =. (4#256)#. _4]\(?4000000)?@#(4?@#250) NB. make pixel
set to fit on canvas.
data_small =. (4#256)#. _4]\(?22500)?@#(4?@#250) NB. make
pixel set to fit on canvas.
(jpath '~temp\image_00.png') writeimg_pplatimg_~ 2000 2000 $!.(00) data_large
(jpath '~temp\image_01.png') writeimg_pplatimg_~ 1500 1500 $!.(00) data_small
I was unable to produce any errors.
FYI,
--
Raul