macvim-dev / macvim

Vim - the text editor - for macOS
https://macvim.org
Vim License
7.54k stars 685 forks source link

Class MMBackend is implemented in both... #628

Closed ahmedelz closed 6 years ago

ahmedelz commented 6 years ago

I'm running MacVim version 8.0.1420 on macOS High Sierra (10.13.3). When calling gvim from (/Applications/MacVim.app/Contents/bin/gvim), I see the following messages displayed in the Terminal.

objc[15853]: Class MMBackend is implemented in both /Applications/MacVim.app/Contents/bin/../MacOS/Vim (0x105aec8e0) and /Applications/MacVim.app/Contents/MacOS/Vim (0x20879e8e0). One of the two will be used. Which one is undefined.

Any suggestions on what to do to suppress these messages or does this need a new build?

splhack commented 6 years ago

I can't repro it. please try binary release https://github.com/macvim-dev/macvim/releases or https://github.com/macvim-dev/homebrew-macvim

ahmedelz commented 6 years ago

I still can reproduce issue. I was indeed using snapshot build 144 from https://github.com/macvim-dev/macvim/releases. I updated to snapshot build 145 (MacVim version 8.0.1522) and still see the messages.

ahmedelz commented 6 years ago

The message comes out when gvim binary is used to launch MacVim: /Applications/MacVim.app/Contents/bin/gvim

splhack commented 6 years ago

Could you show me what the output looks like of

$ ls -lai /Applications/MacVim.app/Contents
$ ls -lai /Applications/MacVim.app/Contents/bin
$ ls -lai /Applications/MacVim.app/Contents/MacOS
ahmedelz commented 6 years ago
$ ls -ali /Applications/MacVim.app/Contents/
total 136
8592742371 drwxr-xr-x   9 ahmedelz  admin    288 Feb 17 20:04 .
8592742370 drwxr-xr-x   3 ahmedelz  admin     96 Feb 20 09:09 ..
8592742382 drwxr-xr-x   4 ahmedelz  admin    128 Feb 17 20:04 Frameworks
8592742645 -rw-r--r--   1 ahmedelz  admin  65452 Feb 17 20:04 Info.plist
8592742646 drwxr-xr-x   3 ahmedelz  admin     96 Feb 17 20:04 Library
8592742656 drwxr-xr-x   5 ahmedelz  admin    160 Feb 17 20:09 MacOS
8592742660 -rw-r--r--   1 ahmedelz  admin      8 Feb 17 20:04 PkgInfo
8592742661 drwxr-xr-x  94 ahmedelz  admin   3008 Feb 17 20:04 Resources
8592742372 drwxr-xr-x  11 ahmedelz  admin    352 Feb 17 20:09 bin

ls -ali /Applications/MacVim.app/Contents/bin
total 8
8592742372 drwxr-xr-x  11 ahmedelz  admin                 352 Feb 17 20:09 .
8592742371 drwxr-xr-x   9 ahmedelz  admin                 288 Feb 17 20:04 ..
8592742373 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 gview -> mvim
8592742374 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 gvim -> mvim
8592742375 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 gvimdiff -> mvim
8592742376 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 mview -> mvim
8592742377 -rwxr-xr-x   1 ahmedelz  admin                1920 Feb 17 20:01 mvim
8592742378 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 mvimdiff -> mvim
8592742379 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 view -> mvim
8592742380 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 vim -> mvim
8592742381 lrwxr-xr-x   1 ahmedelz  GLOBAL\Domain Users     4 Feb 17 20:09 vimdiff -> mvim

ls -ali /Applications/MacVim.app/Contents/MacOS/
total 7216
8592742656 drwxr-xr-x  5 ahmedelz  admin      160 Feb 17 20:09 .
8592742371 drwxr-xr-x  9 ahmedelz  admin      288 Feb 17 20:04 ..
8592742657 -rwxr-xr-x  1 ahmedelz  admin   429364 Feb 17 20:04 MacVim
8592742659 -rwxr-xr-x  1 ahmedelz  admin  3256684 Feb 17 20:09 Vim
8592742658 -rwxr-xr-x  1 ahmedelz  admin      685 Feb 17 20:04 macvim-askpass
ahmedelz commented 6 years ago

