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

White Screen when run under xorg forwarding #4040

Open
TheBlueMatt opened this issue Mar 11, 2020 · 27 comments
Open

White Screen when run under xorg forwarding #4040

TheBlueMatt opened this issue Mar 11, 2020 · 27 comments

Comments

@TheBlueMatt
Copy link
Contributor

After upgrading from v1.31.0 (installed via https://updates.signal.org/desktop/apt) to v1.32.1 the conversation pane no longer loads and instead a window appears that is only white. Downgrading to v1.31.0 fixed the issue again.

debug log after downgrade: https://0bin.net/paste/LmuKEcI-Ku86x49d#UdKkhFyNi-p6ANbJKh8XHbSfoyky0GCkgJdoThwrcG1
debug log on 1.32.1: https://0bin.net/paste/461AypIFQ395vsCg#uvcoo+SXlr2zJwiZgrz-6OjD6ixcbnJv6v9xgq/4XUF

The client is running inside an LXC container (with /dev/shm mounted and an init running) with X available via a /tmp/.X11-unix bind-mount.

@scottnonnenberg-signal
Copy link
Contributor

What kind of graphics hardware is being used by Electron in that environment? Sounds like it has something to do with that, given that the default background color for our windows is blue. What happens when you start Signal Desktop with --disable-software-rasterizer and --disable-gpu?

@avpnusr
Copy link

avpnusr commented Mar 13, 2020

I have the same issue, as @TheBlueMatt, running my signal-client in a docker-environment. Starting with the following options, results in the picture below:
--no-sandbox --disable-software-rasterizer --disable-gpu
image

Somehow, these lines from the logs, look suspicious to me, without having any deeper knowledge of the code or electron itself.

{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false". It will change to be "true" in Electron 9. For more information please check https://github.com/electron/electron/issues/18397","time":"2020-03-13T10:52:07.915Z","v":0}

{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) 'setAutoHideMenuBar function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-13T10:52:12.358Z","v":0}

The complete logs from the docker-container:

Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.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
SIGNAL_ENABLE_HTTP undefined
userData: /home/signal/.config/Signal
config/get: Successfully read user config file
x-attr dependncy did not load successfully
config/get: Successfully read ephemeral config file
making app single instance
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"app ready","time":"2020-03-13T10:52:07.724Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"starting version 1.32.1","time":"2020-03-13T10:52:07.725Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"updateSchema:\n  Current user_version: 19;\n  Most recent db schema: 19;\n  SQLite version: 3.30.1;\n  SQLCipher version: 4.3.0 community;\n  (deprecated) schema_version: 94;\n","time":"2020-03-13T10:52:07.773Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":800,\"height\":610,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"vibrancy\":\"appearance-based\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\",\"x\":598,\"y\":155}","time":"2020-03-13T10:52:07.802Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently \"false\".  It will change to be \"true\" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397","time":"2020-03-13T10:52:07.915Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-13T10:52:07.979Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-13T10:52:07.999Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"Finish ensuring permissions in 30ms","time":"2020-03-13T10:52:08.011Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-13T10:52:08.424Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-13T10:52:08.488Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":602,\"y\":184}","time":"2020-03-13T10:52:08.488Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-13T10:52:08.489Z","v":0}
(node:7600) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.ieJin4'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:7600) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.ieJin4'. This is deprecated, see https://github.com/electron/electron/issues/18397.
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:10.607Z","msg":"x-attr dependncy did not load successfully","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:10.801Z","msg":"Detected non-English locale on Linux. Disabling spell check.","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:10.801Z","msg":"preload complete","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":40,"msg":"(electron) 'setAutoHideMenuBar function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-13T10:52:12.358Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"msg":"updater/start: Updates disabled - not starting new version checks","time":"2020-03-13T10:52:12.368Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:11.644Z","msg":"pre-main prep time: 5 ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:11.886Z","msg":"background page reloaded","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:11.886Z","msg":"environment: production","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:11.945Z","msg":"SQL channel job 1 (getItemById) succeeded in 57ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:11.945Z","msg":"Storage fetch","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.240Z","msg":"SQL channel job 2 (getAllItems) succeeded in 295ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.276Z","msg":"SQL channel job 3 (createOrUpdateItem) succeeded in 34ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.335Z","msg":"SQL channel job 4 (createOrUpdateItem) succeeded in 59ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.336Z","msg":"SQL channel job 5 (createOrUpdateItem) succeeded in 60ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.336Z","msg":"Starting background data migration. Target version: 10","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.337Z","msg":"ConversationController: starting initial fetch","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.340Z","msg":"ConversationController: done with initial fetch","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.345Z","msg":"SignalProtocolStore: Finished caching sessions data","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.345Z","msg":"SignalProtocolStore: Finished caching identityKeys data","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.346Z","msg":"SignalProtocolStore: Finished caching signedPreKeys data","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.346Z","msg":"SignalProtocolStore: Finished caching preKeys data","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.351Z","msg":"Cleanup: starting...","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.352Z","msg":"Initializing network observer every 5000ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.353Z","msg":"Build expires:  2020-06-04T22:56:08.000Z","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.354Z","msg":"Cleanup: Found 0 messages for cleanup","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.354Z","msg":"Cleanup: complete","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.354Z","msg":"listening for registration events","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.385Z","msg":"opening provisioning socket https://textsecure-service.whispersystems.org","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.405Z","msg":"SQL channel job 18 (getNextExpiringMessage) succeeded in 47ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.408Z","msg":"SQL channel job 19 (getNextTapToViewMessageToAgeOut) succeeded in 50ms","v":0}
{"name":"log","hostname":"c066199424cb","pid":7549,"level":30,"time":"2020-03-13T10:52:12.881Z","msg":"provisioning socket open","v":0}

