unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
@ 2014-03-03 15:02 Leo Liu
  2014-03-04 13:14 ` Michael Albinus
  2019-09-30  3:54 ` Stefan Kangas
  0 siblings, 2 replies; 9+ messages in thread
From: Leo Liu @ 2014-03-03 15:02 UTC (permalink / raw)
  To: 16928; +Cc: Michael Albinus

1. emacs -q
2. (add-hook 'find-file-hook 'flymake-find-file-hook)
3. make sure the php executable is available
4. save https://github.com/drupal/drupal/raw/7.x/update.php in a remote
   host
5. open it in emacs

And I see update_flymake.php not being deleted (cleaned up). So it seems
at the time flymake-simple-cleanup was called, (file-exists-p
"/host:/path/to/update_flymake.php") returned false.

This is kinda annoying because after a while I see lots of _flymake*
files in the project.

Leo





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-03 15:02 bug#16928: 24.3.50; file _flymake not deleted on remote hosts Leo Liu
@ 2014-03-04 13:14 ` Michael Albinus
  2014-03-04 14:20   ` Leo Liu
  2019-09-30  3:54 ` Stefan Kangas
  1 sibling, 1 reply; 9+ messages in thread
From: Michael Albinus @ 2014-03-04 13:14 UTC (permalink / raw)
  To: Leo Liu; +Cc: 16928

Leo Liu <sdl.web@gmail.com> writes:

> 1. emacs -q
> 2. (add-hook 'find-file-hook 'flymake-find-file-hook)
> 3. make sure the php executable is available
> 4. save https://github.com/drupal/drupal/raw/7.x/update.php in a remote
>    host
> 5. open it in emacs
>
> And I see update_flymake.php not being deleted (cleaned up). So it seems
> at the time flymake-simple-cleanup was called, (file-exists-p
> "/host:/path/to/update_flymake.php") returned false.

Yes, I could reproduce it. The problem is, that flymake starts an
asynchronous process. It's sentinel calls then flymake-simple-cleanup,
which fires file-exists-p to an unpredictable time.

After serving flymake-find-file-hook, find-file has continued with the
other functions in find-file-hook. When the file-exists-p call from the
sentinel happened, Tramp was busy with requests from
vc-find-file-hook. And since Tramp is designed to work sequentially, it
couldn't serve promptly :-(

As temporary workaround, you could try

(add-hook 'find-file-hook 'flymake-find-file-hook 'append)

I will check, whether Tramp could be enabled to handle such asynchronous
calls. 

> Leo

Best regards, Michael.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-04 13:14 ` Michael Albinus
@ 2014-03-04 14:20   ` Leo Liu
  2014-03-04 14:53     ` Michael Albinus
  0 siblings, 1 reply; 9+ messages in thread
From: Leo Liu @ 2014-03-04 14:20 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 16928

On 2014-03-04 21:14 +0800, Michael Albinus wrote:
> Yes, I could reproduce it. The problem is, that flymake starts an
> asynchronous process. It's sentinel calls then flymake-simple-cleanup,
> which fires file-exists-p to an unpredictable time.
>
> After serving flymake-find-file-hook, find-file has continued with the
> other functions in find-file-hook. When the file-exists-p call from the
> sentinel happened, Tramp was busy with requests from
> vc-find-file-hook. And since Tramp is designed to work sequentially, it
> couldn't serve promptly :-(

I see. Maybe it is better for flymake to just call delete-file without
the file-exists-p check ignoring any error. I have found other cases
where _flymake files are left behind.

