From: "andrés ramírez" <rrandresf@gmail.com>
To: Noam Postavsky <npostavs@users.sourceforge.net>
Cc: 29070@debbugs.gnu.org
Subject: bug#29070: 26.0.90; emacs-26.0.90 pretest
Date: Mon, 30 Oct 2017 17:36:13 -0600 [thread overview]
Message-ID: <87o9oob442.fsf@chulpaca> (raw)
In-Reply-To: <87k1zcb5g0.fsf@users.sourceforge.net>
On Mon, 30 Oct 2017 17:07:27 -0600,
Noam Postavsky wrote:
>
> "rrandresf@gmail.com" <rrandresf@gmail.com> writes:
>
> > (t 2 1000 1000
> > (23031 33692 430033 322000)
> > (23031 41122 259655 752000)
> > (23031 41122 259655 752000)
> > 60 "drwx------" t 545119 28)
Noam above was wrong: what I got was nil (tried it on another emacs,
sorry)
> Could you do M-x load-library RET server.el RET to load the source and
> get a more detailed backtrace please. It should like something like
> this:
btw: I have done also (setq server-name "pe")
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "‘/tmp/emacs1000’ is not a safe directory because it is a file")
signal(error ("‘/tmp/emacs1000’ is not a safe directory because it is a file"))
error("`%s' is not a safe directory because %s" "/tmp/emacs1000" "it is a file")
(progn (error "`%s' is not a safe directory because %s" dir unsafe))
(if unsafe (progn (error "`%s' is not a safe directory because %s" dir unsafe)))
(let* ((uid (nth 2 attrs)) (w32 (eq system-type 'windows-nt)) (unsafe (cond ((not (eq t (car attrs))) (format "it is a %s" (if (stringp (car attrs)) "symlink" "file"))) ((and w32 (= 0 uid)) (display-warning 'server (format-message "Using `%s' to store Emacs-server authentication files.\nDirectories on FAT32 filesystems are NOT secure against tampering.\nSee variable `server-auth-dir' for details." (file-name-as-directory dir)) :warning) nil) ((and (/= uid (user-uid)) (or (not w32) (/= uid 544) (/= (user-uid) 500))) (format "it is not owned by you (owner = %s (%d))" (user-full-name (user-uid)) (user-uid))) (w32 nil) ((/= 0 (logand 63 (file-modes dir))) (format "it is accessible by others (%03o)" (file-modes dir))) (t nil)))) (if unsafe (progn (error "`%s' is not a safe directory because %s" dir unsafe))))
dir = "/tmp/emacs1000"
attrs = nil
uid = nil
w32 = nil
unsafe = "it is a file"
(let ((attrs (file-attributes dir 'integer))) (if attrs nil (let* ((old (default-file-modes))) (unwind-protect (progn (progn (set-default-file-modes 448) 448) (make-directory dir t)) (let* ((v old)) (progn (set-default-file-modes v) v)))) (setq attrs (file-attributes dir 'integer))) (let* ((uid (nth 2 attrs)) (w32 (eq system-type 'windows-nt)) (unsafe (cond ((not (eq t (car attrs))) (format "it is a %s" (if (stringp (car attrs)) "symlink" "file"))) ((and w32 (= 0 uid)) (display-warning 'server (format-message "Using `%s' to store Emacs-server authentication files.\nDirectories on FAT32 filesystems are NOT secure against tampering.\nSee variable `server-auth-dir' for details." (file-name-as-directory dir)) :warning) nil) ((and (/= uid (user-uid)) (or (not w32) (/= uid 544) (/= (user-uid) 500))) (format "it is not owned by you (owner = %s (%d))" (user-full-name (user-uid)) (user-uid))) (w32 nil) ((/= 0 (logand 63 (file-modes dir))) (format "it is accessible by others (%03o)" (file-modes dir))) (t nil)))) (if unsafe (progn (error "`%s' is not a safe directory because %s" dir unsafe)))))
dir = "/tmp/emacs1000"
attrs = nil
server-ensure-safe-dir("/tmp/emacs1000")
(if leave-dead (progn (if (eq t leave-dead) nil (server-log (message "Server stopped"))) (setq server-process nil)) (server-ensure-safe-dir server-dir) (if server-process (progn (server-log (message "Restarting server")))) (let* ((old (default-file-modes))) (unwind-protect (progn (progn (set-default-file-modes 448) 448) (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) (add-hook 'delete-frame-functions 'server-handle-delete-frame) (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) (add-hook 'kill-emacs-hook 'server-force-stop t) (setq server-process (apply (function make-network-process) :name server-name :server t :noquery t :sentinel (function server-sentinel) :filter (function server-process-filter) :use-external-socket t :coding 'raw-text-unix (if server-use-tcp (list :family 'ipv4 :service (or server-port t) :host (or server-host 'local) :plist '(:authenticated nil)) (list :family 'local :service server-file :plist '(:authenticated t))))) (if server-process nil (error "Could not start server process")) (process-put server-process :server-file server-file) (if server-use-tcp (progn (let ((auth-key (server-get-auth-key))) (process-put server-process :auth-key auth-key) (let ((temp-file server-file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (set-buffer-multibyte nil) (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) " " (number-to-string (emacs-pid)) "\n" auth-key)) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))) (let* ((v old)) (progn (set-default-file-modes v) v)))))
(let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) (server-file (expand-file-name server-name server-dir))) (if server-process (progn (condition-case nil (progn (delete-process server-process)) (error nil)))) (if (not (eq t (server-running-p server-name))) (condition-case nil (progn (let (delete-by-moving-to-trash) (delete-file server-file))) (error nil)) (setq server-mode nil) (display-warning 'server (concat "Unable to start the Emacs server.\n" (format "There is an existing Emacs server, named %S.\n" server-name) (substitute-command-keys "To start the server in this Emacs process, stop the existing\nserver or call `\\[server-force-delete]' to forcibly disconnect it.")) :warning) (setq leave-dead t)) (while server-clients (server-delete-client (car server-clients))) (if leave-dead (progn (if (eq t leave-dead) nil (server-log (message "Server stopped"))) (setq server-process nil)) (server-ensure-safe-dir server-dir) (if server-process (progn (server-log (message "Restarting server")))) (let* ((old (default-file-modes))) (unwind-protect (progn (progn (set-default-file-modes 448) 448) (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) (add-hook 'delete-frame-functions 'server-handle-delete-frame) (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) (add-hook 'kill-emacs-hook 'server-force-stop t) (setq server-process (apply (function make-network-process) :name server-name :server t :noquery t :sentinel (function server-sentinel) :filter (function server-process-filter) :use-external-socket t :coding 'raw-text-unix (if server-use-tcp (list :family 'ipv4 :service (or server-port t) :host (or server-host 'local) :plist '(:authenticated nil)) (list :family 'local :service server-file :plist '(:authenticated t))))) (if server-process nil (error "Could not start server process")) (process-put server-process :server-file server-file) (if server-use-tcp (progn (let ((auth-key (server-get-auth-key))) (process-put server-process :auth-key auth-key) (let ((temp-file server-file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (set-buffer-multibyte nil) (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) " " (number-to-string (emacs-pid)) "\n" auth-key)) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))) (let* ((v old)) (progn (set-default-file-modes v) v))))))
leave-dead = nil
inhibit-prompt = nil
server-dir = "/tmp/emacs1000"
server-file = "/tmp/emacs1000/pe"
(progn (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) (server-file (expand-file-name server-name server-dir))) (if server-process (progn (condition-case nil (progn (delete-process server-process)) (error nil)))) (if (not (eq t (server-running-p server-name))) (condition-case nil (progn (let (delete-by-moving-to-trash) (delete-file server-file))) (error nil)) (setq server-mode nil) (display-warning 'server (concat "Unable to start the Emacs server.\n" (format "There is an existing Emacs server, named %S.\n" server-name) (substitute-command-keys "To start the server in this Emacs process, stop the existing\nserver or call `\\[server-force-delete]' to forcibly disconnect it.")) :warning) (setq leave-dead t)) (while server-clients (server-delete-client (car server-clients))) (if leave-dead (progn (if (eq t leave-dead) nil (server-log (message "Server stopped"))) (setq server-process nil)) (server-ensure-safe-dir server-dir) (if server-process (progn (server-log (message "Restarting server")))) (let* ((old (default-file-modes))) (unwind-protect (progn (progn (set-default-file-modes 448) 448) (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) (add-hook 'delete-frame-functions 'server-handle-delete-frame) (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) (add-hook 'kill-emacs-hook 'server-force-stop t) (setq server-process (apply (function make-network-process) :name server-name :server t :noquery t :sentinel (function server-sentinel) :filter (function server-process-filter) :use-external-socket t :coding 'raw-text-unix (if server-use-tcp (list :family 'ipv4 :service (or server-port t) :host (or server-host 'local) :plist '(:authenticated nil)) (list :family 'local :service server-file :plist '(:authenticated t))))) (if server-process nil (error "Could not start server process")) (process-put server-process :server-file server-file) (if server-use-tcp (progn (let ((auth-key (server-get-auth-key))) (process-put server-process :auth-key auth-key) (let ((temp-file server-file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (set-buffer-multibyte nil) (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) " " (number-to-string (emacs-pid)) "\n" auth-key)) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))) (let* ((v old)) (progn (set-default-file-modes v) v)))))))
[no locals]
(if (or (not server-clients) (cond ((and (daemonp) (null (cdr (frame-list))) (eq (selected-frame) terminal-frame)) leave-dead) (inhibit-prompt t) (t (yes-or-no-p "The current server still has clients; delete them? ")))) (progn (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) (server-file (expand-file-name server-name server-dir))) (if server-process (progn (condition-case nil (progn (delete-process server-process)) (error nil)))) (if (not (eq t (server-running-p server-name))) (condition-case nil (progn (let (delete-by-moving-to-trash) (delete-file server-file))) (error nil)) (setq server-mode nil) (display-warning 'server (concat "Unable to start the Emacs server.\n" (format "There is an existing Emacs server, named %S.\n" server-name) (substitute-command-keys "To start the server in this Emacs process, stop the existing\nserver or call `\\[server-force-delete]' to forcibly disconnect it.")) :warning) (setq leave-dead t)) (while server-clients (server-delete-client (car server-clients))) (if leave-dead (progn (if (eq t leave-dead) nil (server-log (message "Server stopped"))) (setq server-process nil)) (server-ensure-safe-dir server-dir) (if server-process (progn (server-log (message "Restarting server")))) (let* ((old (default-file-modes))) (unwind-protect (progn (progn (set-default-file-modes 448) 448) (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) (add-hook 'delete-frame-functions 'server-handle-delete-frame) (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) (add-hook 'kill-emacs-hook 'server-force-stop t) (setq server-process (apply (function make-network-process) :name server-name :server t :noquery t :sentinel (function server-sentinel) :filter (function server-process-filter) :use-external-socket t :coding 'raw-text-unix (if server-use-tcp (list :family 'ipv4 :service (or server-port t) :host (or server-host 'local) :plist '(:authenticated nil)) (list :family 'local :service server-file :plist '(:authenticated t))))) (if server-process nil (error "Could not start server process")) (process-put server-process :server-file server-file) (if server-use-tcp (progn (let ((auth-key (server-get-auth-key))) (process-put server-process :auth-key auth-key) (let ((temp-file server-file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (set-buffer-multibyte nil) (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) " " (number-to-string (emacs-pid)) "\n" auth-key)) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))) (let* ((v old)) (progn (set-default-file-modes v) v))))))))
server-start(nil)
funcall-interactively(server-start nil)
call-interactively(server-start record nil)
command-execute(server-start record)
execute-extended-command(nil "server-start" "server-start")
funcall-interactively(execute-extended-command nil "server-start" "server-start")
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
--8<---------------cut here---------------end--------------->8---
next prev parent reply other threads:[~2017-10-30 23:36 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-30 20:02 bug#29070: 26.0.90; emacs-26.0.90 pretest rrandresf
2017-10-30 20:14 ` Noam Postavsky
2017-10-30 21:25 ` rrandresf
2017-10-30 21:38 ` Noam Postavsky
2017-10-30 22:41 ` rrandresf
2017-10-30 23:07 ` Noam Postavsky
2017-10-30 23:36 ` andrés ramírez [this message]
2017-10-30 23:52 ` Noam Postavsky
2017-10-31 0:18 ` andrés ramírez
2017-10-31 0:41 ` Noam Postavsky
2017-10-31 1:59 ` andrés ramírez
2017-10-31 2:11 ` Noam Postavsky
2017-10-31 2:32 ` andrés ramírez
2017-10-31 2:49 ` Noam Postavsky
2017-10-31 3:05 ` andrés ramírez
2017-10-31 3:21 ` Noam Postavsky
2017-10-31 3:27 ` andrés ramírez
2017-10-31 10:30 ` Noam Postavsky
2017-10-31 12:12 ` andrés ramírez
2017-10-31 13:11 ` Andreas Schwab
2017-10-31 13:38 ` andrés ramírez
2017-10-31 14:27 ` Andreas Schwab
2017-10-31 15:18 ` andrés ramírez
2017-10-31 20:21 ` Andreas Schwab
2017-11-01 1:00 ` andrés ramírez
2017-11-01 23:47 ` Noam Postavsky
2017-11-01 20:48 ` Andreas Schwab
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=87o9oob442.fsf@chulpaca \
--to=rrandresf@gmail.com \
--cc=29070@debbugs.gnu.org \
--cc=npostavs@users.sourceforge.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).