Bill Daly on Fri, 18 Dec 1998 14:43:03 -0500

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: factor() bug?

Well, I ran both v2.0.10 and my new v2.0.13 under the debugger to see
what was happening. The v2.0.10 rename() failed with the error message
"The system cannot find the device specified", which is very odd since
the file names are simply "LPTMP.tgp" and "LPREL.tgp", and there was no
problem with opening either file. The problem, whatever it might have
been, has gone away in v2.0.13, at least for the cases I have tested.

I found various values which failed in v2.0.10. Given:

p = [153623, 153641, 153649, 153689, 153701, 153719, 153733, 153739,
q = [524219, 524221, 524231, 524243, 524257, 524261, 524269, 524287,

factor(p[j]*q[k]) fails for j in [1,4,5,6,7,8] and k in
[1,2,3,4,5,6,7,9], and succeeds otherwise. All of these values succeed
in v2.0.13. In those cases where factor() succeeds, the rename() is
never reached, so it is perhaps reasonable to speculate that in v2.0.10
the rename(), if it is reached, always fails, in which case, since the
rename() appears to work in v2.0.13, the cause of the problem has been
eliminated. But I'm still a bit concerned that the problem might
reappear when factoring some other number. I'd be happier if I could
track down the exact cause of the failure.

As far as I know, there are no WinNT-specific oddities about rename().

Thomas Papanikolaou wrote:
> -------------------------------------------------------
> This Incoming Email has been checked by MIMESweeper
> -------------------------------------------------------
> Hi there,
> > I don't know if this is a version-specific or system-specific problem.
> I think the problem you describe is system-specific. I tried your input
> > factor(18444562698542235648)
> on linux-i686, linux-alpha, solaris-sparcv[8,9] and I could not reproduce
> the error.
> The code producing the error message is in
>         pari/src/modules/mpqs.c, line 635 in the function
>                mpqs_mergesort_lp_file()
> It seems that the rename() function implementation on WinNT is different
> to the UNIX one. So you may want to look into the doc for it (and send
> it to us) in order to find a work-around.
>         Cheers
>                 Thomas
> Thomas Papanikolaou (PhD)  email:
> A2X - Laboratoire d'Algorithmique Arithmétique eXpérimentale
> 351, cours de la Libération, 33 405 Talence cedex, France
This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom 
they are addressed. 
This footnote also confirms that this email message has been swept by 
MIMEsweeper for the presence of computer viruses.