I have found the following potential bugs in PDL-2.4.1
( i got a bunch of uninitialized memory read errors)
File: Ops/Ops.xs line:49
//
void pdl_plus_redodims(pdl_trans *__tr ) {
int __dim;
pdl_plus_struct *__privtrans = (pdl_plus_struct *) __tr;
File: Slices/Slices.xs line:23361
//
void pdl_threadI_redodims(pdl_trans *__tr ) {
int __dim;
pdl_threadI_struct *__privtrans = (pdl_threadI_struct
*) __tr;
Logged In: YES
user_id=20200
This is a result of some flaws in the deep sequencing of PP
constructs. The current workaround involves fencing all
PDLs: there is a magic string at the beginning of each PDL
struct, indicating that it has been initialized. The
correct fix involves diving deeply into the PP engine and
backing out where the flow is broken. Nobody has so far
been willing to do that, though perhaps for 2.5.0 someone
will be willing. Perhaps that someone is you!
I have added this to the 2.4.2 to-do file, so that it is not
lost to posterity.