docker / for-mac

Bug reports for Docker Desktop for Mac
https://www.docker.com/products/docker#/mac
2.43k stars 117 forks source link

Crash on macOS Sierra Beta 4: vmstateevent invalid json #64

Closed mazdak closed 8 years ago

mazdak commented 8 years ago

Expected behavior

Actual behavior

Information

Diagnostic ID: 03F36B64-C00E-4BEC-A53C-D6220319EE23 Docker for Mac: 1.12.0 (Build 10871) macOS: Version 10.12 (Build 16A270f) [OK] docker-cli [OK] app [OK] moby-syslog [OK] disk [OK] virtualization [OK] system [OK] menubar [OK] osxfs [OK] db [OK] slirp [OK] moby-console [OK] logs [OK] vmnetd [OK] env [OK] moby [OK] driver.amd64-linux

Steps to reproduce

  1. Without doing anything in particular, an error dialog pops up:

vmstatevent invalid json:

No other info.

tgautier commented 8 years ago

Same problem here with macOS Sierra beta 4 (16A270f)

Docker for Mac doesn't start

Diagnostic ID: 286C9B6C-A49D-4643-B12B-C807C3C58F1F
Docker for Mac: 1.12.0 (Build 10871)
macOS: Version 10.12 (Build 16A270f)
[ERROR]  docker-cli
         docker ps failed
[OK]     app
[OK]     moby-syslog
[OK]     disk
[OK]     virtualization
[OK]     system
[OK]     menubar
[OK]     osxfs
[OK]     db
[OK]     slirp
[OK]     moby-console
[OK]     logs
[OK]     vmnetd
[OK]     env
[OK]     moby
[OK]     driver.amd64-linux
avsm commented 8 years ago

Thanks -- updating to beta4 now to attempt to repro.

saleksandras commented 8 years ago

Same here. Diagnostic ID: E0EC5F4A-4181-4877-A22A-AD1DA289808A

jenswellmeyer commented 8 years ago

Me too: 811625D4-05BA-424C-9BE2-1FCE8C03DE94

simonmd commented 8 years ago

same. 6E55A639-AB04-480D-8F1A-74D7C28712AA

erictt commented 8 years ago

When will be fixed?

toffaletti commented 8 years ago

Docker for Mac needs to be built with Go 1.7rc5 or later for this to be resolved. See:

https://github.com/golang/go/issues/16606 https://github.com/golang/go/commit/da070bed19fb23a8dd1b9f974c7fdf1f247fdba0

bunchjesse commented 8 years ago

@toffaletti Is there any workaround currently or is there a way for me to build D4M locally?

toffaletti commented 8 years ago

You could theoretically rebuild the open source parts on a pre-sierra Mac and replace the binaries inside the Docker.app bundle, but there are parts that seem to be closed source in a private repo: github.com/docker/pinata

erictt commented 8 years ago

@bunchjesse You can refer to this issue: macOS Sierra - Compatibility - Docker for Mac Just simply execute sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist will fixed.

dsheets commented 8 years ago

@stolus @bunchjesse this issue concerns the crashes experienced with Sierra Beta 4 which involve the error popup "vmstateevent invalid json:". We believe this issue to be caused by golang's incorrect binding to Sierra's gettimeofday which changed ABI in Beta 4. Disabling the NTP daemon will likely not stop this crash and will cause uncorrected clock skew in the VM after sleep. There is no workaround until we rebuild our various go components with a golang compiler fixed for Sierra Beta 4. The next stable golang release which is supposed to support Sierra is 1.7 was targeted to be released on August 1 and so should be released any day now. I'm sorry for the inconvenience.

bunchjesse commented 8 years ago

@dsheets Thanks for the thorough explanation. It is no problem at all. I understand that working with prerelease OS bits can be challenging. Keep up the great work. 👍

ghost commented 8 years ago

