Remacs: macOS Mojave Blank window Cocoa error "Failed to initialize color list unarchiver"

Created on 3 Oct 2018  路  20Comments  路  Source: remacs/remacs

Steps to reproduce:

  1. Have macOS Mojave (10.14)
  2. Have libxml2 installed via brew install libxml2
  3. Have libxml2 available for pkgconfig with: export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig"
  4. From remacs root directory run
git pull origin master && rustup update `cat rust-toolchain` && ./autogen.sh && ./configure && make clean && make && make install
  1. Start remacs with src/remacs -q

Error

  1. The GUI is showing a blank window
    skarmavbild 2018-10-03 kl 14 47 08

  2. Terminal error:
    2018-10-03 14:46:58.304 remacs[88047:972789] Failed to initialize color list unarchiver: Error Domain=NSCocoaErrorDomain Code=4864 "*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver" UserInfo={NSDebugDescription=*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver}

Note:

  • This issue is not reproducible on GNU Emacs trunk.
  • Running src/remacs -q -nw causes no issue
bug

Most helpful comment

I successed to make GUI usable by applying stock emacs's commit 7946445 while getting same errors in stderr. Applying more patches should resolve them too.

screen shot 2019-02-04 at 18 56 35

All 20 comments

this probably means we are missing a fix. You should be able to diff the MacOS specific code in the Objective C files against the emacs code and cherry pick.

Seems like this is resolved recently in GNU Emacs trunk here so it just needs to be merged into Remacs..

@cjohansson are you doing that merge?

Sure I can do that

I merged two related commits to remacs from gnu emacs trunk here but I don't think it solves all issues. I get the console error as well on GNU Emacs trunk but I don't get the blank screen. I will search for more commits in GNU Emacs trunk that touches on nextstep logic and see if I can fix this

It's probably fine, but please test Remacs/Emacs with -Q rather than -q to make sure no local configuration is affecting startup.

Didn't know about the -Q command-line argument, however I get identical result. It seems like Remacs is currently broken on macOS 10.14 (when running with a GUI), I have reproduced issue on two separate computers. The bigger issue (white-screen) seems unrelated to the NextStep terminal warning

I do confirm this happens also for me on macOS 10.14.1.

I think this issue will be resolved when more recent commits to GNU Emacs has been merged, I got this issue on GNU Emacs when I rewinded like 6 months months of commits

Applying the linked patch manually did not resolve the issue for me.

I successed to make GUI usable by applying stock emacs's commit 7946445 while getting same errors in stderr. Applying more patches should resolve them too.

screen shot 2019-02-04 at 18 56 35

Sounds great, the error in stderr is still present in GNU Emacs trunk so don't mind that at the moment. I think they have planned fixing it before the 27 release

Oh, I didn't see any error on my Emacs so I misunderstood GNU Emacs already resolved that problem. I recall I'm using Emacs patched for macOS. Thanks for information!

@daichimukai do you want to make a PR from cherry picking that commit?

@shaleh Yes, let me give it a try!

I've merged #1338, many thanks to all especially @cjohansson 馃樃

I just had this issue on High Sierra

~/dev/github.com/remacs/remacs/ (master) $ ./src/remacs
2019-06-11 10:59:20.299 remacs[51054:768173] Failed to initialize color list unarchiver: Error Domain=NSCocoaErrorDomain Code=4864 "*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver" UserInfo={NSDebugDescription=*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver}

I am seeing this on macOS 10.14.6 and using the latest master branch as of Dec 13.

Still seeing the same error:

2019-12-13 15:22:10.160 remacs[2683:4200676] Failed to initialize color list unarchiver: Error Domain=NSCocoaErrorDomain Code=4864 "*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver" UserInfo={NSDebugDescription=*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: non-keyed archive cannot be decoded by NSKeyedUnarchiver}

The error is caused by the fact that current Emacs uses different colour list schema than Remacs. I don't think it's the cause (as you can delete ~/Library/Colors/Emacs.clr and restart remacs - and the error is gone).

I think the problem is a regression introduced somewhere around revert of original fix (https://github.com/remacs/remacs/commit/81a1e183eab743b4f313becf370e47c2b9fab043).

BTW the error is caused by some differences between upstream Emacs and Remacs handling of colours file (~/Library/Colors/Emacs.clr) - if you delete it, error is gone but buffer contents are still not visible.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

haller33 picture haller33  路  4Comments

brotzeit picture brotzeit  路  5Comments

gorakhargosh picture gorakhargosh  路  7Comments

raxod502 picture raxod502  路  4Comments

Fuco1 picture Fuco1  路  3Comments