unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
@ 2021-08-04 16:03 Jacob Faibussowitsch
  2021-08-05 11:12 ` Lars Ingebrigtsen
  2021-08-09 15:44 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 13+ messages in thread
From: Jacob Faibussowitsch @ 2021-08-04 16:03 UTC (permalink / raw)
  To: 49877

[-- Attachment #1: Type: text/plain, Size: 2190 bytes --]

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)


[-- Attachment #2: Type: text/html, Size: 3923 bytes --]

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-04 16:03 bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function Jacob Faibussowitsch
@ 2021-08-05 11:12 ` Lars Ingebrigtsen
  2021-08-05 12:39   ` Jacob Faibussowitsch
  2021-08-09 15:44 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 13+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-05 11:12 UTC (permalink / raw)
  To: Jacob Faibussowitsch; +Cc: 49877

Jacob Faibussowitsch <jacob.fai@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





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-05 11:12 ` Lars Ingebrigtsen
@ 2021-08-05 12:39   ` Jacob Faibussowitsch
  2021-08-06  9:45     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 13+ messages in thread
From: Jacob Faibussowitsch @ 2021-08-05 12:39 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49877

[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]

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@gnus.org> wrote:
> 
> Jacob Faibussowitsch <jacob.fai@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


[-- Attachment #2.1: Type: text/html, Size: 1909 bytes --]

[-- Attachment #2.2: reconfigure.sh --]
[-- Type: application/octet-stream, Size: 616 bytes --]

./configure \
CC=clang \
CXX=clang++ \
CFLAGS="-O3 -march=native -flto=thin -flto-jobs=5 -std=gnu17 -Wno-unused-command-line-argument" \
CXXFLAGS="-O3 -march=native -flto=thin -flto-jobs=5 -std=gnu++17 -Wno-unused-command-line-argument" \
LDFLAGS="-mmacosx-version-min=11.5" \
LIBS="-lpng -ljpeg" \
--with-native-compilation \
--with-gnutls \
--without-x \
--with-xml2 \
--with-dbus \
--with-modules \
--with-json \
--without-ns \
--with-jpeg \
--with-tiff \
--with-gif \
--with-png \
--with-rsvg \
--with-libsystemd \
--with-cairo \
--with-zlib \
--with-libgmp \
--with-toolkit-scroll-bars \
--disable-gcc-warnings

[-- Attachment #2.3: Type: text/html, Size: 249 bytes --]

[-- Attachment #2.4: emacsBugReportInfo.txt --]
[-- Type: text/plain, Size: 7310 bytes --]

In GNU Emacs 28.0.50 (build 5, x86_64-apple-darwin20.6.0)
 of 2021-08-04 built on Jacobs-MBP.fios-router.home
Repository revision: 1910800f93cdc5fd9bc657e7f65e9db9c8e94de0
Repository branch: master
System Description:  macOS 11.5.1

Configured using:
 'configure CC=clang CXX=clang++ 'CFLAGS=-O3 -march=native -flto=thin
 -flto-jobs=5 -std=gnu17 -Wno-unused-command-line-argument'
 'CXXFLAGS=-O3 -march=native -flto=thin -flto-jobs=5 -std=gnu++17
 -Wno-unused-command-line-argument' LDFLAGS=-mmacosx-version-min=11.5
 'LIBS=-lpng -ljpeg' --with-native-compilation --with-gnutls --without-x
 --with-xml2 --with-dbus --with-modules --with-json --without-ns
 --with-jpeg --with-tiff --with-gif --with-png --with-rsvg
 --with-libsystemd --with-cairo --with-zlib --with-libgmp
 --with-toolkit-scroll-bars --disable-gcc-warnings'

Configured features:
ACL GMP GNUTLS JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE
PDUMPER THREADS XIM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  counsel-mode: t
  global-tree-sitter-mode: t
  shell-dirtrack-mode: t
  ivy-mode: t
  ws-butler-mode: t
  filladapt-mode: t
  yas-minor-mode: t
  doom-modeline-mode: t
  midnight-mode: t
  save-place-mode: t
  projectile-mode: t
  simpleclip-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  which-key-mode: t
  global-fancy-dabbrev-mode: t
  fancy-dabbrev-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  override-global-mode: t
  auto-insert-mode: t
  electric-pair-mode: t
  global-dash-fontify-mode: t
  dash-fontify-mode: t
  global-highlight-parentheses-mode: t
  highlight-parentheses-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: yas--auto-fill
  indent-tabs-mode: t
  transient-mark-mode: t
  hs-minor-mode: t

Load-path shadows:
/Users/jacobfaibussowitsch/.emacs.d/elpa/transient-20210723.1601/transient hides /usr/local/share/emacs/28.0.50/lisp/transient
/Users/jacobfaibussowitsch/.emacs.d/misc/elisp/loaddefs hides /usr/local/share/emacs/28.0.50/lisp/loaddefs

Features:
(shadow sort mail-extr emacsbug sendmail finder-inf mm-archive message
rfc822 mml mml-sec epa derived gnus-util rmail rmail-loaddefs mailabbrev
gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils url-http
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw
url-cache url-auth sh-script smie executable js counsel xdg swiper
python tramp-sh pulse make-mode face-remap lsp-diagnostics
lsp-headerline lsp-icons lsp-modeline image etags fileloop generator
vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
vc vc-dispatcher view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-yaml
lsp-xml lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala
lsp-v lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf
lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-perl
lsp-ocaml lsp-nix lsp-nim lsp-markdown lsp-lua lsp-kotlin lsp-json
lsp-javascript lsp-haxe lsp-groovy lsp-hack lsp-go lsp-completion
lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-elixir
lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls
lsp-crystal lsp-cmake lsp-clojure lsp-clangd dom lsp-beancount lsp-bash
lsp-angular lsp-ada lsp-actionscript lsp-mode lsp-protocol xref project
tree-widget wid-edit network-stream puny nsm rmc markdown-mode noutline
outline inline imenu ht filenotify ewoc epg epg-config cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
term/xterm xterm pcase tree-sitter-langs tree-sitter-langs-build
tar-mode arc-mode archive-mode pp tree-sitter-hl tree-sitter
tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get dired-aux dired
dired-loaddefs tsc-obsolete crux tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell pcomplete parse-time
iso8601 time-date ls-lisp format-spec ivy-hydra ivy delsel ivy-faces
ivy-overlay colir color server hideshow ws-butler filladapt
yasnippet-snippets yasnippet tempbuf doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
setup-maintenance midnight setup-movelines setup-org setup-yasnippet
setup-saveplace saveplace setup-projectile ibuffer-projectile projectile
grep compile text-property-search comint ansi-color ibuf-ext ibuffer
ibuffer-loaddefs thingatpt setup-lsp-mode setup-zop-to-char
setup-simpleclip simpleclip setup-tex setup-yaml-mode setup-undo-tree
undo-tree diff setup-clang-format setup-avy avy setup-mwim mwim
setup-crux setup-tree-sitter setup-doom-modeline all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons setup-magit setup-which-key
which-key setup-tramp setup-completion fancy-dabbrev popup dabbrev
setup-hl-line+ hl-line+ hl-line setup-highlight-parantheses
setup-filladapt setup-whitespace smart-hungry-delete setup-hideshow
setup-ibuffer ibuf-macs setup-search deadgrep spinner setup-hydra hydra
ring lv setup-tags advice setup-diminish diminish setup-bindings edmacro
kmacro jka-compr setup-packages auto-compile packed use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core general
autoinsert elec-pair comp regexp-opt comp-cstr warnings rx cl-extra
help-mode util f dash s update-autoloads custom-file
highlight-parentheses cus-load abyss-theme tex-site info tool-bar
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib early-init iso-transl tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote threads kqueue lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 731286 203037)
 (symbols 48 41570 17)
 (strings 32 180168 93407)
 (string-bytes 1 5763574)
 (vectors 16 80115)
 (vector-slots 8 1571087 156502)
 (floats 8 693 785)
 (intervals 56 36986 9155)
 (buffers 992 29))

[-- Attachment #2.5: Type: text/html, Size: 1228 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-05 12:39   ` Jacob Faibussowitsch
@ 2021-08-06  9:45     ` Lars Ingebrigtsen
  2021-08-06 12:55       ` Jacob Faibussowitsch
  2021-08-09 23:07       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 13+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-06  9:45 UTC (permalink / raw)
  To: Jacob Faibussowitsch; +Cc: Stefan Monnier, 49877