So.... after I did a fresh clean install and installed Docker for mac again instead of using upgrade from 10.11.6 or using all docker.app from time machine, working fine without issue.

leaxoy commented 8 years ago

+1

bunchjesse commented 8 years ago

@brockbackups When you did the erase install you did install macOS Sierra right? If so, wait for it. D4M might work for a few hours or a day at most but you'll see this error again until Go 1.7 is released and the D4M team is able to rebuild their stack to correct for the incorrect bindings.

ghost commented 8 years ago

Yes did a fresh clean install of macOS Sierra 10.12 DP3 then did a combo update of DP4 and been running with no issues from Docker for mac for about 6 days now

RowanKaag commented 8 years ago

for those who might've expected that this was resolved with 1.12.0-a, you're out of luck. This was still built with Go version: go1.6.3. Next update might involve this new version. Keep up the good work Docker!

mihar commented 8 years ago

Beta 5 has same issue 5D0A0B2A-E88A-4E5D-AD8D-AF98D87D8E99

kwojtaszek commented 8 years ago

It looks like it isn't related to Go support in Sierra. According to changelog support for Sierra was backported to Go 1.6.3.

nevotheless commented 8 years ago

Can confirm on Mac OS 10.12 (16A286a)

The app unexpectedly crashes.

dsheets commented 8 years ago

@kwojtaszek that document is out-of-date. Please see the golang/go links up-thread for more up-to-date information regarding golang on the Sierra Beta.

glynjackson commented 8 years ago

From my understanding, this issue cannot be fixed until the Docker team build against the 1.7 version of Go. I'm aware this is Beta and should not be used in production, but with the update of Mac OS in the very near future can the Docker team give us an update, officially, on this known issue? Thanks in advance.

Related issue: https://github.com/golang/go/issues/16570

jianbin-wei commented 8 years ago

Just FYI that this is still the issue for macOS beta 5.

bunchjesse commented 8 years ago

It's here! It's here! https://blog.golang.org/go1.7

lewisflude commented 8 years ago

Is there any other way to get Docker working in the meantime?

glynjackson commented 8 years ago

@lewisflude I would normally say use Docker Toolbox but that is no longer working on Beta 6 of MacOS for me either! The only way is to NOT use MacOS Sierra. Sierra is almost out tho so fingers crossed the stable version of Docker for Mac is fixed for then!

glynjackson commented 8 years ago

@dsheets Is there a version of Docker for Mac that we can test build against the fixed version of Go coming out? We are running a number of machines on Sierra due to having to test Xcode beta 6.

lewisflude commented 8 years ago

