I recently built gccemacs 28 and found that when I tried to connect to the server with emacsclient I would encounter the following error:
/home/demo/.local/bin/emacsclient: Invalid socket owner /home/demo/.local/bin/emacsclient: No socket or alternate editor. Please use: --socket-name server-file (or environment variable --EMACS_SERVER_FILE) alternate-editor (or environment variable --ALTERNATE_EDITOR) After building the vanilla emacs 28 and finding the same issue, I looked at the source code of emacsclient.c and found that the uid validation in the function set_local_socket since 26.3 (the latest version available for hurd on debian). If the uid returned by geteuid() doesn't match what fstat puts in the connect_stat.st_uid when given the file descriptor for the server, the "Invalid socket owner error is triggered." Using gdb I found uid to be 1000 and connect_stat.st_uid to be 0. I filed an emacs bug and it appears to only affect the hurd. Are geteuid() and fstat() returning the values we expect? Andrew