Signal-desktop: Feature request: Show better error when Signal on read-only volume

Created on 31 Jan 2019  Â·  23Comments  Â·  Source: signalapp/Signal-Desktop

Bug Description

Was having an issue with the latest update of Signal where app was not working at all. Found v1.19.0 and having been running that somewhat successfully. As of today, it's now giving me "Unhandled Promise Rejection" upon start-up. If I start it again immediately, it'll launch for a few minutes before crashing.

Steps to Reproduce

  1. Launch App
  2. Click Ok on "unhandled promise rejection"
  3. Relaunch app
  4. Send a message. Read a message...
  5. Less than five minutes later, app crashed

Actual Result:

App crashes

Expected Result:

App should not crash.

Screenshots

Platform Info

Signal Version:

1.19.0

Operating System:

OS X 10.13.6

Linked Device Version:

Android v9 on Pixel 2

Link to Debug Log

https://debuglogs.org/3152663068cc00028b120622c29aae0872f5d121934a09515207f5def2ea7c64


Error Reports

Promise Rejection Error: 
Unhandled Promise Rejection
Error: Cannot update while running on a read-only volume. The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory. See https://github.com/Squirrel/Squirrel.Mac/issues/182 for more information.
    at MacUpdater.doDownloadUpdate (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/out/MacUpdater.js:167:7)
    at /private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:361:25
    at Generator.next (<anonymous>)
From previous event:
    at MacUpdater.downloadUpdate (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:539:7)
    at /private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:337:49
From previous event:
    at MacUpdater.doCheckForUpdates (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:502:7)
    at /private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:279:25
    at Generator.next (<anonymous>)
    at runCallback (timers.js:696:18)
    at tryOnImmediate (timers.js:667:5)
    at processImmediate (timers.js:649:5)
From previous event:
    at MacUpdater._checkForUpdates (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:433:7)
    at MacUpdater.checkForUpdates (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:217:35)
    at checkForUpdates (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/app/auto_update.js:22:15)
    at Object.initialize (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/app/auto_update.js:78:3)
    at App.app.on (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/38F75C15-D450-4989-9C4A-EFC8117662E5/d/Signal.app/Contents/Resources/app.asar/main.js:691:14)

Upon viewing Debug log, received this message and app crashed:

Unhandled Promise Rejection
Error: Object has been destroyed
    at WebContents.send (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/C7F0405C-ED90-4AF1-9A5F-AF53854A08C9/d/Signal.app/Contents/Resources/electron.asar/browser/api/web-contents.js:100:15)
    at EventEmitter.ipcMain.on (/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/C7F0405C-ED90-4AF1-9A5F-AF53854A08C9/d/Signal.app/Contents/Resources/app.asar/app/sql_channel.js:39:20)
Feature Request

Most helpful comment

Okay, it looks like something is going wrong with your machine - copying the file via Finder is not removing a key 'quarantine' file attribute:

First you can verify the problem with :

sudo xattr /Applications/Signal.app

You should get: com.apple.quarantine

You can remove this manually with:

sudo xattr -r -d com.apple.quarantine /Applications/Signal.app

