emms-help
[Top][All Lists]
Advanced

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

Re: [emms-help] emms-player-mpv ipc-error: connection-error


From: Konstantin Reich
Subject: Re: [emms-help] emms-player-mpv ipc-error: connection-error
Date: Mon, 02 Jul 2018 11:57:27 +0300

I did what you suggested:


(defvar emms-player-mpv-ipc-conn-emacs-26-workaround (> emacs-major-version 26)
  "Non-nil to enable workaround for issue #31901 in emacs 26.0-26.1 and 
possibly later versions.
These seem to fail to call sentinel function for unix socket network processes
that were started with :nowait t, so blocking connections are used there 
instead.")

(message "------ emms-mpv: emacs-major-version on load: %s" emacs-major-version)
(message "------ emms-mpv: workaround value init: %s" 
emms-player-mpv-ipc-conn-emacs-26-workaround)

I got the following in the Message buffer


------ emms-mpv: emacs-major-version on load: 26
------ emms-mpv: workaround value init: nil


Also, instead of these two lines i added  (debug-watch 
'emms-player-mpv-ipc-conn-emacs-26-workaround)
The debugger didnot appear, nothing is in the Message buffer.



> Got comment on underlying emacs issue, confirming that it might be
> accidental bug during refactoring, so might hopefully be fixed without
> need for such workarounds in the next emacs version releases.


Good.




>>  Mike,
>>
>>  Yeah i cannot figure out what it is going on.
>>
>>  > You don't have it disabled or overidden manually somewhere, by chance?
>>  no
>>
>>  (>= emacs-major-version 26)
>>  gives
>>  t
>
> Guess one other option is that something straight-up does:
>
>   (let ((emacs-major-version 25)) ... (require 'emms-player-mpv) ...)
>
> ...somewhere, maybe as a bad workaround for whatever weird quirk.
>
> Sorry that it's already a lot of work for issue that you
> probably don't particulary care about, but maybe you can edit that elpa
> file at /home/reich/.emacs.d/elpa/emms-20180630.945/emms-player-mpv.el
> and next to (defvar emms-player-mpv-ipc-conn-emacs-26-workaround ...)
> line (e.g. right after it), put something like this:
>
>   (message "------ emms-mpv: emacs-major-version on load: %s" 
> emacs-major-version)
>   (message "------ emms-mpv: workaround value init: %s" 
> emms-player-mpv-ipc-conn-emacs-26-workaround)
>
> And then restart emacs, make it load/init emms as you'd usually do, and
> look into *Messages* afterwards for these two lines.
>
> First one should show if maybe emacs-major-version is indeed overidden,
> while second one might reveal whether variable is initialized to t and
> then reset to nil or if latter happens on initialization there.
>
> And if it's the latter case of something changing variable indeed
> (probably is, given that it's defined in the right place and
> emacs-major-version hack seems very unlikely), then edit that file
> again and instead of these two "message" lines put this one there:
>
>   (debug-watch 'emms-player-mpv-ipc-conn-emacs-26-workaround)
>
> This should land you in an emacs debugger with a backtrace should
> anything ever try to change that variable (nothing in emms code should
> afaik), so likely will signal such error upon next restart and emms init.
>
> Found out about this new feature of emacs-26.1 myself googling for how
> to trace variable changes just now.
>
> Again, thanks and apologies for all the debugging work you've done on
> this issue already.
>
> Got comment on underlying emacs issue, confirming that it might be
> accidental bug during refactoring, so might hopefully be fixed without
> need for such workarounds in the next emacs version releases.
> https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=e09c0972c350e9411683b509414fc598cbf387d3
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]