Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After updating to v1.14.2, Signal is stuck on the screen with the message Optimizing application... #2546

Closed
1 task done
vrozkovec opened this issue Jul 19, 2018 · 16 comments

Comments

@vrozkovec
Copy link

  • 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

@scottnonnenberg-signal
Copy link
Contributor

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?

@unDocUMeantIt
Copy link

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}

@scottnonnenberg-signal
Copy link
Contributor

I suspect that this is the same issue as #1619

Is your /tmp mounted as noexec?

@unDocUMeantIt
Copy link

yes, /tmp mounted noexec for security reasons.

@unDocUMeantIt
Copy link

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

@mockturtl
Copy link

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

@RRAlex
Copy link

RRAlex commented Jul 20, 2018

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

@7h145
Copy link

7h145 commented Jul 20, 2018

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)

@vrozkovec
Copy link
Author

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}

@anarcat
Copy link

anarcat commented Aug 7, 2018

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.

@jimmyb86
Copy link

jimmyb86 commented Jan 6, 2019

I have same issue on:
OSX 10.14.1
Signal: 1.19.0

@nobesnickr
Copy link

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.

@scottnonnenberg-signal
Copy link
Contributor

@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?

@disconn3ct
Copy link

disconn3ct commented Jan 25, 2019

OSX, Signal 1.20.0, same issue here after the latest OS update (10.14.3).
Console error log shows:

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:

/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.)

@scottnonnenberg-signal
Copy link
Contributor

@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?

@disconn3ct
Copy link

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

10 participants