(via https://support.mokastudio.com/support/solutions/articles/6000184826-macos-sierra-10-12-app-translocation-gatekeeper-path-randomization)

All 23 comments

The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory

The error should go away if you use Finder to move Signal.app into /Applications or out of it, then back into it if it's already there.

Unfortunately, that doesn't resolve the issue. Nor does uninstalling and downloading v1.20.0. Signal is in /Applications but the error is still occurring.

When you download v1.20.0 can you tell me the exact set of steps you take to install the app?

Sure. I have tried it two different ways:

  • Download "Signal for Mac" from: https://signal.org/download/
  • It goes into /download folder
  • Move zip file into /applications
  • Double click to run, click 'open', attempt to launch

I've also tried it where I extract the zip file while it's still in the /download and then move the app itself into /applications.

Hm. How exactly are your moving the file from ~/Downloads into /Applications?

Just dragging it over.

On Fri, Feb 1, 2019 at 10:55 AM Scott Nonnenberg notifications@github.com
wrote:

Hm. How exactly are your moving the file from ~/Downloads into
/Applications?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-459829158,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJsszpzsV3CxImpNnKykVTALhYDfbW7tks5vJI2dgaJpZM4adI3X
.

In Finder?

Yes.

On Fri, Feb 1, 2019, 11:20 AM Scott Nonnenberg <[email protected]
wrote:

In Finder?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-459836980,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJsszqday15qyjEgPBtG5lBQROS9LZd5ks5vJJNjgaJpZM4adI3X
.

Okay, it looks like something is going wrong with your machine - copying the file via Finder is not removing a key 'quarantine' file attribute:

First you can verify the problem with :

sudo xattr /Applications/Signal.app

You should get: com.apple.quarantine

You can remove this manually with:

sudo xattr -r -d com.apple.quarantine /Applications/Signal.app

(via https://support.mokastudio.com/support/solutions/articles/6000184826-macos-sierra-10-12-app-translocation-gatekeeper-path-randomization)

I did this. You are right that I received com.apple.quarantine and removed
it manually. Unfortunately, it did not resolve the issue. I tried
restarting and installing all mac updates on my machine as well. Still
receiving the same error message and crash pattern.

On Fri, Feb 1, 2019 at 12:44 PM Scott Nonnenberg notifications@github.com
wrote:

Okay, it looks like something is going wrong with your machine - copying
the file via Finder is not removing a key 'quarantine' file attribute:

First you can verify the problem with :

sudo xattr /Applications/Signal.app

You should get: com.apple.quarantine

You can remove this manually with:

sudo xattr -r -d com.apple.quarantine /Applications/Signal.app

(via
https://support.mokastudio.com/support/solutions/articles/6000184826-macos-sierra-10-12-app-translocation-gatekeeper-path-randomization
)

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-459861478,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJssznfUHzCEWmvYq_fD_aAXtE0NI6Wfks5vJKcUgaJpZM4adI3X
.

I have to imagine that you're now getting a different error. Please let me know what that new error is.

Here it is:
Unhandled Promise Rejection
Error: Cannot update while running on a read-only volume. The application
is on a read-only volume. Please move the application and try again. If
you're on macOS Sierra or later, you'll need to move the application out of
the Downloads directory. See
https://github.com/Squirrel/Squirrel.Mac/issues/182 for more information.
at MacUpdater.doDownloadUpdate
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/MacUpdater.js:167:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:361:25
at Generator.next ()
From previous event:
at MacUpdater.downloadUpdate
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:539:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:337:49
From previous event:
at MacUpdater.doCheckForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:502:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:279:25
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at MacUpdater._checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:433:7)
at MacUpdater.checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:217:35)
at checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/app/auto_update.js:22:15)
at Object.initialize
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/app/auto_update.js:78:3)
at App.app.on
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/main.js:691:14)

On Fri, Feb 1, 2019 at 4:36 PM Scott Nonnenberg notifications@github.com
wrote:

I have to imagine that you're now getting a different error. Please let me
know what that new error is.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-459915001,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJsszuWn85G9pxzmbgmvZTgBw6J9P08yks5vJN2TgaJpZM4adI3X
.

Any additional insights on this? Unfortunately the crashes are getting more
common.

On Fri, Feb 1, 2019 at 4:42 PM Jessica M. jessica.mckenna@gmail.com wrote:

Here it is:
Unhandled Promise Rejection
Error: Cannot update while running on a read-only volume. The application
is on a read-only volume. Please move the application and try again. If
you're on macOS Sierra or later, you'll need to move the application out of
the Downloads directory. See
https://github.com/Squirrel/Squirrel.Mac/issues/182 for more information.
at MacUpdater.doDownloadUpdate
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/MacUpdater.js:167:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:361:25
at Generator.next ()
From previous event:
at MacUpdater.downloadUpdate
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:539:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:337:49
From previous event:
at MacUpdater.doCheckForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:502:7)
at
/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:279:25
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at MacUpdater._checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:433:7)
at MacUpdater.checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35
PM.app/Contents/Resources/app.asar/node_modules/electron-updater/src/AppUpdater.ts:217:35)
at checkForUpdates
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/app/auto_update.js:22:15)
at Object.initialize
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/app/auto_update.js:78:3)
at App.app.on
(/private/var/folders/t7/d7x6w6rs4jn9npzqtmbrps5x8xmzmv/T/AppTranslocation/CD6F7518-C372-46E4-B7E0-E44D3239D48A/d/Signal
2.39.35 PM.app/Contents/Resources/app.asar/main.js:691:14)

On Fri, Feb 1, 2019 at 4:36 PM Scott Nonnenberg notifications@github.com
wrote:

I have to imagine that you're now getting a different error. Please let
me know what that new error is.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-459915001,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJsszuWn85G9pxzmbgmvZTgBw6J9P08yks5vJN2TgaJpZM4adI3X
.