Jacob Faibussowitsch <jacob.fai@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





^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-06  9:45     ` Lars Ingebrigtsen
@ 2021-08-06 12:55       ` Jacob Faibussowitsch
  2021-08-09 23:07       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 13+ messages in thread
From: Jacob Faibussowitsch @ 2021-08-06 12:55 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Stefan Monnier, 49877

[-- Attachment #1: Type: text/plain, Size: 3874 bytes --]

> 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@gnus.org> wrote:
> 
> Jacob Faibussowitsch <jacob.fai@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


[-- Attachment #2: Type: text/html, Size: 7099 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-04 16:03 bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function Jacob Faibussowitsch
  2021-08-05 11:12 ` Lars Ingebrigtsen
@ 2021-08-09 15:44 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-09 15:57   ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-09 15:44 UTC (permalink / raw)
  To: 49877

[-- Attachment #1: Type: text/plain, Size: 2232 bytes --]

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


[-- Attachment #2: Dockerfile --]
[-- Type: plain/text, Size: 1660 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-09 15:44 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-09 15:57   ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-09 15:57 UTC (permalink / raw)
  To: 49877

[-- Attachment #1: Type: text/plain, Size: 69 bytes --]


... and the Dockerfile in readable mime type ^^

Cheers,
Christian


[-- Attachment #2: Dockerfile --]
[-- Type: text/plain, Size: 1660 bytes --]

FROM nixos/nix

RUN nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
RUN nix-channel --update
RUN nix-env -i bash

RUN wget https://github.com/nix-community/emacs-overlay/archive/master.tar.gz \
  && tar xf master.tar.gz

WORKDIR /emacs-overlay-master

RUN echo -e "{ pkgs ? (import <nixpkgs> { overlays = [ (import ./.) ]; }) }:\n\n\
  let\n\
    emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacsGit-nox).emacsWithPackages;\n\
  in\n\
    emacsWithPackages (epkgs: (with epkgs.elpaPackages; [ counsel ]))\n\
" >> emacs.nix

RUN nix-build ./emacs.nix

RUN echo -e "\
  export EMACS=$(awk '/exec/ {print $2}' result/bin/emacs)\n\
  export EMACSCLIENT=$(awk '/exec/ {print $2}' result/bin/emacsclient)\n\
  export ELPA=$(awk -F= '/export emacsWithPackages_siteLisp=/ {print $2}' result/bin/emacs)/elpa\n\
" >> .env

RUN source .env && echo -e "\
  export IVY=$(find $ELPA -type d -name ivy*)\n\
  export COUNSEL=$(find $ELPA -type d -name counsel*)\n\
  export SWIPER=$(find $ELPA -type d -name swiper*)\n\
  export LISPPATH=$(realpath $(dirname $EMACS)/../share/emacs/28.0.50/lisp)\n\
  export BINPATH=$(dirname $EMACS)\n\
" >> .env

RUN echo -e "\
  source .env\n\
  export PATH=\$BINPATH\n\
  export EMACSLOADPATH=\$LISPPATH:\$IVY:\$COUNSEL:\$SWIPER\n\
  unset EMACS EMACSCLIENT ELPA IVY COUNSEL SWIPER LISPPATH BINPATH\n\
  export ALTERNATE_EDITOR=\n\
  export TERM=xterm\n\
  emacs --version\n\
  emacs -Q --bg-daemon --eval \"(prog1 'counsel (require 'counsel))\"\n\
  emacsclient -t --eval \"(progn (save-buffers-kill-emacs))\"\n\
" >> emacs.sh

RUN chmod 755 emacs.sh

ENTRYPOINT bash -c "exec -c /emacs-overlay-master/emacs.sh"

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-06  9:45     ` Lars Ingebrigtsen
  2021-08-06 12:55       ` Jacob Faibussowitsch
@ 2021-08-09 23:07       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-10  5:53         ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-09 23:07 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49877, Jacob Faibussowitsch

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






^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-09 23:07       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-10  5:53         ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-10  6:00           ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-10  5:53 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: larsi, 49877, jacob.fai


>
> 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





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-10  5:53         ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-10  6:00           ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-10  6:14             ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-10  6:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: larsi, 49877, jacob.fai


> 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






^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-10  6:00           ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-10  6:14             ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-10 13:43               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-10  6:14 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: larsi, 49877, jacob.fai


>> 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





^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-10  6:14             ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-10 13:43               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-08-10 14:25                 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-10 13:43 UTC (permalink / raw)
  To: Christian Albrecht; +Cc: Lars Ingebrigtsen, 49877-close, Jacob Faibussowitsch

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






^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function
  2021-08-10 13:43               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-08-10 14:25                 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 13+ messages in thread
From: Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-08-10 14:25 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Lars Ingebrigtsen, 49877-close, Jacob Faibussowitsch



>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





^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-08-10 14:25 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 16:03 bug#49877: [Emacs 28.0.50 Trunk] *ERROR*: No applicable method: frame-creation-function Jacob Faibussowitsch
2021-08-05 11:12 ` Lars Ingebrigtsen
2021-08-05 12:39   ` Jacob Faibussowitsch
2021-08-06  9:45     ` Lars Ingebrigtsen
2021-08-06 12:55       ` Jacob Faibussowitsch
2021-08-09 23:07       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-10  5:53         ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-10  6:00           ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-10  6:14             ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-10 13:43               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-10 14:25                 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-09 15:44 ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-09 15:57   ` Christian Albrecht via Bug reports for GNU Emacs, the Swiss army knife of text editors

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).