GNU bug report logs -
#49877
[Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
Previous Next
Reported by: Jacob Faibussowitsch <jacob.fai <at> gmail.com>
Date: Wed, 4 Aug 2021 16:04:01 UTC
Severity: normal
Tags: moreinfo
Merged with 49866
Found in version 28.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 49877 in the body.
You can then email your comments to 49877 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Wed, 04 Aug 2021 16:04:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jacob Faibussowitsch <jacob.fai <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 04 Aug 2021 16:04:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello Emacs Devs,
Full error message:
*ERROR*: No applicable method: frame-creation-function, ((client . #<process server <15>>) (environment "_=/usr/local/bin/emacsclient" "TERM_PROGRAM=iTerm.app" "__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0" "OLDPWD=/Users/jacobfaibussowitsch/NoSync/petsc" "MFEM_DIR=/Users/jacobfaibussowitsch/NoSync/mfem" "REMOTE_USER=jacobfaibussowitsch" "PATH=/usr/local/opt/ccache/libexec:/usr/local/opt/gnu-sed/libexec/gnubin:/Users/jacobfaibussowitsch/NoSync/petscpackages/bin:/Users/jacobfaibussowitsch/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/local/sbin:/Users/jacobfaibussowitsch/.cargo/bin" "PS1=[darwin-c-debug]\\[\\][\\[\\]LOC\\[\\]\\[\\]]\\[\\]\\[\\033[36m\\]$(parse_git_branch)\\[\\033[m\\]@\\[\\033[33;1m\\]\\w\\[\\033[m\\]$ " "XPC_SERVICE_NAME=0" "SHLVL=1" "DISPLAY=/private/tmp/com.apple.launchd.7c2LVKTrQr/org.xquartz:0" "LC_TERMINAL_VERSION=3.4.9beta1" "PETSC_ARCH=arch-darwin-c-debug" "olcftutorialdir=/ccs/hom
How to reproduce:
1. Build latest trunk
2. $ emacsclient -c ./path/to/file
*in another terminal window*
3. $ emacsclient -c
Possible culprit(?):
This recent merge https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6535fd1fa9ac21238a168916249ac59677a6118e <https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6535fd1fa9ac21238a168916249ac59677a6118e> introduced
diff --git a/lisp/frame.el b/lisp/frame.el
index 9b3d120598..8c05ad2fe5 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -36,7 +36,11 @@ as its argument.")
(cl-generic-define-context-rewriter window-system (value)
;; If `value' is a `consp', it's probably an old-style specializer,
;; so just use it, and anyway `eql' isn't very useful on cons cells.
- `(window-system ,(if (consp value) value `(eql ,value))))
+ `(window-system ,(if (consp value) value
+ ;; WARNING: unsure whether this eql expression
+ ;; is actually an eql specializer.
+ ;; Bug #47327
+ `(eql ',value))))
Specifically the last line `(eql ‘,value). Removing the quote from value (i.e. `(eql ,value) ) fixed things on my end. Seems the warning was salient ;)
Best regards,
Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Thu, 05 Aug 2021 11:13:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 49877 <at> debbugs.gnu.org (full text, mbox):
Jacob Faibussowitsch <jacob.fai <at> gmail.com> writes:
> 1. Build latest trunk
> 2. $ emacsclient -c ./path/to/file
> *in another terminal window*
> 3. $ emacsclient -c
I'm unable to reproduce this on the current trunk. Is this with a fresh
checkout (or "make bootstrap")?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) moreinfo.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Thu, 05 Aug 2021 11:13:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Thu, 05 Aug 2021 12:40:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 49877 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello,
> Is this with a fresh
> checkout (or "make bootstrap")?
I’m not sure I follow, what is the difference? I am able to reproduce/build emacs via:
1. git checkout master
2. make clean
3. ./reconfigure.sh (attached)
3. make all
I’ve attached the “reconfigure” script that should produce an identical configuration to mine. I’ve also attached all the info normally generated from “M-x report-emacs-bug”, but bear in mind this was generated after applying my “fix” I listed below.
Best regards,
Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
> On Aug 5, 2021, at 07:12, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
>
> Jacob Faibussowitsch <jacob.fai <at> gmail.com> writes:
>
>> 1. Build latest trunk
>> 2. $ emacsclient -c ./path/to/file
>> *in another terminal window*
>> 3. $ emacsclient -c
>
> I'm unable to reproduce this on the current trunk. Is this with a fresh
> checkout (or "make bootstrap")?
>
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no
[Message part 2 (text/html, inline)]
[reconfigure.sh (application/octet-stream, attachment)]
[Message part 4 (text/html, inline)]
[emacsBugReportInfo.txt (text/plain, attachment)]
[Message part 6 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Fri, 06 Aug 2021 09:46:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 49877 <at> debbugs.gnu.org (full text, mbox):
Jacob Faibussowitsch <jacob.fai <at> gmail.com> writes:
> Is this with a fresh
> checkout (or "make bootstrap")?
>
> I’m not sure I follow, what is the difference?
Sorry, that was unclear. I meant that as an inclusive or, and as
opposed to doing an incremental build.
> I am able to reproduce/build emacs via:
>
> 1. git checkout master
> 2. make clean
> 3. ./reconfigure.sh (attached)
> 3. make all
I'm still not able to reproduce the problem, but a different user
reported exactly the same problem... which then went away. So
something's definitely going on here.
So I've added Stefan to the CCs -- could you take a look at this? It
looks like a possible problem with the recent eql changes, but is
weirdly difficult to reproduce.
diff --git a/lisp/frame.el b/lisp/frame.el
index 9b3d120598..8c05ad2fe5 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -36,7 +36,11 @@ as its argument.")
(cl-generic-define-context-rewriter window-system (value)
;; If `value' is a `consp', it's probably an old-style specializer,
;; so just use it, and anyway `eql' isn't very useful on cons cells.
- `(window-system ,(if (consp value) value `(eql ,value))))
+ `(window-system ,(if (consp value) value
+ ;; WARNING: unsure whether this eql expression
+ ;; is actually an eql specializer.
+ ;; Bug #47327
+ `(eql ',value))))
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Fri, 06 Aug 2021 12:56:01 GMT)
Full text and
rfc822 format available.
Message #19 received at 49877 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> I'm still not able to reproduce the problem, but a different user
> reported exactly the same problem... which then went away. So
> something's definitely going on here.
Ok so on a whim I went and started bisecting my init file, and lo and behold it turns out there is some sort of subtle interaction with doom mode-line. Specifically, I configure it via:
(use-package-select doom-modeline
:after all-the-icons
:hook (after-init . doom-modeline-mode)
:config
(column-number-mode 1)
:custom
(doom-modeline-icon t)
(doom-modeline-project-detection ‘project) <——— commenting out this line fixes the problem
(doom-modeline-major-mode-icon t)
(doom-modeline-major-mode-color-icon t)
(doom-modeline-buffer-state-icon t)
(doom-modeline-buffer-modification-icon t)
(doom-modeline-unicode-fallback nil)
(doom-modeline-modal-icon t)
(doom-modeline-minor-modes nil)
(doom-modeline-indent-info nil)
(doom-modeline-lsp t))
So somehow this new eql change is related to the project root detection? I tried byte-compiling doom modeling again to see if perhaps there is an additional warning triggered, but the only warning emitted was
In doom-modeline--project-root:
doom-modeline-core.el:1193:26: Warning: ‘project-roots’ is an obsolete function (as of 0.3.0); use ‘project-root’ instead.
From this function:
(defun doom-modeline--project-root ()
"Get the path to the root of your project.
Return nil if no project was found."
(or doom-modeline--project-root
(setq doom-modeline--project-root
(pcase doom-modeline-project-detection
('ffip
(when (fboundp 'ffip-get-project-root-directory)
(let ((inhibit-message t))
(ffip-get-project-root-directory))))
('projectile
(when (fboundp 'projectile-project-root)
(projectile-project-root)))
('project
(when (fboundp 'project-current)
(when-let ((project (project-current)))
(car (project-roots project))))))))) <——————— here
Best regards,
Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
> On Aug 6, 2021, at 05:45, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
>
> Jacob Faibussowitsch <jacob.fai <at> gmail.com> writes:
>
>> Is this with a fresh
>> checkout (or "make bootstrap")?
>>
>> I’m not sure I follow, what is the difference?
>
> Sorry, that was unclear. I meant that as an inclusive or, and as
> opposed to doing an incremental build.
>
>> I am able to reproduce/build emacs via:
>>
>> 1. git checkout master
>> 2. make clean
>> 3. ./reconfigure.sh (attached)
>> 3. make all
>
> I'm still not able to reproduce the problem, but a different user
> reported exactly the same problem... which then went away. So
> something's definitely going on here.
>
> So I've added Stefan to the CCs -- could you take a look at this? It
> looks like a possible problem with the recent eql changes, but is
> weirdly difficult to reproduce.
>
> diff --git a/lisp/frame.el b/lisp/frame.el
> index 9b3d120598..8c05ad2fe5 100644
> --- a/lisp/frame.el
> +++ b/lisp/frame.el
> @@ -36,7 +36,11 @@ as its argument.")
> (cl-generic-define-context-rewriter window-system (value)
> ;; If `value' is a `consp', it's probably an old-style specializer,
> ;; so just use it, and anyway `eql' isn't very useful on cons cells.
> - `(window-system ,(if (consp value) value `(eql ,value))))
> + `(window-system ,(if (consp value) value
> + ;; WARNING: unsure whether this eql expression
> + ;; is actually an eql specializer.
> + ;; Bug #47327
> + `(eql ',value))))
>
>
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Mon, 09 Aug 2021 15:54:02 GMT)
Full text and
rfc822 format available.
Message #22 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello Emacs,
Here is one way to reliably produce the behavior, please excuse
if you think the method or tools that are used are inappropriate,
this is the best i could come up with.
Unfortunatly, for me it isn't reproducible on a docker silex/emacs
image based on Debian. It hit me on my NixOS machine, so i wanted
to create a setup that could be shared to this list.
Bisecting the Github mirror source results in the already mentioned
commit with the message header "Evaluate eql specializers"
> 6535fd1fa9ac21238a168916249ac59677a6118e is the first bad commit
The eval string "(prog1 'counsel (require 'counsel))" is the minimum
piece of code that triggers the bug. This is the stripped down expansion
of the form that is generated by the package leaf.el.
Note that counsel is not the only package that produces the error.
Consequently, some package, e.g. 'package does not invoke it.
Edebugging the scenario leads to frame.el at
(setq frame (let ((window-system w)) ; Hack attack!
(frame-creation-function params)))
where the crash happens.
Maybe the attached Dockerfile and brief usage info is of help for
someone to debug it, i do lack the knowledge to make sense of the behavior.
Also a diff of the config.status from my experiments with the debian
image is available, and if requested or needed, i might provide more
information.
Following command lines might be handy to inspect and observe what
is happening.
To create the image
% docker build -t emacs-49877 .
To run the drafted crash
% docker run --rm -it emacs-49877
To inspect in a shell or run emacs inside the container
% docker run --rm -it --entrypoint /bin/sh --name emacs emacs-49877
To show the build log
# source .env && nix log $BINPATH
To inspect the state of build environment
# source .env && nix show-derivation $BINPATH
To observe the bug while running in an emacsclient in one terminal
% docker run --rm -it --entrypoint /bin/sh --name emacs emacs-49877
# result/bin/emacs -Q --daemon
# result/bin/emacsclient -t
And in another terminal, two times, the second will crash
% docker exec -it emacs /emacs-overlay-master/result/bin/emacsclient -t --eval "(prog1 'counsel (require 'counsel))"
C-x 5 0
Cheers,
Christian
[Dockerfile (plain/text, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Mon, 09 Aug 2021 16:00:03 GMT)
Full text and
rfc822 format available.
Message #25 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
... and the Dockerfile in readable mime type ^^
Cheers,
Christian
[Dockerfile (text/plain, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Mon, 09 Aug 2021 23:08:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 49877 <at> debbugs.gnu.org (full text, mbox):
merge 49877 49866
thanks
> I'm still not able to reproduce the problem, but a different user
> reported exactly the same problem... which then went away. So
> something's definitely going on here.
>
> So I've added Stefan to the CCs -- could you take a look at this? It
> looks like a possible problem with the recent eql changes, but is
> weirdly difficult to reproduce.
>
> diff --git a/lisp/frame.el b/lisp/frame.el
> index 9b3d120598..8c05ad2fe5 100644
> --- a/lisp/frame.el
> +++ b/lisp/frame.el
> @@ -36,7 +36,11 @@ as its argument.")
> (cl-generic-define-context-rewriter window-system (value)
> ;; If `value' is a `consp', it's probably an old-style specializer,
> ;; so just use it, and anyway `eql' isn't very useful on cons cells.
> - `(window-system ,(if (consp value) value `(eql ,value))))
> + `(window-system ,(if (consp value) value
> + ;; WARNING: unsure whether this eql expression
> + ;; is actually an eql specializer.
> + ;; Bug #47327
> + `(eql ',value))))
I hope this is the same as bug#49866.
Stefan
Merged 49866 49877.
Request was from
Stefan Monnier <monnier <at> iro.umontreal.ca>
to
control <at> debbugs.gnu.org
.
(Mon, 09 Aug 2021 23:08:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:00:02 GMT)
Full text and
rfc822 format available.
Message #33 received at submit <at> debbugs.gnu.org (full text, mbox):
>
> I hope this is the same as bug#49866.
>
>
> Stefan
It is for me. Commit [1] fixes the error described in bug#49877 while
previous commit [2] still trigggers.
[1]
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=75de09b9de2c800d074e2b65a03483d0d44ce3de
[2]
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=0509f3921b52feb6b1916e4ba64c91a603991bfe
Thanks,
Christian
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:00:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:02:01 GMT)
Full text and
rfc822 format available.
Message #39 received at submit <at> debbugs.gnu.org (full text, mbox):
> It is for me. Commit [1] fixes the error described in bug#49877 while
> previous commit [2] still trigggers.
Dang. I ment bug#49866 of course.
Thanks,
Christian
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:02:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:18:02 GMT)
Full text and
rfc822 format available.
Message #45 received at submit <at> debbugs.gnu.org (full text, mbox):
>> It is for me. Commit [1] fixes the error described in bug#49877 while
>> previous commit [2] still trigggers.
>
> Dang. I ment bug#49866 of course.
It's embarrassing, but for the sake of clarity, indeed i was referring
bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method:
frame-creation-function
Now i stop hasty spamming.
Sorry,
Christian
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 06:18:02 GMT)
Full text and
rfc822 format available.
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Tue, 10 Aug 2021 13:44:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Jacob Faibussowitsch <jacob.fai <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 10 Aug 2021 13:44:01 GMT)
Full text and
rfc822 format available.
Message #53 received at 49877-close <at> debbugs.gnu.org (full text, mbox):
Hi Christian,
Christian Albrecht [2021-08-10 08:14:25] wrote:
>>> It is for me. Commit [1] fixes the error described in bug#49877 while
>>> previous commit [2] still trigggers.
>> Dang. I ment bug#49866 of course.
> It's embarrassing, but for the sake of clarity, indeed i was referring
> bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method:
> frame-creation-function
> Now i stop hasty spamming.
Thanks for confirming. I'm thus closing this bug report.
You still have a few weeks to add a couple more clarifications of your
clarifications, of course (after which, the bug will be "archived") ;-)
Stefan
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Tue, 10 Aug 2021 13:44:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Pankaj Jangid <pankaj <at> codeisgreat.org>
:
bug acknowledged by developer.
(Tue, 10 Aug 2021 13:44:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#49877
; Package
emacs
.
(Tue, 10 Aug 2021 14:26:01 GMT)
Full text and
rfc822 format available.
Message #61 received at 49877-close <at> debbugs.gnu.org (full text, mbox):
>Thanks for confirming. I'm thus closing this bug report.
>You still have a few weeks to add a couple more clarifications of your
>clarifications, of course (after which, the bug will be "archived") ;-)
>
>
> Stefan
>
Thanks for your kind words, they made me laugh.
Cheers,
Christian
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 08 Sep 2021 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 346 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.