Signal-desktop: After updating to v1.14.2, Signal is stuck on the screen with the message Optimizing application...

Created on 19 Jul 2018  路  16Comments  路  Source: signalapp/Signal-Desktop

  • [X] I have searched open and closed issues for duplicates

    Bug description

After updating to v1.14.2, signal is stuck on Optimizing application... screen. It has been a few hours already that I have the application open. Should I wait more?

Steps to reproduce

  1. open the application

Actual result: see screenshot
Expected result: show app home screen

Screenshots

screenshot at 2018-07-19 17-50-57

Platform info

Signal version: v1.14.2

Operating System:
Linux Mint 19 Tara
Linux version 4.15.0-24-generic (buildd@lgw01-amd64-056) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #26-Ubuntu SMP Wed Jun 13 08:44:47 UTC 2018

Linked device version: 4.23.4

Link to debug log

https://debuglogs.org/9ad743bbcce39e488a6fc05412f91e665724f300b70208315f8b54cb7a8c275f

Bug Need Information

Most helpful comment

i have the same problem, and it persists after upgrading to 1.14.3. this is what i get on the command line:

NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
userData: /home/tick/.config/Signal
making app single instance
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"app ready","time":"2018-07-19T18:59:22.286Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Ensure attachments directory exists","time":"2018-07-19T18:59:22.290Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":1276,\"height\":1252,\"minWidth\":640,\"minHeight\":360,\"autoHideMenuBar\":false,\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\",\"maximized\":false,\"x\":557,\"y\":128}","time":"2018-07-19T18:59:22.293Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"width\":1276,\"height\":1252,\"x\":561,\"y\":128}","time":"2018-07-19T18:59:22.861Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"pre-main prep time: 2 ms","time":"2018-07-19T18:59:23.700Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Build expires:  2018-10-17T18:09:27.000Z","time":"2018-07-19T18:59:23.726Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"background page reloaded","time":"2018-07-19T18:59:23.748Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"environment: production","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Start IndexedDB migrations","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Run migrations on database with attachment data","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Database status {\"firstMigrationVersion\":12,\"lastMigrationVersion\":18,\"databaseVersion\":18,\"isAlreadyUpgraded\":true}","time":"2018-07-19T18:59:23.825Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Storage fetch","time":"2018-07-19T18:59:23.826Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":50,"msg":"Top-level unhandled promise rejection: TypeError: window.enableSpellCheck is not a function","time":"2018-07-19T18:59:23.854Z","v":0}

All 16 comments

What version were you on before? Also, if you start it from the command line, you'll be able to see what it prints to the log in real-time. Perhaps there is a useful error there?

i have the same problem, and it persists after upgrading to 1.14.3. this is what i get on the command line:

NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
userData: /home/tick/.config/Signal
making app single instance
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"app ready","time":"2018-07-19T18:59:22.286Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Ensure attachments directory exists","time":"2018-07-19T18:59:22.290Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":1276,\"height\":1252,\"minWidth\":640,\"minHeight\":360,\"autoHideMenuBar\":false,\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\",\"maximized\":false,\"x\":557,\"y\":128}","time":"2018-07-19T18:59:22.293Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"width\":1276,\"height\":1252,\"x\":561,\"y\":128}","time":"2018-07-19T18:59:22.861Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"pre-main prep time: 2 ms","time":"2018-07-19T18:59:23.700Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Build expires:  2018-10-17T18:09:27.000Z","time":"2018-07-19T18:59:23.726Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"background page reloaded","time":"2018-07-19T18:59:23.748Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"environment: production","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Start IndexedDB migrations","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Run migrations on database with attachment data","time":"2018-07-19T18:59:23.749Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Database status {\"firstMigrationVersion\":12,\"lastMigrationVersion\":18,\"databaseVersion\":18,\"isAlreadyUpgraded\":true}","time":"2018-07-19T18:59:23.825Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":30,"msg":"Storage fetch","time":"2018-07-19T18:59:23.826Z","v":0}
{"name":"log","hostname":"tack","pid":16650,"level":50,"msg":"Top-level unhandled promise rejection: TypeError: window.enableSpellCheck is not a function","time":"2018-07-19T18:59:23.854Z","v":0}