It seems that the links in /Applications/MacVim.app/Contents/bin were created using a different group. I removed the links and recreated them with the same username:group.

$ ls -ali /Applications/MacVim.app/Contents/bin/
total 8
8592742372 drwxr-xr-x  11 ahmedelz  admin   352 Feb 20 10:15 .
8592742371 drwxr-xr-x   9 ahmedelz  admin   288 Feb 17 20:04 ..
8592763426 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:14 gview -> mvim
8592763447 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:14 gvim -> mvim
8592763459 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:14 gvimdiff -> mvim
8592763465 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:15 mview -> mvim
8592742377 -rwxr-xr-x   1 ahmedelz  admin  1920 Feb 17 20:01 mvim
8592763469 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:15 mvimdiff -> mvim
8592763476 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:15 view -> mvim
8592763480 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:15 vim -> mvim
8592763482 lrwxr-xr-x   1 ahmedelz  admin     4 Feb 20 10:15 vimdiff -> mvim

But still:

$ /Applications/MacVim.app/Contents/bin/gvim
objc[7909]: Class MMBackend is implemented in both /Applications/MacVim.app/Contents/bin/../MacOS/Vim (0x107ec9980) and /Applications/MacVim.app/Contents/MacOS/Vim (0x213642980). One of the two will be used. Which one is undefined.
mac-ahmedelz:bin ahmedelz$ objc[7923]: Class MMBackend is implemented in both /Applications/MacVim.app/Contents/bin/../MacOS/Vim (0x10b1d4980) and /Applications/MacVim.app/Contents/MacOS/Vim (0x20c2af980). One of the two will be used. Which one is undefined.
splhack commented 6 years ago

I have no idea what's going on. probably I can't do anything for the issue.

DevByStarlight commented 6 years ago

Also seeing this error on MacVim 8.0.1522 installed via homebrew. Running on OSX Sierra (not High Sierra).

# gvim --version
objc[12210]: Class MMBackend is implemented in both /Apps/MacVim.app/Contents/bin/../MacOS/Vim (0x10babc980) and /Apps/MacVim.app/Contents/MacOS/Vim (0x20d43e980). One of the two will be used. Which one is undefined.
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 18 2018 04:09:42)
macOS version
Included patches: 1-1522
Compiled by root@Traviss-Mac-913.local
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_netterm     +tag_binary
+arabic            +file_in_path      +mouse_sgr         +tag_old_static
+autocmd           +find_in_path      -mouse_sysmouse    -tag_any_white
-autoservername    +float             +mouse_urxvt       -tcl
+balloon_eval      +folding           +mouse_xterm       +termguicolors
+balloon_eval_term -footer            +multi_byte        +terminal
+browse            +fork()            +multi_lang        +terminfo
++builtin_terms    +fullscreen        -mzscheme          +termresponse
+byte_offset       -gettext           +netbeans_intg     +textobjects
+channel           -hangul_input      +num64             +timers
+cindent           +iconv             +odbeditor         +title
+clientserver      +insert_expand     +packages          +toolbar
+clipboard         +job               +path_extra        +transparency
+cmdline_compl     +jumplist          +perl/dyn          +user_commands
+cmdline_hist      +keymap            +persistent_undo   +vertsplit
+cmdline_info      +lambda            +postscript        +virtualedit
+comments          +langmap           +printer           +visual
+conceal           +libcall           +profile           +visualextra
+cryptv            +linebreak         +python/dyn        +viminfo
+cscope            +lispindent        +python3/dyn       +vreplace
+cursorbind        +listcmds          +quickfix          +wildignore
+cursorshape       +localmap          +reltime           +wildmenu
+dialog_con_gui    +lua/dyn           +rightleft         +windows
+diff              +menu              +ruby/dyn          +writebackup
+digraphs          +mksession         +scrollbind        -X11
+dnd               +modify_fname      +signs             -xfontset
-ebcdic            +mouse             +smartindent       +xim
+emacs_tags        +mouseshape        +startuptime       -xpm
+eval              +mouse_dec         +statusline        -xsmp
+ex_extra          -mouse_gpm         -sun_workshop      -xterm_clipboard
+extra_search      -mouse_jsbterm     +syntax            -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: clang   -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv -framework AppKit   -fstack-protector  -L/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE 