Anything you can do to track down why Signal is still being quarantined on your machine would really, really help. That would help us help other users who run into this despite following all the workaround steps we're aware of at the moment.

I was getting the same error... Out of the blue. I closed the app, did something else, did not restart or updated anything and when I opened it again, this error happened - the one about read-only volume, etc. Fortunately, for me, this fixed it:

sudo xattr -r -d com.apple.quarantine /Applications/Signal.app

PS: Moving out of Applications folder and moving back in did nothing for me.

Mine is still broken and is no longer usable on my desktop. I've given up.

On Thu, Mar 21, 2019 at 1:43 PM Nicholas Amorim notifications@github.com
wrote:

I was getting the same error... Out of the blue. I closed the app, did
something else, did not restart or updated anything and when I opened it
again, this error happened - the one about read-only volume, etc.
Fortunately, for me, this fixed:

sudo xattr -r -d com.apple.quarantine /Applications/Signal.app

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096#issuecomment-475394638,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJsszuZs8o6y5SSBFPPRWQmT8TDZxZ00ks5vY-7jgaJpZM4adI3X
.

This is very basic, of course but trying the commands listed here http://osxdaily.com/2017/05/01/check-xprotect-version-mac/

I didn't really get any insight. Last update on the file was December 7, so at least according to this, Signal shouldn't have been blocked in the 2 hours interval that I didn't use yesterday.

https://superuser.com/questions/28384/what-should-i-do-about-com-apple-quarantine

This attribute is added so that it can ask for user confirmation the first time the downloaded program is run, to help stop malware. Upon confirmation the attribute should be removed automatically, and then the program will run normally.

It's almost like it _forgets_ that you clicked Open on the first time.

Does Signal updates automatically? Maybe that could be causing something behind the scenes?

Edit: It just so happens that my Signal just asked to update. Updated and no trouble when re-launching it.

I just helped debug this error on High Sierra (10.13.4). When I did "get info" on the Signal app, it showed as being stored on iCloud -> Desktop. Dragging the app from iCloud to the local Applications folder gave a prompt about "this will remove the item from your other iCloud devices" or something to that effect.
After the move, Signal auto updated and worked correctly.

@radii What error did you see exactly that led you to 'debug' it? What version were you on before, and what are you on now?

Just started receiving this same error message yesterday out of the blue. I did not do an update. MacOS version 10.14.5, latest signal release v1.25.0. I deleted Signal out of /Applications and then downloaded new from the website. New download app giving same error.

And yes, sudo xattr /Applications/Signal.app returns com.apple.quarantine

@radii What error did you see exactly that led you to 'debug' it? What version were you on before, and what are you on now?

@scottnonnenberg sorry, I didn't make a note of the Signal version in question.

the Mac user had been using Signal desktop for at least a month, then one morning they started Signal and got the error message "Unhandled Promise Rejection \n Error: Cannot update while running on a read-only volume." with a huge backtrace as shown earlier in this thread. The error links to the Squirrel bug about a similar problem but doesn't link here at all as far as I could tell.

I'd be very interested in you find a resolution to this issue. I've been
unable to and signal is still unusable on my macbook pro.

On Sat, Jun 1, 2019 at 11:50 AM radii notifications@github.com wrote:

@radii https://github.com/radii What error did you see exactly that led
you to 'debug' it? What version were you on before, and what are you on now?

@scottnonnenberg https://github.com/scottnonnenberg sorry, I didn't
make a note of the Signal version in question.

the Mac user had been using Signal desktop for at least a month, then one
morning they started Signal and got the error message "Unhandled Promise
Rejection \n Error: Cannot update while running on a read-only volume."
with a huge backtrace as shown earlier in this thread. The error links to
the Squirrel bug about a similar problem but doesn't link here at all as
far as I could tell.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/signalapp/Signal-Desktop/issues/3096?email_source=notifications&email_token=ACNSZTUH7WKENY4C4WEG4CTPYLAFPA5CNFSM4GTURXL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXGORA#issuecomment-497968964,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACNSZTUHO6GTXVHR6SSLETTPYLAFPANCNFSM4GTURXLQ
.

@radii @jm0421 Please treat this almost like an entirely new bug. Lots has changed in that part of the code, and we do expect different things to happen. To summarize: you're running v1.25.0 and it wants to update but you get a big ugly dialog with something like the same stack trace as before? Please post that stacktrace when you see it. Or the dialog that pops up if it's not a stacktrace.

Was this page helpful?
0 / 5 - 0 ratings