I suspect that this is the same issue as https://github.com/signalapp/Signal-Desktop/issues/1619

Is your /tmp mounted as noexec?

yes, /tmp mounted noexec for security reasons.

when i remount /tmp exec, signal starts working again. but as soon as i revert, it keeps hanging at the optimizing step.

Same behavior with $HOME/.cache/google-chrome/Default mounted tmpfs noexec.

Same here on 1.14.3 with /tmp and noexec.
mount -o remount,exec /tmp fixes the issue temporarily...

Not quite the same here: mount -o remount,exec /tmp doesn't fix this for me, signal still hangs in the "Optimizing application..." step. Running 1.14.3 on Debian jessie:

#> grep '/tmp' /proc/mounts
tmpfs /tmp tmpfs rw,relatime 0 0

#> /opt/signal/signal-desktop
NODE_ENV production
NODE_CONFIG_DIR /opt/x86_64-linux-gnu/ows-signal-1.14.3/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
userData: /home/thias/.config/Signal
making app single instance
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"app ready","time":"2018-07-20T08:04:37.830Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Ensure attachments directory exists","time":"2018-07-20T08:04:37.837Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":878,\"height\":880,\"minWidth\":640,\"minHeight\":360,\"autoHideMenuBar\":false,\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"preload\":\"/opt/x86_64-linux-gnu/ows-signal-1.14.3/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/x86_64-linux-gnu/ows-signal-1.14.3/resources/app.asar/images/icon_256.png\",\"maximized\":false,\"x\":0,\"y\":18}","time":"2018-07-20T08:04:37.842Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"width\":1598,\"height\":880,\"x\":0,\"y\":18}","time":"2018-07-20T08:04:38.390Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"pre-main prep time: 3 ms","time":"2018-07-20T08:04:39.208Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Build expires:  2018-10-17T18:09:27.000Z","time":"2018-07-20T08:04:39.242Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"background page reloaded","time":"2018-07-20T08:04:39.278Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"environment: production","time":"2018-07-20T08:04:39.279Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Start IndexedDB migrations","time":"2018-07-20T08:04:39.280Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Run migrations on database with attachment data","time":"2018-07-20T08:04:39.280Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Database status {\"firstMigrationVersion\":12,\"lastMigrationVersion\":18,\"databaseVersion\":18,\"isAlreadyUpgraded\":true}","time":"2018-07-20T08:04:39.336Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Storage fetch","time":"2018-07-20T08:04:39.336Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":50,"msg":"Top-level unhandled promise rejection: TypeError: window.enableSpellCheck is not a function","time":"2018-07-20T08:04:39.355Z","v":0}
{"name":"log","hostname":"jarvis","pid":23468,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"width\":1598,\"height\":880,\"x\":0,\"y\":18}","time":"2018-07-20T08:04:43.156Z","v":0}