Additionally, various operations such as copy/paste echo out the the terminal which launched it.

2018-02-23 10:42:26.987 MacVim[11933:65034] IMKInputSession presentFunctionRowItemTextInputViewWithEndpoint:completionHandler: : [self textInputContext]=0x0 *NO* NSRemoteViewController to client, NSError=Error Domain=NSCocoaErrorDomain Code=4099 "The connection from pid 0 was invalidated from this process." UserInfo={NSDebugDescription=The connection from pid 0 was invalidated from this process.}, com.apple.inputmethod.EmojiFunctionRowItem
2018-02-23 10:42:29.082 MacVim[11933:65034] action newWindow:
2018-02-23 10:46:44.906 MacVim[11933:65034] action paste:
2018-02-23 10:46:57.134 MacVim[11933:65034] action paste:
2018-02-23 10:47:28.117 MacVim[11933:65034] action selectAll:
2018-02-23 10:47:28.396 MacVim[11933:65034] action copy:
2018-02-23 10:47:33.634 MacVim[11933:65034] action selectAll:

Previously was on the 138 release. Upgraded to 144 last month and it started reporting "strange but benign" behavior such as above message which 145 seems to still exhibit.

# brew info macvim
macvim: stable 8.0-145 (bottled), HEAD
GUI for vim, made for macOS
https://github.com/macvim-dev/macvim
/usr/local/Cellar/macvim/8.0-138 (2,139 files, 34.8MB)
  Poured from bottle on 2017-10-16 at 22:47:17
/usr/local/Cellar/macvim/8.0-144 (2,145 files, 34.2MB)
  Poured from bottle on 2018-01-02 at 10:48:17
/usr/local/Cellar/macvim/8.0-144_3 (2,145 files, 34.2MB)
  Poured from bottle on 2018-01-08 at 11:34:07
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/macvim.rb
==> Dependencies
Recommended: cscope ✔, python ✘
Optional: lua ✔, luajit ✘, python3 ✔
==> Requirements
Build: xcode ✔
==> Options
--with-lua
    Build with lua support
--with-luajit
    Build with luajit support
--with-override-system-vim
    Override system vim
--with-python3
    Build with python3 support
--without-cscope
    Build without cscope support
--without-python
    Build without python support
--HEAD
    Install HEAD version

List of installed Vundle plugins:

Plugin 'gmarik/vundle'
Plugin 'tpope/vim-sensible'
Plugin 'bling/vim-airline'
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/syntastic'
Plugin 'kien/ctrlp.vim'
Plugin 'kien/rainbow_parentheses.vim'
Plugin 'tpope/vim-surround'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/nerdtree'
Plugin 'pangloss/vim-javascript'
Plugin 'shutnik/jshint2.vim'
Plugin 'tfnico/vim-gradle'
Plugin 'jakedouglas/exuberant-ctags'
Plugin 'meonlol/javacomplete'
Plugin 'Tpope/vim-dispatch'
Plugin 'OmniSharp/omnisharp-vim'
Plugin 'Shougo/unite.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'mileszs/ack.vim'

Side note: The meonlol/javacomplete and Shougo/unite.vim plugins failed to upgrade in 145. But that might be something with the plugins themselves or my configuration. Mentioning them in case related to the the MMBackend message

trak3r commented 6 years ago

@DevByStarlight while troubleshooting another issue I came across this report and noticed you are using an old dead version of kien/ctrlp.vim the new one is at ctrlpvim/ctrlp.vim you might want to switch.

My possibly-related issue https://github.com/macvim-dev/macvim/issues/642