MacOS – Why have the apps from the store suddenly started exiting with code 173

macmac-appstoremacos

My iMac is running current OS/X Yosemite 10.11.3. It's a big development machine, not rebooted for some weeks. It has many apps from the Mac app store, among them TextWrangler and Clocks. Suddenly (it worked yesterday) TextWrangler wouldn't launch. The listing from Console showed

2016/02/16 11:12:38.116 com.apple.xpc.launchd[1]: (com.barebones.textwrangler.64672[94023]) Service exited with abnormal code: 173

and it wouldn't do anything else until I threw it in the trash and re-downloaded it from the app store. Then I noticed Clocks wasn't running (it, too, worked yesterday). It gave the same error code 173 and was fixed by re-downloading.

I see from Why do App Store applications transferred into ~/Applications on another machine not launch? that error 173 is caused by the app receipt being invalid.

Is there some reason why receipts for some of my apps from the store would suddenly become invalid?

Best Answer

Yesterday (February 14, 2016), one of the Mac App Store certificates expired and it also was the deadline for developers to include a new intermediate certificate in their app signing chain. The former causes the receipt validation code used by many apps to fail and the latter is the longer term "cure"

Developers were emailed at least two times about this change but didn't have a lot of time to submit apps for review - based on the time it typically takes a review for a Mac App Store update to get processed even if it's approved on the first submission.

Users need to launch each one of their MAS apps while connected to the internet to renew intermediate certificates or deal with apps that need to be re-downloaded.

An app with an invalid receipt should exit with a special code (173), which informs OS X to present a Sign in to use this application on this computer dialog.

However, a separate bug in OS X can prevent this dialog from appearing. In this case, users will see an app which simply exits on launch. (Console.app reports that the app is exiting with code 173, but OS X forgets to show the dialog).

Two scenarios that you should be aware of:

  • If you usually use an app from a location without Internet access, make sure that you launch the app to revalidate it before you head out.
  • If a app is crashing at launch and not showing you the dialog, you've hit an OS X bug. Deleting the app and re-downloading the app from the store should fix the issue.

Horrible situation that Apple is very aware of.