Subject: bug#30769: 25.3; server-delete-client:X protocol error using Lucid

From: stef204 <[email-masked]>
Date: Mon, 12 Mar 2018 07:00:07 -0600

11.03.2018, 12:58, "Noam Postavsky" <[email-masked]>:
> stef204 <[email-masked]> writes:
> this point.
The problems starts now where, once DONE editing the file, I SHOULD use "server-edit" or "C-x #" to exit/close this buffer and get my terminal "back".
AT THAT POINT, emacsclient SEEMS to close but in reality does not exit cleanly, i.e. the frame is destroyed, etc., I get back to terminal but it is still waiting for emacsclient to terminate and release terminal.  Also, the buffer is still open, it does not get killed.
I have to use Ctrl+c to get my terminal back; THEN open emacsclient again, look for the buffer for xyz.txt (which is still open) and kill it with "C-x k"

Using emacs compiled with gtk3, I do not run into any of that.  ONLY with lucid (and i do prefer lucid over gtk3 so this is important.)

Screenshots attached so you can see the state after using "server-edit" with Lucid.

file: server-edit1-screenshot_2018-03-12-134754.png is state AFTER using "server-edit" to exit server buffer.  You can see how terminal still waiting (and THAT is when the "server-delete-client: X protocol error: BadFont (invalid Font parameter)
>>  on protocol request 46" gets written to Message buffer.

file: server-edit2-screenshot_2018-03-12-134754.png is AFTER I get my terminal back using Ctrl-c and then restart emacsclient and look at what buffers are opened.  You can see the file "PKGBUILD" still open, it never got killed.

Please let me know if you need anything else so I can help troubleshoot.

Thank you.

Stephen
>>  Using --with-x-toolkit=lucid results in error:
>>
>>  server-delete-client: X protocol error: BadFont (invalid Font parameter)
>>  on protocol request 46
>
> What do you do exactly to get this error?

Noam,

My setup is as such:

- emacs server+client
- I start emacs on every boot using a systemd --user unit:

% cat ~/.config/systemd/user/emacs.service
[Unit]
Description=Emacs: the extensible, self-documenting text editor

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=always

[Install]
WantedBy=default.target

THEN, let's say I want to work or edit file xyz.txt.  I run:
% ec xyz,txt

ec is a script I use to run emacsclient
% whence ec | xargs cat
#!/bin/sh
exec /usr/bin/env emacsclient -a "" -c "$@"

THEN I edit the file, etc.
All is fine up to this point.

The problem starts now where, once DONE editing the file, I SHOULD use "server-edit" or "C-x #" to exit/close this buffer and get my terminal "back".
AT THAT POINT, emacsclient SEEMS to close but in reality does not exit cleanly, i.e. the frame is destroyed, etc., I get back to terminal but it is still waiting for emacsclient to terminate and release terminal.  Also, the buffer is still open, it does not get killed.
I have to use Ctrl+c to get my terminal back; THEN open emacsclient again, look for the buffer for xyz.txt (which is still open) and kill it with "C-x k"

Using emacs compiled with gtk3, I do not run into any of that.  ONLY with lucid (and i do prefer lucid over gtk3 so this is important.)

Screenshots attached so you can see the state after using "server-edit" with Lucid.

file 1: server-edit1-screenshot_2018-03-12-134754.png is state AFTER using "server-edit" to exit server buffer.  You can see how terminal still waiting (and THAT seems to be when the "server-delete-client: X protocol error: BadFont (invalid Font parameter) on protocol request 46" gets written to Message buffer.

file 2: server-edit2-screenshot_2018-03-12-134754.png is AFTER I get my terminal back using Ctrl-c and then restart emacsclient and look at what buffers are opened.  You can see the file "PKGBUILD" still open, it never got killed.

Please let me know if you need anything else so I can help troubleshoot.

Thank you.

Stephen