GNU bug report logs -
#68083
30.0.50; Intermittent build failure with native compilation
Previous Next
Reported by: Aaron Jensen <aaronjensen <at> gmail.com>
Date: Thu, 28 Dec 2023 14:06:02 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Here's a patch, if helpful. I've tested it and can build with it.
Aaron
On Sat, Dec 30, 2023 at 3:54 PM, Aaron Jensen <aaronjensen <at> gmail.com> wrote:
> Works for me, though is it still an outstanding question as to whether or
> not we should add macro expand back?
>
> Also yeah if we add the t we can do what you suggested where it’s either a
> delete or rename force.
>
>
> Aaron
>
> On Sat, Dec 30 2023 at 1:46 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
> From: Aaron Jensen <aaronjensen <at> gmail.com>
> Date: Sat, 30 Dec 2023 13:06:55 -0500
> Cc: acorallo <at> gnu.org, 68083 <at> debbugs.gnu.org, jschmidt4gnu <at> vodafonemail.de
>
> On Sat, Dec 30, 2023 at 12:43 PM Eli Zaretskii <eliz <at> gnu.org> wrote:
> >
> > What happens if, instead of wrapping rename-file in condition-case,
> > you change that to say
> >
> > (t (if newfile
> > (rename-file newfile oldfile)
> > (delete-file oldfile))
>
> I don't really understand this change. The previous version of the code
> wraps the rename in a (when newfile) and deletes the oldfile right before
> that. The deletion would always be necessary if the oldfile exists unless
> OK-IF-ALREADY-EXISTS is specified in rename-file.
>
> Sorry, I meant to add the OK-IF-ALREADY-EXISTS argument non-nil, of
> course.
>
> The point is that you can rename a file if the OLDFILE exists with no
> problem, and that is supposed to be an atomic operation, so no race
> conditions.
>
> Indeed, but we aren't specifying OK-IF-ALREADY-EXISTS, so if another
> process does the same compile at the same time (and therefore the same
> rename), they will conflict. We could specify OK-IF-ALREADY-EXISTS instead
> and that works as well:
>
> Then I prefer this version.
>
>
[Message part 2 (text/html, inline)]
[0001-comp.el-comp-delete-or-replace-file-Fix-parallel-com.patch (application/octet-stream, attachment)]
This bug report was last modified 1 year and 221 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.