@ivr588
Copy link

ivr588 commented Mar 15, 2020

I'm seeing the same issue. I run the desktop from a mint 18 system. Tried with production and beta, same result.

@scottnonnenberg-signal
Copy link
Contributor

All: Please provide the details of your graphics hardware and linux kernel. Please also try running with this extra command, see if it makes a difference: --enable-logging. The goal is to get us an error message, warning, or common configuration we can use to start an investigation.

@scottnonnenberg-signal
Copy link
Contributor

Another thing that would help is trying stable and develop-channel chromium builds. Electron shares most of its underlying technology with chromium.

@alexanderadam
Copy link

alexanderadam commented Mar 19, 2020

This is exactly the same issue that was mentioned by @maysara in issue 3281 (the blue screen issue).
Funnily the white screen issue appeared, once the blue screen issue was fixed.

I tried various Docker setups and I was able to reproduce it with all of them (maybe it's time for an official Docker image?). So I guess you will be able to reproduce it as well, with one of them.

Example

So you could try this

Short path (using someone's image as long there's no official Signal Desktop image)

$ docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e XAUTHORITY=/tmp/xauth --device /dev/snd -v /dev/shm:/dev/shm -v $XAUTHORITY:/tmp/xauth --hostname 'sigaldebug' --name signal --privileged rdvde/signal -c '--no-sandbox --enable-logging --disable-software-rasterizer --disable-gpu'
Log output (click me)
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
SIGNAL_ENABLE_HTTP undefined
userData: /home/user/.config/Signal
config/get: Did not find user config file, cache is now empty object
x-attr dependncy did not load successfully
config/get: Did not find ephemeral config file, cache is now empty object
making app single instance
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"app ready","time":"2020-03-19T10:28:43.341Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"starting version 1.32.1","time":"2020-03-19T10:28:43.342Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"key/initialize: Generating new encryption key, since we did not find it on disk","time":"2020-03-19T10:28:43.349Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"config/set: Saving user config to disk","time":"2020-03-19T10:28:43.349Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"migrateSchemaVersion: Migrating from schema_version 0 to user_version 0","time":"2020-03-19T10:28:43.354Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateSchema:\n  Current user_version: 0;\n  Most recent db schema: 19;\n  SQLite version: 3.30.1;\n  SQLCipher version: 4.3.0 community;\n  (deprecated) schema_version: 0;\n","time":"2020-03-19T10:28:43.369Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion1: starting...","time":"2020-03-19T10:28:43.369Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion1: success!","time":"2020-03-19T10:28:43.387Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion2: starting...","time":"2020-03-19T10:28:43.388Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion2: success!","time":"2020-03-19T10:28:43.403Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion3: starting...","time":"2020-03-19T10:28:43.404Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion3: success!","time":"2020-03-19T10:28:43.422Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion4: starting...","time":"2020-03-19T10:28:43.423Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion4: success!","time":"2020-03-19T10:28:43.448Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion6: starting...","time":"2020-03-19T10:28:43.449Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion6: success!","time":"2020-03-19T10:28:43.490Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion7: starting...","time":"2020-03-19T10:28:43.490Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion7: success!","time":"2020-03-19T10:28:43.529Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion8: starting...","time":"2020-03-19T10:28:43.530Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion8: success!","time":"2020-03-19T10:28:43.564Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion9: starting...","time":"2020-03-19T10:28:43.564Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion9: success!","time":"2020-03-19T10:28:43.585Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion10: starting...","time":"2020-03-19T10:28:43.585Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion10: success!","time":"2020-03-19T10:28:43.634Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion11: starting...","time":"2020-03-19T10:28:43.635Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion11: success!","time":"2020-03-19T10:28:43.650Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion12: starting...","time":"2020-03-19T10:28:43.651Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion12: success!","time":"2020-03-19T10:28:43.673Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion13: starting...","time":"2020-03-19T10:28:43.674Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion13: success!","time":"2020-03-19T10:28:43.696Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion14: starting...","time":"2020-03-19T10:28:43.697Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion14: success!","time":"2020-03-19T10:28:43.716Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion15: starting...","time":"2020-03-19T10:28:43.717Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion15: success!","time":"2020-03-19T10:28:43.756Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion16: starting...","time":"2020-03-19T10:28:43.757Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion16: success!","time":"2020-03-19T10:28:43.808Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion17: starting...","time":"2020-03-19T10:28:43.808Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion17: Index messages_view_once did not already exist","time":"2020-03-19T10:28:43.816Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion17: success!","time":"2020-03-19T10:28:43.834Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion18: starting...","time":"2020-03-19T10:28:43.835Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion18: success!","time":"2020-03-19T10:28:43.862Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion19: starting...","time":"2020-03-19T10:28:43.863Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updateToSchemaVersion19: success!","time":"2020-03-19T10:28:43.896Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Location reset needed","time":"2020-03-19T10:28:43.909Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":800,\"height\":610,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"vibrancy\":\"appearance-based\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\"}","time":"2020-03-19T10:28:43.910Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":40,"msg":"(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently \"false\".  It will change to be \"true\" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397","time":"2020-03-19T10:28:43.962Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-19T10:28:43.980Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-19T10:28:43.985Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Finish ensuring permissions in 5ms","time":"2020-03-19T10:28:43.986Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-19T10:28:44.147Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-19T10:28:44.516Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":1528,\"y\":490}","time":"2020-03-19T10:28:44.517Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-19T10:28:44.517Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownAttachments: About to iterate through 0 messages","time":"2020-03-19T10:28:45.535Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownAttachments: Done processing 0 messages","time":"2020-03-19T10:28:45.536Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownAttachments: About to iterate through 0 conversations","time":"2020-03-19T10:28:45.536Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownAttachments: Done processing 0 conversations","time":"2020-03-19T10:28:45.537Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"deleteAll: deleted 0 files","time":"2020-03-19T10:28:45.538Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownStickers: About to iterate through 0 stickers","time":"2020-03-19T10:28:45.541Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownStickers: Done processing 0 stickers","time":"2020-03-19T10:28:45.542Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"deleteAllStickers: deleted 0 files","time":"2020-03-19T10:28:45.542Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownDraftAttachments: About to iterate through 0 conversations","time":"2020-03-19T10:28:45.545Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"removeKnownDraftAttachments: Done processing 0 conversations","time":"2020-03-19T10:28:45.545Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"deleteAllDraftAttachments: deleted 0 files","time":"2020-03-19T10:28:45.546Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-19T10:28:45.547Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Ensuring file permissions for 50 files","time":"2020-03-19T10:28:45.564Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":50,"msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '/home/user/.config/Signal/SingletonCookie'","time":"2020-03-19T10:28:45.566Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":50,"msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '/home/user/.config/Signal/SingletonLock'","time":"2020-03-19T10:28:45.567Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"Finish ensuring permissions in 22ms","time":"2020-03-19T10:28:45.569Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":40,"msg":"(electron) 'setAutoHideMenuBar function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-19T10:28:45.578Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"updater/start: Updates disabled - not starting new version checks","time":"2020-03-19T10:28:45.585Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:44.926Z","msg":"x-attr dependncy did not load successfully","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:44.987Z","msg":"Detected non-English locale on Linux. Disabling spell check.","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:44.987Z","msg":"preload complete","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.250Z","msg":"pre-main prep time: 3 ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.333Z","msg":"background page reloaded","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.333Z","msg":"environment: production","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.354Z","msg":"SQL channel job 1 (getItemById) succeeded in 21ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.354Z","msg":"Checking for the existence of IndexedDB data...","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.474Z","msg":"Storage fetch","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.490Z","msg":"SQL channel job 3 (createOrUpdateItem) succeeded in 13ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.516Z","msg":"SQL channel job 4 (createOrUpdateItem) succeeded in 25ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.517Z","msg":"SQL channel job 5 (createOrUpdateItem) succeeded in 25ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.547Z","msg":"Starting background data migration. Target version: 10","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.548Z","msg":"ConversationController: starting initial fetch","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.555Z","msg":"ConversationController: done with initial fetch","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.560Z","msg":"SignalProtocolStore: Finished caching identityKeys data","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.561Z","msg":"SignalProtocolStore: Finished caching sessions data","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.566Z","msg":"SignalProtocolStore: Finished caching preKeys data","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.567Z","msg":"SignalProtocolStore: Finished caching signedPreKeys data","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.572Z","msg":"Cleanup: starting...","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.573Z","msg":"Initializing network observer every 5000ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.573Z","msg":"Build expires:  2020-06-04T22:56:08.000Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.575Z","msg":"Cleanup: Found 0 messages for cleanup","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.575Z","msg":"Cleanup: complete","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.575Z","msg":"listening for registration events","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.597Z","msg":"opening provisioning socket https://textsecure-service.whispersystems.org","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.608Z","msg":"SQL channel job 18 (getNextExpiringMessage) succeeded in 30ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:45.609Z","msg":"SQL channel job 19 (getNextTapToViewMessageToAgeOut) succeeded in 31ms","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"time":"2020-03-19T10:28:46.034Z","msg":"provisioning socket open","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":40,"time":"2020-03-19T10:28:46.355Z","msg":"doesDatabaseExist: Timed out attempting to check IndexedDB status","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"close event {\"shouldQuit\":false}","time":"2020-03-19T10:28:53.056Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"requestShutdown: Requesting close of mainWindow...","time":"2020-03-19T10:28:53.061Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"requestShutdown: Response received","time":"2020-03-19T10:28:53.068Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"before-quit event {\"readyForShutdown\":true,\"shouldQuit\":false}","time":"2020-03-19T10:28:53.068Z","v":0}
{"name":"log","hostname":"sigaldebug","pid":1,"level":30,"msg":"close event {\"readyForShutdown\":true,\"shouldQuit\":true}","time":"2020-03-19T10:28:53.068Z","v":0}

Build the image on your own

  1. Search for Dockerfiles on GitHub by searching "signal-desktop" language:Dockerfile (or click this link) and order by Recently Indexed to ensure not to get an outdated one.

  2. In my case I found this one (but it really doesn't matter — I really tried a lot in case there's any difference)

  3. Add your preferred debugging parameters, so that it looks like --no-sandbox --enable-logging --disable-software-rasterizer --disable-gpu for example.

  4. Build the image by executing docker build -t signal_debug .

  5. Ensure Docker can use your host X server: xhost +local:docker

  6. Run

$ docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e XAUTHORITY=/tmp/xauth --device /dev/snd -v /dev/shm:/dev/shm -v $XAUTHORITY:/tmp/xauth -v $XAUTHORITY:/user/.Xauthority --privileged --name signal signal_debug -c '--no-sandbox --enable-logging --disable-software-rasterizer --disable-gpu'
Log output (click me)
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.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
SIGNAL_ENABLE_HTTP undefined
userData: /home/user/.config/Signal
config/get: Did not find user config file, cache is now empty object
x-attr dependncy did not load successfully
config/get: Did not find ephemeral config file, cache is now empty object
making app single instance
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"app ready","time":"2020-03-19T11:07:34.680Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"starting version 1.32.1","time":"2020-03-19T11:07:34.680Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"key/initialize: Generating new encryption key, since we did not find it on disk","time":"2020-03-19T11:07:34.688Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"config/set: Saving user config to disk","time":"2020-03-19T11:07:34.688Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"migrateSchemaVersion: Migrating from schema_version 0 to user_version 0","time":"2020-03-19T11:07:34.692Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateSchema:\n  Current user_version: 0;\n  Most recent db schema: 19;\n  SQLite version: 3.30.1;\n  SQLCipher version: 4.3.0 community;\n  (deprecated) schema_version: 0;\n","time":"2020-03-19T11:07:34.708Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion1: starting...","time":"2020-03-19T11:07:34.708Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion1: success!","time":"2020-03-19T11:07:34.729Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion2: starting...","time":"2020-03-19T11:07:34.729Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion2: success!","time":"2020-03-19T11:07:34.751Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion3: starting...","time":"2020-03-19T11:07:34.752Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion3: success!","time":"2020-03-19T11:07:34.786Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion4: starting...","time":"2020-03-19T11:07:34.786Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion4: success!","time":"2020-03-19T11:07:34.798Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion6: starting...","time":"2020-03-19T11:07:34.799Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion6: success!","time":"2020-03-19T11:07:34.815Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion7: starting...","time":"2020-03-19T11:07:34.815Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion7: success!","time":"2020-03-19T11:07:34.834Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion8: starting...","time":"2020-03-19T11:07:34.834Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion8: success!","time":"2020-03-19T11:07:34.852Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion9: starting...","time":"2020-03-19T11:07:34.852Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion9: success!","time":"2020-03-19T11:07:34.866Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion10: starting...","time":"2020-03-19T11:07:34.867Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion10: success!","time":"2020-03-19T11:07:34.889Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion11: starting...","time":"2020-03-19T11:07:34.889Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion11: success!","time":"2020-03-19T11:07:34.902Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion12: starting...","time":"2020-03-19T11:07:34.903Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion12: success!","time":"2020-03-19T11:07:34.918Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion13: starting...","time":"2020-03-19T11:07:34.918Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion13: success!","time":"2020-03-19T11:07:34.932Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion14: starting...","time":"2020-03-19T11:07:34.933Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion14: success!","time":"2020-03-19T11:07:34.946Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion15: starting...","time":"2020-03-19T11:07:34.947Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion15: success!","time":"2020-03-19T11:07:34.972Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion16: starting...","time":"2020-03-19T11:07:34.973Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion16: success!","time":"2020-03-19T11:07:34.999Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion17: starting...","time":"2020-03-19T11:07:35.000Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion17: Index messages_view_once did not already exist","time":"2020-03-19T11:07:35.004Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion17: success!","time":"2020-03-19T11:07:35.018Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion18: starting...","time":"2020-03-19T11:07:35.019Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion18: success!","time":"2020-03-19T11:07:35.033Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion19: starting...","time":"2020-03-19T11:07:35.034Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updateToSchemaVersion19: success!","time":"2020-03-19T11:07:35.051Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Location reset needed","time":"2020-03-19T11:07:35.056Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":800,\"height\":610,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"vibrancy\":\"appearance-based\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/opt/Signal/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal/resources/app.asar/images/icon_256.png\"}","time":"2020-03-19T11:07:35.056Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":40,"msg":"(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently \"false\".  It will change to be \"true\" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397","time":"2020-03-19T11:07:35.095Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-19T11:07:35.118Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-19T11:07:35.127Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Finish ensuring permissions in 19ms","time":"2020-03-19T11:07:35.137Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-19T11:07:35.291Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-19T11:07:35.649Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":1528,\"y\":490}","time":"2020-03-19T11:07:35.649Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-19T11:07:35.649Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownAttachments: About to iterate through 0 messages","time":"2020-03-19T11:07:36.709Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownAttachments: Done processing 0 messages","time":"2020-03-19T11:07:36.710Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownAttachments: About to iterate through 0 conversations","time":"2020-03-19T11:07:36.711Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownAttachments: Done processing 0 conversations","time":"2020-03-19T11:07:36.712Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"deleteAll: deleted 0 files","time":"2020-03-19T11:07:36.713Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownStickers: About to iterate through 0 stickers","time":"2020-03-19T11:07:36.718Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownStickers: Done processing 0 stickers","time":"2020-03-19T11:07:36.718Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"deleteAllStickers: deleted 0 files","time":"2020-03-19T11:07:36.719Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownDraftAttachments: About to iterate through 0 conversations","time":"2020-03-19T11:07:36.721Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"removeKnownDraftAttachments: Done processing 0 conversations","time":"2020-03-19T11:07:36.722Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"deleteAllDraftAttachments: deleted 0 files","time":"2020-03-19T11:07:36.722Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-19T11:07:36.723Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Ensuring file permissions for 50 files","time":"2020-03-19T11:07:36.733Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":50,"msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '/home/user/.config/Signal/SingletonCookie'","time":"2020-03-19T11:07:36.734Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":50,"msg":"ensureFilePermissions: Error from chmod ENOENT: no such file or directory, chmod '/home/user/.config/Signal/SingletonLock'","time":"2020-03-19T11:07:36.734Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"Finish ensuring permissions in 12ms","time":"2020-03-19T11:07:36.735Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":40,"msg":"(electron) 'setAutoHideMenuBar function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-19T11:07:36.740Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"updater/start: Updates disabled - not starting new version checks","time":"2020-03-19T11:07:36.743Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.047Z","msg":"x-attr dependncy did not load successfully","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.116Z","msg":"Detected non-English locale on Linux. Disabling spell check.","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.116Z","msg":"preload complete","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.427Z","msg":"pre-main prep time: 2 ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.522Z","msg":"background page reloaded","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.522Z","msg":"environment: production","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.542Z","msg":"SQL channel job 1 (getItemById) succeeded in 20ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.542Z","msg":"Checking for the existence of IndexedDB data...","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.633Z","msg":"Storage fetch","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.653Z","msg":"SQL channel job 3 (createOrUpdateItem) succeeded in 19ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.683Z","msg":"SQL channel job 4 (createOrUpdateItem) succeeded in 30ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.683Z","msg":"SQL channel job 5 (createOrUpdateItem) succeeded in 30ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.723Z","msg":"Starting background data migration. Target version: 10","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.723Z","msg":"ConversationController: starting initial fetch","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.727Z","msg":"ConversationController: done with initial fetch","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.733Z","msg":"SignalProtocolStore: Finished caching identityKeys data","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.733Z","msg":"SignalProtocolStore: Finished caching sessions data","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.735Z","msg":"SignalProtocolStore: Finished caching signedPreKeys data","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.735Z","msg":"SignalProtocolStore: Finished caching preKeys data","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.737Z","msg":"Cleanup: starting...","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.737Z","msg":"Initializing network observer every 5000ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.738Z","msg":"Build expires:  2020-06-04T22:56:08.000Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.738Z","msg":"Cleanup: Found 0 messages for cleanup","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.738Z","msg":"Cleanup: complete","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.738Z","msg":"listening for registration events","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.750Z","msg":"opening provisioning socket https://textsecure-service.whispersystems.org","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.757Z","msg":"SQL channel job 18 (getNextExpiringMessage) succeeded in 17ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:36.758Z","msg":"SQL channel job 19 (getNextTapToViewMessageToAgeOut) succeeded in 18ms","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"time":"2020-03-19T11:07:37.221Z","msg":"provisioning socket open","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":40,"time":"2020-03-19T11:07:37.543Z","msg":"doesDatabaseExist: Timed out attempting to check IndexedDB status","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"close event {\"shouldQuit\":false}","time":"2020-03-19T11:07:44.049Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"requestShutdown: Requesting close of mainWindow...","time":"2020-03-19T11:07:44.051Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"requestShutdown: Response received","time":"2020-03-19T11:07:44.056Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"before-quit event {\"readyForShutdown\":true,\"shouldQuit\":false}","time":"2020-03-19T11:07:44.056Z","v":0}
{"name":"log","hostname":"d39ddf6792fd","pid":1,"level":30,"msg":"close event {\"readyForShutdown\":true,\"shouldQuit\":true}","time":"2020-03-19T11:07:44.056Z","v":0}

Another thing that would help is trying stable and develop-channel chromium builds.

The same issue happens in Chromium (Click me for a recipe to reproduce this issue).
# I just extended the mentioned Dockerfile for Signal, so this is not the smallest file to reproduce this
FROM debian:stable-slim

ENV DEBIAN_FRONTEND noninteractive

RUN echo 'deb http://httpredir.debian.org/debian testing main' >> /etc/apt/sources.list && \
  apt-get update && apt-get install -y \
  chromium \
  chromium-l10n \
  fonts-liberation \
  fonts-roboto \
  hicolor-icon-theme \
  libcanberra-gtk-module \
  libexif-dev \
  libgl1-mesa-dri \
  libgl1-mesa-glx \
  libpango1.0-0 \
  libv4l-0 \
  -t testing \
  fonts-symbola \
  --no-install-recommends \
  && rm -rf /var/lib/apt/lists/* \
  && mkdir -p /etc/chromium.d/ \
  && /bin/echo -e 'export GOOGLE_API_KEY="AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44k"\nexport GOOGLE_DEFAULT_CLIENT_ID="811574891467.apps.googleusercontent.com"\nexport GOOGLE_DEFAULT_CLIENT_SECRET="kdloedMFGdGla2P1zacGjAQh"' > /etc/chromium.d/googleapikeys \
    && echo 'deb http://httpredir.debian.org/debian testing main' >> /etc/apt/sources.list \
    && apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y locales ttf-wqy-zenhei chromium chromium-l10n fonts-liberation fonts-roboto \
    && localedef -i zh_TW -c -f UTF-8 -A /usr/share/locale/locale.alias zh_TW.UTF-8 \
    && apt install -y apt-utils curl dbus-x11 libx11-xcb1 gnupg apt-transport-https libasound2 \
    && curl -s https://updates.signal.org/desktop/apt/keys.asc | apt-key add - \
    && echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | tee -a /etc/apt/sources.list.d/signal-xenial.list \
    && apt update \
    && apt install -y signal-desktop \
    && apt-get autoclean -y \
    && groupadd -r user \
    && useradd -r -g user -G audio,video user \
    && mkdir -p /home/user/Downloads \
    && chown -R user:user /home/user \
    && usermod -u 1000 user \
    && groupmod -g 1000 user \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ENV LC_CTYPE=zh_TW.UTF-8 \
    GTK_IM_MODULE=fcitx \
    QT_IM_MODULE=fcitx \
    XMODIFIERS='@im=fcitx'

USER user

ENTRYPOINT [ "/usr/bin/chromium" ]
CMD [ "--user-data-dir=/home/user --no-sandbox" ]

Then run with

$ docker build -t chromium_debug .
$ docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e XAUTHORITY=/tmp/xauth --device /dev/snd -v /dev/shm:/dev/shm -v $XAUTHORITY:/tmp/xauth -v $XAUTHORITY:/user/.Xauthority --name chromium_debug chromium_debug -c "--no-sandbox"

EDIT: Chromium does not appear to have this issue when following this post. It even works perfectly fine after switching to FROM debian:stable-slim. So the version should be the same. I'm not quite sure what the difference is, though. 🤔

@scottnonnenberg-signal
Copy link
Contributor

Seems that running electron apps inside Docker has had problems in the past: electron/electron#16892

No open issues, though. The person who entered that bug didn't come back and update it for more recent versions of Electron. I think it might be time for some of you in this thread to assemble a simple repro with just basic Electron instead of Signal Desktop, and then we can pursue a fix from the Electron folks.

And, one thing you might try is updating Electron to 8.1.x or 9.x to see if that makes a difference.

@TheBlueMatt
Copy link
Contributor Author

Hmm. I'm not set up to do full builds of electron, but I'm happy to test builds against newer versions of electron if that helps. I assume there was an electron upgrade between 1.31.0 and 1.32.1 (which we could at least use as info for an upstream bug?). Indeed, no combo of --disable-gpu and --disable-software-rasterizer changed anything for me.

@scottnonnenberg-signal
Copy link
Contributor

Sure, no need to do builds of Signal Desktop or Electron. It would be valuable for is if you run plain Electron, no user-land code, in that same configuration - the dockerfile listed here might be an interesting starting point: electron/electron#16892

@ivr588
Copy link

ivr588 commented Mar 19, 2020

All: Please provide the details of your graphics hardware and linux kernel. Please also try running with this extra command, see if it makes a difference: --enable-logging. The goal is to get us an error message, warning, or common configuration we can use to start an investigation.

Hi,

My context is:

  1. on machine running signal-desktop-beta, Linux Mint 18.2 Sonya (GNU/Linux 4.15.0-66-generic x86_64)
  2. freebsd-12-stable desktop on the client side.

I ssh into the linux machine (ssh -Y) so I can get terms on the freebsd desktop. I was able therefore to use signal via the freebsd-desktop. This used to work. Now I get the signal window with a blank screen.

If I run signal-desktop on the linux machine locally, signal works as expected. Maybe some issue with xorg? electron is not installed on the linux machine - it was installed as per the instructions on the signal website.

@TheBlueMatt
Copy link
Contributor Author

Right, I also don't have an electron (or nvm) toolchain installed anywhere. We could at least open an issue upstream so they can advise - what version of electron is used in signal-desktop so that I can do so?

@scottnonnenberg-signal
Copy link
Contributor

@TheBlueMatt
Copy link
Contributor Author

Reported upstream as electron/electron#22775 so for those who also see this issue it likely makes sense to track that/help debug there.

@micah
Copy link

micah commented Mar 20, 2020

Same thing happened to me. If I downgrade the package to 1.31.0, everything works again. Something definitely changed in 1.32.1 that makes it not work.

@scottnonnenberg-signal
Copy link
Contributor

scottnonnenberg-signal commented Mar 20, 2020

v1.31.0 was on Electron 6.1.4 and v1.32.1 is on Electron 8.0.3. That's the change.

@ghormoon
Copy link

ghormoon commented Mar 24, 2020

i have the same issue running in lxc container, after upgrade to deb 1.31.1 i have just white(ish) screen
using ssh -X to run it "remotely"

getting few warnings on run

$ Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.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
SIGNAL_ENABLE_HTTP undefined
userData: /home/ghormoon/.config/Signal
config/get: Successfully read user config file
x-attr dependncy did not load successfully
config/get: Successfully read ephemeral config file
ATTENTION: default value of option force_s3tc_enable overridden by environment.
(node:520) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.9lwRqy'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:520) Electron: Loading non-context-aware native module in renderer: `'/tmp/.org.chromium.Chromium.9lwRqy'. This is deprecated, see https://github.com/electron/electron/issues/18397.

after downgrade to 1.31.0 and "chmod 4755 /opt/Signal/chrome-sandbox" it works again

@alexanderadam
Copy link

after downgrade to 1.31.0 and "chmod 4755 /opt/Signal/chrome-sandbox" it works again

The answer why's that, is just in the comment above yours:

v1.31.0 was on Electron 6.1.4 and v1.32.1 is on Electron 8.0.3.

So we already know that v1.31.0 and lower is working.

The corresponding upstream issue was also already mentioned:

Reported upstream as electron/electron#22775 so for those who also see this issue it likely makes sense to track that/help debug there.

@micah
Copy link

micah commented Mar 25, 2020 via email

@alexanderadam
Copy link

alexanderadam commented Mar 25, 2020

Maybe it would make sense to try and bisect to find which version of Electron from 6.1.4 to 8.0.3 causes this?

Yes it would. Feel free to do so. 👍

Why would electron devs dig into why signal isn't working right?

Because it is an electron bug Chromium bug (!) that affects all applications using that version and it would make sense to handle that issue where it is caused, right?

at minimum bisect to try to find where the issue actually arrived, which would help narrow
down where the actual problem is.

Excatly, there's even a good starting point for an electron Dockerfile, as mentioned earlier by Scott.
So you have everything you need for git bisecting. 👍

@ivr588
Copy link

ivr588 commented Mar 26, 2020

v1.31.0 was on Electron 6.1.4 and v1.32.1 is on Electron 8.0.3. That's the change.

How can I downgrade to v.1.31.0 ? signal-desktop running on Mint (ubuntu-derived)

@ghormoon
Copy link

did you install using their repo? if yes, then just
apt-get install signal-desktop=1.31.0

@ivr588
Copy link

ivr588 commented Mar 26, 2020

awesome! I know about freebsd, but almost nothing about apt/linux, so thanks for this

@ivr588
Copy link

ivr588 commented Apr 8, 2020

did you install using their repo? if yes, then just
apt-get install signal-desktop=1.31.0

unfortunately this no longer works. Today, I had found out that somehow signal had auto-updated itself to 1.32 and now running apt update was asking me to update it to 1.33. So tried running signal before apt. White screen again, so next ran apt update. Same white screen.

So deinstalled signal desktop and ran this:
apt-get install signal-desktop=1.31.0

the result:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version ‘1.31.0’ for ‘signal-desktop’ was not found

How can I get back to 1.31, and (I realise this second question isn't really a signal question), how can I make it stop updating until the signal/electron problem is fixed?

thanks

@scottnonnenberg-signal scottnonnenberg-signal changed the title 1.32.1 White Screen White Screen when run under xorg forwarding May 4, 2020
@scottnonnenberg-signal
Copy link
Contributor

Thanks to @wpeckr we have a workaround for this issue. Start Signal Desktop with the --ignore-gpu-blacklist command-line option.

Upstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1048186

@micah
Copy link

micah commented May 5, 2020 via email

@Micpic3
Copy link

Micpic3 commented May 21, 2020

I was running into this issue when running electron in docker. It appears that chromium is trying to use shared memory, but fails and doesn't fall back correctly, resulting in a blank screen. @micah's solution works because the environment variable QT_X11_NO_MITSHM=1 tells chromium to not use shared memory. I'm not sure that the other two environment variables _X11_NO_MITSHM=1 and _MITSHM=0 are necessary (explanation why in my comment linked below).

Other possible solutions are:

  • --no-xshm flag to electron/signal: ./electron --no-xshm
  • setting the environment variable QT_X11_NO_MITSHM=1 via the command line:
    export QT_X11_NO_MITSHM=1
  • --ipc=host flag in the docker run command: docker run --ipc=host

For those curious as to why these solutions work/want more information to dig deeper into the bug, I have a more in-depth explanation here: electron/electron#22775 (comment)

@maysara
Copy link

maysara commented Feb 21, 2022

now on v. 5.32, the trick is to use --in-process-gpu :/

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

No branches or pull requests

9 participants