Skip Menu |

This queue is for tickets about the PDL-Fit-Levmar CPAN distribution.

Report information
The Basics
Id: 89547
Status: new
Priority: 0/
Queue: PDL-Fit-Levmar

People
Owner: Nobody in particular
Requestors: sisyphus [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.0096
Fixed in: (no value)



Subject: Fails some tests when built against PDL-2.007
Hi, There's no problem if perl's ivsize == 4, but if perl's ivsize == 8 there's a couple of test failures (including a segfault) on MS Windows. PDL-2.007 introduced 64-bit indexing, and I suspect that this is at the heart of the problem. One of the telling compiler warnings I see is: pdlperlfunc.c:162:3: warning: passing argument 2 of 'PDL->setdims' from incompatible pointer type [enabled by default] pdlperlfunc.c:162:3: note: expected 'PDL_Indx *' but argument is of type 'PDL_Long *' That doesn't threaten anything on perls where PDL_Indx and PDL_long are the same size, but on those of my Windows perls that have ivsize == 8 the PDL_Indx type is an 8-byte (long long) integer value whereas the PDL_Long type is a 4-byte value. This is a recipe for disaster ... which is precisely what ensues. Here are the actual test failures: t/chkjac.t ..... PDL: PDL::Ops::assgn(a,b): Parameter 'b': Mismatched implicit thread dimension 0: should be 10, is 1815957885 at Basic/Core/Core.pm.PL (i.e. PDL::Core.pm) line 858. PDL::__ANON__('PDL=SCALAR(0x2d68e50)', 'PDL=SCALAR(0x2d68d78)', undef) called at t/chkjac.t line 85 main::jacgauss('PDL=SCALAR(0x2d68c88)', 'PDL=SCALAR(0x2d68cb8)', 'PDL=SC ALAR(0x2d68d18)') called at C:\sisyphusion\PDL-Fit-Levmar-0.0096\blib\lib/PDL/Fi t/Levmar.pm line 1750 PDL::Fit::Levmar::levmar_chkjac('PDL::Fit::Levmar::Func=HASH(0x2d68b80)' , 'PDL=SCALAR(0x2d68a00)', 'PDL=SCALAR(0x2d68988)') called at t/chkjac.t line 112 main::chkjac('1e-005') called at t/chkjac.t line 123 t/chkjac.t ..... Dubious, test returned 255 (wstat 65280, 0xff00) . . . t/liblevmar.t .. Dubious, test returned 5 (wstat 1280, 0x500) It's the t/liblevmar.t test script that segfaults: ############################### C:\sisyphusion\PDL-Fit-Levmar-0.0096>perl -Mblib t/liblevmar.t 1..25 # type double ok - 1 Rosenbrock csrc == def [crash] ############################### If you don't have a perl whose ivsize != longsize, then it may well be that you can't reproduce the problem. It's also a possibility that this is a problem with PDL-2.007, not PDL-Fit-Levmar ... I don't know. Cheers, Rob