> As temporary workaround, you could try
>
> (add-hook 'find-file-hook 'flymake-find-file-hook 'append)

Thanks, will use it for now.

> I will check, whether Tramp could be enabled to handle such
>asynchronous
> calls. 

Thanks.

Leo





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-04 14:20   ` Leo Liu
@ 2014-03-04 14:53     ` Michael Albinus
  2014-03-07 14:19       ` Michael Albinus
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Albinus @ 2014-03-04 14:53 UTC (permalink / raw)
  To: Leo Liu; +Cc: 16928

Leo Liu <sdl.web@gmail.com> writes:

> I see. Maybe it is better for flymake to just call delete-file without
> the file-exists-p check ignoring any error. I have found other cases
> where _flymake files are left behind.

You could try. But i'm not 100% sure that we don't run into a similar
situation.

However, Tramp's `delete-file' handler doesn't get a special handling in
`vc-find-file-hook', so it might work.

> Thanks.
>
> Leo

Best regards, Michael.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-04 14:53     ` Michael Albinus
@ 2014-03-07 14:19       ` Michael Albinus
  2014-03-07 15:21         ` Leo Liu
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Albinus @ 2014-03-07 14:19 UTC (permalink / raw)
  To: Leo Liu; +Cc: 16928

Michael Albinus <michael.albinus@gmx.de> writes:

> Leo Liu <sdl.web@gmail.com> writes:
>
>> I see. Maybe it is better for flymake to just call delete-file without
>> the file-exists-p check ignoring any error. I have found other cases
>> where _flymake files are left behind.
>
> You could try. But i'm not 100% sure that we don't run into a similar
> situation.

I've checked further, there are still problems. A fix seems to be more
complex than expected, it must wait until the trunk is reopened (I fear
I could damage Tramp so close to the release).

For the time being, I have added `tramp-test31-asynchronous-requests' to
Tramp's test cases. It will fail until the bug is fixed.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-07 14:19       ` Michael Albinus
@ 2014-03-07 15:21         ` Leo Liu
  0 siblings, 0 replies; 9+ messages in thread
From: Leo Liu @ 2014-03-07 15:21 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 16928

On 2014-03-07 22:19 +0800, Michael Albinus wrote:
> I've checked further, there are still problems. A fix seems to be more
> complex than expected, it must wait until the trunk is reopened (I fear
> I could damage Tramp so close to the release).
>
> For the time being, I have added `tramp-test31-asynchronous-requests' to
> Tramp's test cases. It will fail until the bug is fixed.

Thank you. It seems best for now.

Leo





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2014-03-03 15:02 bug#16928: 24.3.50; file _flymake not deleted on remote hosts Leo Liu
  2014-03-04 13:14 ` Michael Albinus
@ 2019-09-30  3:54 ` Stefan Kangas
  2019-10-02 13:00   ` Michael Albinus
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Kangas @ 2019-09-30  3:54 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Leo Liu, 16928

Michael Albinus <michael.albinus@gmx.de> writes:

>>> I see. Maybe it is better for flymake to just call delete-file without
>>> the file-exists-p check ignoring any error. I have found other cases
>>> where _flymake files are left behind.
>>
>> You could try. But i'm not 100% sure that we don't run into a similar
>> situation.
>
> I've checked further, there are still problems. A fix seems to be more
> complex than expected, it must wait until the trunk is reopened (I fear
> I could damage Tramp so close to the release).
>
> For the time being, I have added `tramp-test31-asynchronous-requests' to
> Tramp's test cases. It will fail until the bug is fixed.

Hi Michael,

I'm now seeing the following test pass:

   passed  1/1  tramp-test43-asynchronous-requests (1.738177 sec)

Does that mean that this bug has been fixed?

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2019-09-30  3:54 ` Stefan Kangas
@ 2019-10-02 13:00   ` Michael Albinus
  2019-10-02 13:03     ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Albinus @ 2019-10-02 13:00 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Leo Liu, 16928

Stefan Kangas <stefan@marxist.se> writes:

> Hi Michael,

Hi Stefan,

> I'm now seeing the following test pass:
>
>    passed  1/1  tramp-test43-asynchronous-requests (1.738177 sec)

A lot of work has been done in order to let this test pass. It does
almost, but it is still unstable. That's why it is tagged :unstable.

> Does that mean that this bug has been fixed?

I've played the scenario the OP has given several times with Emacs
27.0.50, and the problem didn't happen. So yes, let's assume the bug has
been fixed.

> Best regards,
> Stefan Kangas

Best regards, Michael.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#16928: 24.3.50; file _flymake not deleted on remote hosts
  2019-10-02 13:00   ` Michael Albinus
@ 2019-10-02 13:03     ` Stefan Kangas
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Kangas @ 2019-10-02 13:03 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 16928-done, Leo Liu

Michael Albinus <michael.albinus@gmx.de> writes:

> > Does that mean that this bug has been fixed?
>
> I've played the scenario the OP has given several times with Emacs
> 27.0.50, and the problem didn't happen. So yes, let's assume the bug has
> been fixed.

Thanks, I'm closing this now then.  We can always reopen later if this
turns out to still be a problem.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-10-02 13:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-03 15:02 bug#16928: 24.3.50; file _flymake not deleted on remote hosts Leo Liu
2014-03-04 13:14 ` Michael Albinus
2014-03-04 14:20   ` Leo Liu
2014-03-04 14:53     ` Michael Albinus
2014-03-07 14:19       ` Michael Albinus
2014-03-07 15:21         ` Leo Liu
2019-09-30  3:54 ` Stefan Kangas
2019-10-02 13:00   ` Michael Albinus
2019-10-02 13:03     ` Stefan Kangas

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).