@glynjackson TOUCH WOOD docker-toolbox seems to be working so far (didn't the first time). Lots of uninstalling and reinstalling. Seems the included version of VirtualBox was causing some issues so had to update that.

DustinHigginbotham commented 8 years ago

Now that go 1.7 has been released, when should we expect the Docker For Mac beta to be updated?

dsheets commented 8 years ago

Docker for Mac Beta 23 has been released which fixes this particular issue with our use of golang and macOS Sierra Beta 4+ by building with golang 1.7. Please report other problems with macOS Sierra Beta in another issue thread.

jianbin-wei commented 8 years ago

After upgrading to it, it works fine on my macOS Sierra Beta 5.

mhgs commented 8 years ago

Also on macOS Sierra Beta 6 its working fine. I did had to remove all docker related files to get it up and running, followed these instructions https://therealmarv.com/how-to-fully-uninstall-the-offical-docker-os-x-installation/

jianbin-wei commented 8 years ago

I don't need to remove any docker related files though.

I just start docker, check for upgrade, docker crashes, but the check for upgrade keeps running and finishing the upgrade.

When saying beta 5, I mean public beta 5. I think it is developer beta 6.

macOS serra version 10.12 Beta (16A294a)

nevotheless commented 8 years ago

I need to remove everything it kinda bugged out. (Beta 6)

But FYI Docker has a uninstall option: http://imgur.com/a/yapWX (when you can get into the ui)

Edit: Nevermind, the uninstall feature as well as the article doesn't work for me.

lewisflude commented 8 years ago

I had to do what @mhgs as well as using AppCleaner to manually clean up whatever Docker left behind. It seems that Docker for Mac is working now!

codeofsumit commented 8 years ago

I still got errors after using AppCleaner and the uninstall steps mentioned in the article - but somehow after restarting a couple of times Docker actually started and is working now. I won't restart it ever again :-)

RowanKaag commented 8 years ago

@dsheets I've removed Docker with AppCleaner, downloaded the Beta Channel and I'm facing this:

docker version

Client:
 Version:      1.12.1-rc1
 API version:  1.24
 **Go version:   go1.6.3**
 Git commit:   7889dc7
 Built:        Fri Aug 12 18:35:53 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.1-rc1
 API version:  1.24
 **Go version:   go1.6.3**
 Git commit:   7889dc7
 Built:        Fri Aug 12 18:35:53 2016
 OS/Arch:      linux/amd64
 Experimental: true

Shouldn't this be built with Go 1.7?

toffaletti commented 8 years ago

I've got the same problem, the beta reports being built with go 1.6.3, not go 1.7:

$ docker version
Client:
 Version:      1.12.1-rc1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   7889dc7
 Built:        Fri Aug 12 18:35:53 2016
 OS/Arch:      darwin/amd64
 Experimental: true

This is likely the cause of #202 and all of its duplicates.

dsheets commented 8 years ago

The docker client is still built with 1.6.3 as it uses the official engine build. The Docker for Mac-specific binaries which use golang, com.docker.frontend in particular, have been built with golang 1.7. #202 is a Swift/OS X only issue and so is unlikely related to the golang/Sierra issues.

joepagan commented 8 years ago

I'm on macOS Sierra V7, installed and setup Docker today for the first time, got the same thing.

dsheets commented 8 years ago

@lexbi what version of Docker for Mac are you running? We recommend running Docker for Mac Beta 25 on macOS Sierra Beta.

joepagan commented 8 years ago

Oh sorry good idea, I'm on the stable version 1.12.0, I'll give that a go, thank you!

Edit*: Yes this was the issue, If on macOS Sierra, install beta docker!!

h3smith commented 8 years ago

Getting the "vmstateevent invalid json" myself in macOS Sierra GM. Docker is completely unusable with the GM build of macOS.

dsheets commented 8 years ago

@h3smith what version of Docker for Mac are you running? We recommend running Docker for Mac Beta 25 on macOS Sierra Beta (or GM) while we are preparing the stable release to coincide with the GA of macOS Sierra.

h3smith commented 8 years ago

@dsheets I'll upgrade to the beta and see how it works. Thanks!

tuxity commented 8 years ago

@dsheets Where I can find Beta releases ?

adammcnamara commented 8 years ago

@dsheets Beta 25 only works if it's a clean install on Sierra. The following does not work:

  1. Have Docker < 25 installed
  2. Upgrade to Sierra
  3. Try to run Docker < 25 (corrupts something, appears to be Keychain related)
  4. Upgrade to Docker 25
dsheets commented 8 years ago

The beta channel is downloadable from https://download.docker.com/mac/beta/Docker.dmg. Be sure to uninstall any current installation before installing the beta as we do not yet support/test arbitrary channel change migrations. https://docs.docker.com/docker-for-mac/ has more information about the release channels (and lots of other helpful info).

tuxity commented 8 years ago

@dsheets Thanks! Gonna try right now!

dsheets commented 8 years ago

@adammcnamara that is correct. Betas prior to 25 had severe stability issues caused by some golang incompatibilities (this issue) and a misunderstanding of and slight change in a macOS API (#202). Thanks for pointing out this pitfall. Do you have a suggestion for how we can reduce the damage as both Sierra and Docker for Mac reach stability on 10.12?