Additional infos:

  • the filesystem holding $HOME is also mounted without noexec (i.e. $HOME/.cache/google-chrome/Default isn't noexec)
  • the previous version of signal was 1.12 (i.e. updated from 1.12 to 1.14.3)

mount -o remount,noexec /tmp fixed the issue for me
remounting it back with mount -o remount,exec /tmp makes Signal stuck again at Optimizing application..
Same behavior is with 1.14.3.
Before 1.14.2 I was using 1.14.1.

Here is the log:

$: /opt/Signal/signal-desktop 
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
userData: /home/vit/.config/Signal
making app single instance
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"app ready","time":"2018-07-20T13:58:30.524Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Ensure attachments directory exists","time":"2018-07-20T13:58:30.528Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":1117,\"height\":704,\"minWidth\":640,\"minHeight\":360,\"autoHideMenuBar\":false,\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\",\"maximized\":false,\"x\":94,\"y\":254}","time":"2018-07-20T13:58:30.531Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"width\":1117,\"height\":704,\"x\":97,\"y\":282}","time":"2018-07-20T13:58:31.116Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"pre-main prep time: 2 ms","time":"2018-07-20T13:58:31.451Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Build expires:  2018-10-17T18:09:27.000Z","time":"2018-07-20T13:58:31.474Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"background page reloaded","time":"2018-07-20T13:58:31.492Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"environment: production","time":"2018-07-20T13:58:31.492Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Start IndexedDB migrations","time":"2018-07-20T13:58:31.493Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Run migrations on database with attachment data","time":"2018-07-20T13:58:31.493Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Database status {\"firstMigrationVersion\":12,\"lastMigrationVersion\":18,\"databaseVersion\":18,\"isAlreadyUpgraded\":true}","time":"2018-07-20T13:58:31.550Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":30,"msg":"Storage fetch","time":"2018-07-20T13:58:31.550Z","v":0}
{"name":"log","hostname":"exMachina","pid":18432,"level":50,"msg":"Top-level unhandled promise rejection: TypeError: window.enableSpellCheck is not a function","time":"2018-07-20T13:58:31.572Z","v":0}

for what it's worth, i had this problem as well but /tmp was not mounted noexec. Signal is running from the snap package so who knows what that does to /tmp. I can also confirm upgrading to 1.15.2 fixes the problem.

I have same issue on:
OSX 10.14.1
Signal: 1.19.0

I also have what appears to be the same issue on Mac OSX 10.14.2 and Signal 1.19.0

I have not done anything complex or more than simply running the installer but have had this issue for 4 or 5 days. I've tried rebooting, uninstalling and re-installing and get the same issue.

@nobesnickr Do you see any error message when you start the ap? If you go to View -> Toggle Developer Tools what do you see in the console?

OSX, Signal 1.20.0, same issue here after the latest OS update (10.14.3).
Console error log shows:
```ERROR 2019-01-25T14:11:44.668Z Top-level unhandled promise rejection: Error: Error received from SQL channel job 1 (getAllItems): Error: SQLITE_CORRUPT: database disk image is malformed
Uncaught (in promise) Error: Error received from SQL channel job 1 (getAllItems): Error: SQLITE_CORRUPT: database disk image is malformed
at EventEmitter.ipcRenderer.on (/Applications/Signal.app/Contents/Resources/app.asar/js/modules/data.js:296)
at EventEmitter.emit (/Applications/Signal.app/Contents/Resources/app.asar/events.js:182)


Attempting to open settings (to clear data) results in:

```ERROR 2019-01-25T14:14:11.051Z Top-level unhandled promise rejection: TypeError: Cannot read property 'getThemeSetting' of undefined
/Applications/Signal.app/Contents/Resources/app.asar/preload.js:175 Uncaught (in promise) TypeError: Cannot read property 'getThemeSetting' of undefined
    at EventEmitter.ipc.on (/Applications/Signal.app/Contents/Resources/app.asar/preload.js:175)
    at EventEmitter.emit (events.js:182)

(and no way to clear the data, which is going to make this a lot harder for most users to fix.)

@disconn3ct What can you tell us about the history of Signal Desktop files on disk? We're looking for anything that could have modified the file while Signal Desktop was running. Did you restore from backup, and the backup files were taken from disk while Signal Desktop was running?

I had one hang on the laptop recently but otherwise nothing exciting. (No restorations, no wipes, nothing messing with the files while it was running except that one full-system hang.)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hanzei picture hanzei  路  3Comments

PanderMusubi picture PanderMusubi  路  3Comments

lokesh-krishna picture lokesh-krishna  路  3Comments

ProactiveServices picture ProactiveServices  路  3Comments

github-cygwin picture github-cygwin  路  3Comments