With the common availability of 64bit OSes and machines
with more than 4GiB of memory, it is apparent that the
current PDL size is limited by the implementation to 2GiB
(pdl_malloc and hence SvGROW are called with sizes
as int instead of STRLEN).
The allocation limit fix should be straightforward. The
difficulty will be verifying that there are not hidden
assumptions about the size of piddles in the other
code (e.g., the PDL::PP stuff).
Thanks to Albrecht Schmid for reporting the issue.