unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "N. Jackson" <njackson@posteo.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: yantar92@posteo.net, 75209@debbugs.gnu.org
Subject: bug#75209: 30.0.93; Emacs reader failed to read data in "/home/nlj/.cache/org-persist/gc-lock.eld"
Date: Mon, 06 Jan 2025 00:58:21 +0000	[thread overview]
Message-ID: <871pxgbvwy.fsf@Phoenix> (raw)
In-Reply-To: <86pll16ut7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 05 Jan 2025 19:21:08 +0200")

At 19:21 +0200 on Sunday 2025-01-05, Eli Zaretskii wrote:

>> From: "N. Jackson" <njackson@posteo.net>
>> 
>> Running list-timers shows:
>> 
>> Idle                Next  Repeat Function
>>        -1d 15h 43m 30.2s      1h org-persist--refresh-gc-lock
>
> This timer is disabled.  See bug#39824 for some related discussions,
> in particular
>
>   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39824#53

I have now read that bug report and I admit I don't fully understand
it[1].

IIUC, the user's timer had encountered an error, a backtrace had
been produced, and the user had said `q' to the debugger, leaving
the timer in a broken state.

Here, like in that bug report, the broken timer has `t' in the first
element:

  [t 26490 7240 117604 3600 org-persist--refresh-gc-lock nil nil 17000 nil]

However, I have seen no error.  (If I were presented with a
backtrace, I would almost certainly make a copy of the buffer and
then hit `c' rather than `q', but in fact I haven't seen a backtrace
in a long time.  Indeed, debug-on-error is nil.  I have seen no
error messages in this run of Emacs and there are no errors (or
anything else unexpected in Messages).)

I'm guessing (wildly) that what happened is this:

1.  I woke my system from suspend.

2.  All timers in both my instances of Emacs ran roughly
    simultaneously.

3.  Org Mode's locking mechanisms are not working properly when two
    copies of org-persist--refresh-gc-lock run at essentially the 
    same time, and it failed in one instance of Emacs.

4.  Org Mode (or something else) caught the failure and reported

      Warning (emacs): Emacs reader failed to read data in
      "/home/nlj/.cache/org-persist/gc-lock.eld". The error was:
      "End of file during parsing"

    and the running of the timer was aborted, leaving it in a broken
    state.

I think this wild conjecture would explain why sometimes (but by no
means always) I see this warning when I resume from suspend; why I
rarely see the warning at other times; and why sometimes I see the
warning in my regular Emacs session and sometimes in the instance in
which I'm running Gnus.


(One other observation: IIUC, it says in bug#39824 that the broken
timer moves farther into the past, but here my broken timer is
counting forward (it is now due in negative 1 day and 5 hours) so
presumably in a day or so it will no longer be negative.  Will it
then start running again I wonder?  If this behaviour is expected,
perhaps it should be mentioned in the documentation.  It seems a bit
peculiar to me.)

[1] I don't understand why bug#39824 was closed as Not A Bug when
the mystery of how the timers got in an incoherent state wasn't
fully clarified.  (But maybe it was well understood and the
mechanism was too trivial to record.) [And I don't think, just
because a timer fails once, that one necessarily wants that timer
disabled (because the problem might be transient).  Also it seems to
me that if a timer is going to be disabled then that should be done
explicitly rather than as a side-effect of an abort.]  But that is
all irrelevant here.






  reply	other threads:[~2025-01-06  0:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-30 18:48 bug#75209: 30.0.93; Emacs reader failed to read data in "/home/nlj/.cache/org-persist/gc-lock.eld" N. Jackson
2024-12-30 19:31 ` Eli Zaretskii
     [not found]   ` <87zfkddk1l.fsf@Phoenix>
2024-12-30 20:01     ` Eli Zaretskii
2025-01-01 17:41       ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2025-01-01 18:52         ` Eli Zaretskii
2025-01-01 21:09           ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-31 17:42   ` Ihor Radchenko
     [not found]     ` <87frm3elkr.fsf@Phoenix>
2024-12-31 19:02       ` Ihor Radchenko
2024-12-31 19:54         ` Eli Zaretskii
2025-01-01  9:42           ` Ihor Radchenko
2025-01-01 12:14             ` Eli Zaretskii
2025-01-02 17:28               ` Ihor Radchenko
2025-01-02 18:48                 ` Eli Zaretskii
2025-01-05 10:03                   ` Ihor Radchenko
2025-01-05 11:15                     ` Eli Zaretskii
2025-01-05 13:18                       ` Ihor Radchenko
2025-01-01 15:54         ` N. Jackson
2025-01-02 13:34 ` N. Jackson
2025-01-05 14:18   ` N. Jackson
2025-01-05 17:21     ` Eli Zaretskii
2025-01-06  0:58       ` N. Jackson [this message]
2025-01-06 13:49         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871pxgbvwy.fsf@Phoenix \
    --to=njackson@posteo.net \
    --cc=75209@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).