signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.56k stars 2.65k forks source link

Blue screen after update - stuck #3281

Closed MenooMeow closed 4 years ago

MenooMeow commented 5 years ago

Bug Description

Did auto update and now it's stuck on a total blue screen. No contents in window. Only pull down menu. No progress report - nothing.

Steps to Reproduce

  1. Do auto-update when prompted.
  2. Program relaunches automatically (or manually).
  3. Blue sreen

Actual Result:

Blue window - no contents - only pull down menus.

Expected Result:

to work normally after update

Screenshots

image

Platform Info

Signal Version:

1.23.2

Operating System:

Windows 10

Linked Device Version:

Not available right now

Link to Debug Log

Will not come up... pull down menu is there but it does nothing when selected.

scottnonnenberg-signal commented 5 years ago

It's likely that there's some sort of error happening, preventing the app from starting up. We need the specific error message.

There are three things you can try in this situation to help us help you:

tonytozoo commented 5 years ago

Same problem here

Platform Info

Signal Version:

1.23.2

Operating System:

OSX 10.10.5

I sent you the log zip

fencepost-error commented 5 years ago

Same problem here, Windows 8.1. Not sure which version because apart from "Quit Signal" and the various web links under "Help" none of the menu items work, but the signal.exe binary claims a file version of 1.24.1.0. Selecting "Quit Signal" leaves a suspended process that has to be killed via Task Manager. Running from the command line produces as last entry:

{"name":"log","hostname":"XXXXXXXXXX","pid":XXXX,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2019-05-14T08:05:26.292Z","v":0}

Selecting "Quit Signal" hangs after:

{"name":"log","hostname":"XXXXXXXXXX","pid":XXXX,"level":30,"msg":"requestShutdown:Requesting close of mainWindow...","time":"2019-05-14T08:06:27.427Z","v":0}

requiring a manual kill of the process via task manager.

scottnonnenberg-signal commented 5 years ago

@fencepost-error We'll need the full log to track down what's going on. You can choose View -> Toggle Developer Tools to see what error is preventing the app window from rendering.

fencepost-error commented 5 years ago

@scottnonnenberg-signal See my original post, the entire UI is unresponsive apart from "Quit Signal" and the web links nothing works, in that it's possible to select the various menu items but they do nothing.

scottnonnenberg-signal commented 5 years ago

@fencepost-error Failing that, there are two things to be done:

fencepost-error commented 5 years ago

Ah, it's OK now, in the meantime I reinstalled Signal and rebooted and it works again.

Nightfirecat commented 5 years ago

I've just encountered this issue starting today without performing any app updates or changes. The following is what I was able to capture.

Platform Info

Signal Version: 1.25.3 Operating System: Windows 7 Linked Device Version: 4.41.5

Other troubleshooting info: (following the advice of this thread)

Command-line output
$ ~/AppData/Local/Programs/signal-desktop/Signal.exe

Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR C:\Users\Nightfirecat\AppData\Local\Programs\signal-desktop\resources\app.asar\config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
userData: C:\Users\Nightfirecat\AppData\Roaming\Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"app ready","time":"2019-07-20T21:06:24.638Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"starting version 1.25.3","time":"2019-07-20T21:06:24.639Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"updateSchema: Current schema version: 15; Most recent schema version: 15; SQLite version: 3.20.1; SQLCipher version: 3.4.2;","time":"2019-07-20T21:06:24.648Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":788,\"height\":598,\"minWidth\":640,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"C:\\\\Users\\\\Nightfirecat\\\\AppData\\\\Local\\\\Programs\\\\signal-desktop\\\\resources\\\\app.asar\\\\preload.js\",\"nativeWindowOpen\":true},\"icon\":\"C:\\\\Users\\\\Nightfirecat\\\\AppData\\\\Local\\\\Programs\\\\signal-desktop\\\\resources\\\\app.asar\\\\images\\\\icon_256.png\",\"maximized\":false,\"x\":2131,\"y\":213}","time":"2019-07-20T21:06:24.653Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"Using OS-level spell check API with locale C.UTF-8","time":"2019-07-20T21:06:25.823Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"pre-main prep time: 1 ms","time":"2019-07-20T21:06:26.003Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"Build expires:  2019-09-26T17:14:14.000Z","time":"2019-07-20T21:06:26.024Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"Preloading emoji images","time":"2019-07-20T21:06:26.042Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"background page reloaded","time":"2019-07-20T21:06:26.049Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"environment: production","time":"2019-07-20T21:06:26.049Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"close event {\"shouldQuit\":false}","time":"2019-07-20T21:09:28.485Z","v":0}
{"name":"log","hostname":"Jacques","pid":8300,"level":30,"msg":"requestShutdown: Requesting close of mainWindow...","time":"2019-07-20T21:09:28.488Z","v":0}

Edit: Strangely, after restarting my computer, Signal opens without issue now.

swertz commented 5 years ago

This still happens to me regularly...

Signal Version: 1.26.2 OS: ubuntu 19.04 with KDE

It usually happens after I resume the laptop from sleep... After that the app stays blue and won't even quit (either by using the right click on the tray icon or by doing File > Quit Signal), I have to kill it and start again.

fencepost-error commented 5 years ago

I've been getting it again as well. Usually a reboot fixes it, but it's a pain to have to reboot just to be able to use Signal. For me it's not a resume from sleep but the first time it's started, I get the solid blue screen and and an unresponsive app.

To the devs: I didn't send the debug info from last time because I thought the problem had resolved itself, when it crops up again I'll get another lot of debug info.

scottnonnenberg-signal commented 5 years ago

Please consider trying the beta - it's built on a newer version of Electron by two major versions. Maybe this issue has been fixed in that version of Electron? https://github.com/signalapp/Signal-Desktop#install-the-beta

alexanderadam commented 4 years ago

@scottnonnenberg-signal I tested it with the current beta (v1.28.0-beta.5) that you just released and it still doesn't work. It doesn't even look like an Electron bug but rather like a traditional logical bug for me (but I have no knowledge of the Signal client anyway :wink:).

It may be worth noting that that it still starts with the regular loading screen with the loading animation and the amount of messages that are loaded. And sometimes the expected elements (like the contact roaster) are visible for a very short moment (less than a second) but then it switches to the blue screen.

And I'm not sure whether it's related to the blue screen but sometimes I also have to kill Signal to get it closed, because it won't quit by it's own (it stays at requestShutdown: Requesting close of mainWindow... but I have the feeling this is another issue).

Can you please tell which information is still needed? Because this issue contains log files and descriptions as someone would expect. Or could you just remove the Need information label in case nothing is missing anymore?

scottnonnenberg-signal commented 4 years ago

@alexanderadam We really need debug logs, the log from developer tools, even basics like the specific OS version you're on. The fact that you're running into an issue is good to know, but only those details are useful in helping us track down the cause.

alexanderadam commented 4 years ago

Did @Nightfirecat not send everything already in July?

scottnonnenberg-signal commented 4 years ago

@alexanderadam You're on a vastly newer version of the app, and as far as I know on a different OS. Please let us decide whether a log is needed or not, and default to providing it.

alexanderadam commented 4 years ago

You're on a vastly newer version of the app, and as far as I know on a different OS.

Sure, and so far this bug at least appeared on

And also on various Signal versions (1.23.2, 1.24.1, 1.25.3, 1.26.2, 1.28.0-beta.5).

Please let us decide whether a log is needed or not, and default to providing it.

I absolutely do. Please don't imply that I claimed otherwise. What I actually did was asking whether @Nightfirecat sent everything already.

Because if @Nightfirecat did, then it appears that the formerly provided log data wasn't processed anyway.

Thus it would be very helpful to know if something was wrong with the provided data so that other's won't make the same mistake (in case there was one).

scottnonnenberg-signal commented 4 years ago

@alexanderadam Please send your debug log, before those lines expire. Log entries only stick around for three days.

Secondly, you can help out by opening the developer tools when this happens (ideally before it happens?) and seeing if anything interesting shows up there, things which may not be in your debug log.

Lastly, you can also help by providing a high-level summary of when it seems to happen - does it go away with a reboot, like stated above? Does it always happen? Does it come in waves?

alexanderadam commented 4 years ago

you can help out by opening the developer tools when this happens (ideally before it happens?)

Is it possible to directly open Signal desktop with developer tools opened?

Lastly, you can also help by providing a high-level summary of when it seems to happen

In my case it's running within Docker.
FROM bitnami/minideb:latest

RUN apt-get update && apt-get install -y --no-install-suggests --no-install-recommends iputils-ping \
        curl gnupg2 apt-transport-https ca-certificates libx11-xcb1 libasound2 libgtk-3-0 \
  && curl -s https://updates.signal.org/desktop/apt/keys.asc > signal-repo.key \
  && apt-key add signal-repo.key \
  && echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" > \
    /etc/apt/sources.list.d/signal-xenial.list \
  && apt-get update \
  && apt-get install --no-install-recommends -y signal-desktop

ENTRYPOINT ["/usr/local/bin/signal-desktop"]

does it go away with a reboot

No, not within the Docker container. Once the bug appears, it stays there. It depends. Sometimes it will, sometimes it wont. Clearing the Signal Desktop user data and pairing again always works, however.

Does it always happen?

Yes, once the bug appears, it stays and comes every time I start Signal Desktop (until a restart or at least clearing of the user data).

Does it come in waves?

I'm not sure what this means. It's a static blue screen that comes up when starting Signal desktop.

scottnonnenberg-signal commented 4 years ago

Is it possible to directly open Signal desktop with developer tools opened?

It would require rebuilding the app. But you can use the keyboard shortcut to open it quickly after starting up.

My guess about this issue is that it's Electron having problems with high memory usage, or some sort of high resource usage like that, and it essentially stops working. We encountered this a couple months ago on Linux specifically when we tried to cache too many images on startup. We slowed that caching down, and it seemed to fix it. We took that caching out entirely in v1.28, so I'm particularly surprised to see this still happening.

You asked about previous logs - no log has included any kind of smoking gun thus far. Just an indication that our code has perhaps stopped running in our renderer process. So perhaps we need to go a level deeper and get more metrics about the running process when this happens. What files it's accessing (for example with strace), how much CPU/memory it's using, etc.

car110 commented 4 years ago

Scott, I have had the same issue with my signal desktop and have tried the last three releases and its still stuck on the blue screen. Is there something yall figured out that fixed the blue screen issue?

scottnonnenberg-signal commented 4 years ago

@car110 I think our best bet is for you to give us your logs straight from disk, and then you can remove all local data for the app and try again starting from scratch.

car110 commented 4 years ago

okay I will do that, who do I sent them to?

scottnonnenberg-signal commented 4 years ago

You can either provide the logs here, or send them to support@signal.org.

lgrn5 commented 4 years ago

I am seeing this issue on Signal v1.30.0 on Windows 10 1909 18363.592. App seems to start up, shows the loading screen, then the conversations, for a while it is usable and then blanks after clicking around a bit, showing only a blue screen. View > Debug log does nothing (it works only while the app itself is working) and the developer tools just say "DevTools was disconnected from the page". It looks just like the screenshots above. Trying to open File > Preferences while crashed also brings up nothing but a completely blue square without any toolbars or window borders.

I tried uninstalling signal desktop, manually removing AppData\Local\signal-desktop-updater, downloading signal-desktop-win-1.30.0.exe and installing it, re-validating with the QR code and it seems to have resolved the issue for now.

fencepost-error commented 4 years ago

I had the same problem as well, with 1.30.0 on Windows 10. Haven't seen it for awhile, but it's come back again, required a restart of Windows to get past the unresponsive blue screen.

scottnonnenberg-signal commented 4 years ago

@lgrn5 @fencepost-error Anything you can provide here would be valuable - is Signal Desktop using a lot of RAM or CPU time when this blue screen happens? What might be different on your Windows machine between restarts - available RAM? Is the set of other apps running changing when you restart?

fencepost-error commented 4 years ago

Nothing I can notice, CPU use is normal, about 1%, memory use normal, no unusual or additional apps running.

lgrn5 commented 4 years ago

From what I could see when I checked, the process seemed more or less dead. No CPU activity or anything else standing out. Also, for me, I have no reason to believe a restart resolved the issue since I reinstalled the whole application.

alexanderadam commented 4 years ago

From what I could see when I checked, the process seemed more or less dead. No CPU activity or anything else standing out.

Also in my case Signal Desktop on Linux never used much CPU or RAM when it came to the blue screen but it's definitely still working in the background and able to receive messages etc. I'm sure about that because I'm reading the Signal Desktop database with an external tool and new messages appear.

car110 commented 4 years ago

I tried to troubleshoot & re-install the application through the multitude of offered sources, this only added fuel to the fire and ultimately having to reset my PC (for other issues, not just signal) and it would finally allowed me to install correctly. I use Firefox primarily and when looking at dev tools in my browser one of the issues it relayed was something about Chrome not being used or something like that. One of the main issues I think that caused it was downloading it multiple times and when going through and deleting temporary files, there must have been some still around from the many times I tried reinstalling.

Regards,

Carlton A. Adams

e caa@carltonallen.com

m +1 (214) 537-3583

On Wed, Jan 29, 2020 at 12:39 PM Scott Nonnenberg notifications@github.com wrote:

@lgrn5 https://github.com/lgrn5 @fencepost-error https://github.com/fencepost-error Anything you can provide here would be valuable - is Signal Desktop using a lot of RAM or CPU time when this blue screen happens? What might be different on your Windows machine between restarts - available RAM? Is the set of other apps running changing when you restart?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/signalapp/Signal-Desktop/issues/3281?email_source=notifications&email_token=ALJA2JVUBH7BXZAJGQM3K6TRAHLONA5CNFSM4HCPLEX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKIPIXA#issuecomment-579925084, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALJA2JT57FANQ5ZAEPFSHJ3RAHLONANCNFSM4HCPLEXQ .

CrypticaScriptura commented 4 years ago

I just received this same behaviour (fully blue screen, no progression) following an update from Signal Desktop v1.32.0-beta1 to v1.32.0-beta2, continuing after the update to beta3.

Platform info: Affected Versions: Signal Desktop v1.32.0-beta2, v1.32.0-beta3 OS: Xubuntu 19.10 x64, Linux kernel 5.5.5 Linked device: Signal (Android) v4.56.1

Startup logs:

user@desktop:~$ '/opt/Signal Beta/signal-desktop-beta' --no-sandbox %U
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop-beta' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal Beta/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 Beta
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":"desktop","pid":7742,"level":30,"msg":"app ready","time":"2020-02-21T14:38:06.538Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":30,"msg":"starting version 1.32.0-beta.3","time":"2020-02-21T14:38:06.538Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"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-02-21T14:38:06.548Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":1243,\"height\":1178,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"vibrancy\":\"appearance-based\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/opt/Signal Beta/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal Beta/resources/app.asar/images/icon_256.png\",\"x\":791,\"y\":158}","time":"2020-02-21T14:38:06.692Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"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-02-21T14:38:06.728Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-02-21T14:38:06.905Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-02-21T14:38:07.259Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":1243,\"height\":1178,\"x\":792,\"y\":186}","time":"2020-02-21T14:38:07.260Z","v":0}
{"name":"log","hostname":"desktop","pid":7742,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-02-21T14:38:07.260Z","v":0}

Debug logs: No reaction from the UI when selecting 'View > Debug logs'

Programmer tools: No content at all in the chromium panels for Elements, Console, Sources, etc.

Processes:

user     8454  1.0  0.4 625468 153040 pts/2   SLl+ 09:46   0:04 /opt/Signal Beta/signal-desktop-beta
user     8457  0.0  0.1 198784 42632 pts/2    S+   09:46   0:00 /opt/Signal Beta/signal-desktop-beta --type=zygote
user     8459  0.0  0.0 198784 10992 pts/2    S+   09:46   0:00 /opt/Signal Beta/signal-desktop-beta --type=zygote
user     8484  0.5  0.4 588512 134932 pts/2   Sl+  09:46   0:02 /opt/Signal Beta/signal-desktop-beta --type=gpu-process --field-trial-handle=1914009572212726885,17358998155070874458,131072 --enable-features=WebComponentsV0Enabled --disable-features=SpareRendererForSitePerProcess --gpu-preferences=KAAAAAAAAAAgAAAgAAAAAAAAYAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAA --shared-files
user     8489  0.0  0.1 265504 49696 pts/2    Sl+  09:46   0:00 /opt/Signal Beta/signal-desktop-beta --type=utility --field-trial-handle=1914009572212726885,17358998155070874458,131072 --enable-features=WebComponentsV0Enabled --disable-features=SpareRendererForSitePerProcess --lang=pt-PT --service-sandbox-type=network --shared-files=v8_snapshot_data:100
user     8528  100  3.7 1709896 1238172 pts/2 Rl+  09:46   7:08 /opt/Signal Beta/signal-desktop-beta --type=renderer --field-trial-handle=1914009572212726885,17358998155070874458,131072 --enable-features=WebComponentsV0Enabled --dis ererForSitePerProcess --lang=pt-PT --app-path=/opt/Signal Beta/resources/app.asar --no-sandbox --no-zygote --native-window-open --preload=/opt/Signal Beta/resources/app.asar/preload.js --enable-remote-module --background-color=#2090EA --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --no-v8-untrusted-code-mitigations --shared-files=v8_snapshot_data:100
user     8704  1.4  0.3 542288 119536 pts/2   Sl+  09:49   0:03 /opt/Signal Beta/signal-desktop-beta --type=renderer --field-trial-handle=1914009572212726885,17358998155070874458,131072 --enable-features=WebComponentsV0Enabled --disable-features=SpareRendererForSitePerProcess --lang=pt-PT --app-path=/opt/Signal Beta/resources/app.asar --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=9 --no-v8-untrusted-code-mitigations --shared-files=v8_snapshot_data:100

These processes are running with PID 8528 consistently using ~100% of a CPU core and ~3.7% RAM.

Please let me know any further logs I can provide.

maysara commented 4 years ago

I'm facing the same/similar issue on a fresh install inside docker, a linux container installing via apt

scottnonnenberg-signal commented 4 years ago

@naconner @maysara What happens if you start up desktop with an additional command-line flag: --disable-gpu?

scottnonnenberg-signal commented 4 years ago

@naconner @maysara Also, are you on Intel graphics hardware? There is apparently a problem on Kernel 5.5.x being discussed here: https://github.com/electron/electron/issues/21415

scottnonnenberg-signal commented 4 years ago

Another thing to try would be the --verbose flag to see if we can tease out any of the errors likely happening under the covers.

scottnonnenberg-signal commented 4 years ago

@naconner @maysara Do you use Chromium or Google Chrome? Electron 8 is based on Chrome/80.0.3987.86, so it would be a good double-check to see if you can run one of those browsers on your machine.

alexanderadam commented 4 years ago

I can reproduce this issue again on a currently running machine running KDE.

However, now as this issue appeared, I decided to

  1. close Signal (v1.31.0)
  2. delete the whole user directory
  3. restart it (with --disable-gpu --verbose)

so that it would regularly want me to pair the client again.

However, in this state this does not work at all.

It just shows a blue screen with the signal logo in the center. There's nothing in the JS console and the only dialogue that's working is the About Signal Desktop one.

If I try to open Preferences it will only open a blue window without any window decorations. Also opening the empty & blue window is very slow. I can close it by hitting ESC key though.

Here is a gif that shows what I mean: Signal_issue

STDOUT shows this (click to show) ``` 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: /root/.config/Signal config/get: Did not find user config file, cache is now empty object x-attr dependncy did not load successfully config/get: Successfully read ephemeral config file Gtk-Message: 12:25:02.282: GtkDialog mapped without a transient parent. This is discouraged. ```

Before the desktop client worked flawless the whole day but with the last start of Signal obviously something changed.

are you on Intel graphics hardware? There is apparently a problem on Kernel 5.5.x being discussed

  1. As summarized earlier this bug affected also non Linux environments, didn't it? :thinking:
  2. Other electron apps like VSCode still seem to work flawlessly for me.
  3. The mentioned repainting issue ("hiding and re-showing the window gives a blank image") does not happen in my case.

Do you use Chromium or Google Chrome? Electron 8 is based on Chrome/80.0.3987.86, so it would be a good double-check to see if you can run one of those browsers on your machine.

The browser that shows GitHub in the background of the gif is Chrome 80.0.3987.122 (Official Build) (64-bit)

PS: It seems that I was wrong about the closing issue. It does not hang forever. It just takes very long which is why I thought I had to kill it.

scottnonnenberg-signal commented 4 years ago

@alexanderadam @naconner @maysara We just released a new v1.32 beta with an updated version of Electron. Please try it out!

alexanderadam commented 4 years ago

The current beta doesn't show anything. Not even menus or a logo. It's just grey:

Screenshot_20200304_081510

But at least it is exiting fast in this state.

What could be the reason that other Electron applications don't have this issue on my system?

scottnonnenberg-signal commented 4 years ago

@alexanderadam We're using the newest stable version of Electron, 8.0.2. Maybe your other electron apps are on older versions? That's the working theory, at least. Your investigation is much appreciated, since we haven't seen this on any of our linux machines or VMs.

What's your kernel/distro by the way?

hacktivateit commented 4 years ago

i have exactly the same issue as @alexanderadam

I'm using Arch Linux with Linux 5.5.7.2

Tried both the latest community package and the beta from AUR

scottnonnenberg-signal commented 4 years ago

For those who are experiencing the blue screen on Linux: we spoke with the Electron folks, and they recommend that you try Electron 8.0.3 by itself, with no Signal Desktop-specific code. Try these steps:

mkdir test
cd test
wget https://github.com/electron/electron/releases/download/v8.0.3/electron-v8.0.3-linux-x64.zip
unzip electron-v8.0.3-linux-x64.zip
./electron --no-sandbox

You should see a window pop up with a list of component versions and the Electron logo. Please let us know how that goes!

CrypticaScriptura commented 4 years ago

Thanks @scottnonnenberg-signal!

I first encountered this with my prior report (v1.32.0-beta2, Xubuntu 19.10, kernel 5.5.5). Further updates to the Ubuntu signal-desktop-beta package have persisted with the aforementioned fully blue screen (now on v1.32.0-beta6 and kernel 5.5.8).

Since then, I went back to the stable release (v1.31.x), installed alongside the beta, which had worked as expected until today after updating to the latest (v1.32.0).

Now I am experiencing it for the first time on signal-desktop and on two separate systems: the previously reported Xubuntu 19.10 and newly on my other machine on Xubuntu 18.04 LTS (kernel 5.3.0). In both instances, this began immediately after moving from v1.31 to v1.32.

'/opt/Signal Beta/signal-desktop-beta' --disable-gpu --verbose --no-sandbox %U
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop-beta' }
NODE_ENV production
NODE_CONFIG_DIR /opt/Signal Beta/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 Beta
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":"desktop","pid":10044,"level":30,"msg":"app ready","time":"2020-03-05T22:11:53.006Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"starting version 1.32.0-beta.6","time":"2020-03-05T22:11:53.006Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"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-05T22:11:53.017Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"Initializing BrowserWindow config: {\"show\":true,\"width\":1243,\"height\":1178,\"minWidth\":680,\"minHeight\":550,\"autoHideMenuBar\":false,\"backgroundColor\":\"#2090EA\",\"vibrancy\":\"appearance-based\",\"webPreferences\":{\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"/opt/Signal Beta/resources/app.asar/preload.js\",\"nativeWindowOpen\":true},\"icon\":\"/opt/Signal Beta/resources/app.asar/images/icon_256.png\",\"x\":298,\"y\":112}","time":"2020-03-05T22:11:53.162Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"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-05T22:11:53.202Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-05T22:11:53.224Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-05T22:11:53.234Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"Finish ensuring permissions in 12ms","time":"2020-03-05T22:11:53.236Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-05T22:11:53.360Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-05T22:11:53.733Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":1243,\"height\":1178,\"x\":299,\"y\":140}","time":"2020-03-05T22:11:53.733Z","v":0}
{"name":"log","hostname":"desktop","pid":10044,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-05T22:11:53.733Z","v":0}

I haven't yet deleted my user directory. Shall I? Happy to try any further steps.

scottnonnenberg-signal commented 4 years ago

Didn't mean to close this, BTW. Reopening.

CrypticaScriptura commented 4 years ago

Thanks. Just tried moving away my ~/.config/Signal directory and making an empty directory in its place. The new directory is populated with various default files upon running signal-desktop v1.32.0, but results in the same blue screen (without memory of the prior window size, as expected):

cat ~/.config/Signal/logs/log.log 
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"app ready","time":"2020-03-05T23:40:16.954Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"starting version 1.32.0","time":"2020-03-05T23:40:16.955Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"key/initialize: Generating new encryption key, since we did not find it on disk","time":"2020-03-05T23:40:16.964Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"config/set: Saving user config to disk","time":"2020-03-05T23:40:16.964Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"migrateSchemaVersion: Migrating from schema_version 0 to user_version 0","time":"2020-03-05T23:40:16.968Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"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-05T23:40:16.976Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion1: starting...","time":"2020-03-05T23:40:16.976Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion1: success!","time":"2020-03-05T23:40:16.990Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion2: starting...","time":"2020-03-05T23:40:16.990Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion2: success!","time":"2020-03-05T23:40:17.003Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion3: starting...","time":"2020-03-05T23:40:17.003Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion3: success!","time":"2020-03-05T23:40:17.014Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion4: starting...","time":"2020-03-05T23:40:17.015Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion4: success!","time":"2020-03-05T23:40:17.025Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion6: starting...","time":"2020-03-05T23:40:17.025Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion6: success!","time":"2020-03-05T23:40:17.037Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion7: starting...","time":"2020-03-05T23:40:17.038Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion7: success!","time":"2020-03-05T23:40:17.051Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion8: starting...","time":"2020-03-05T23:40:17.052Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion8: success!","time":"2020-03-05T23:40:17.065Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion9: starting...","time":"2020-03-05T23:40:17.065Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion9: success!","time":"2020-03-05T23:40:17.074Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion10: starting...","time":"2020-03-05T23:40:17.075Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion10: success!","time":"2020-03-05T23:40:17.092Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion11: starting...","time":"2020-03-05T23:40:17.092Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion11: success!","time":"2020-03-05T23:40:17.100Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion12: starting...","time":"2020-03-05T23:40:17.100Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion12: success!","time":"2020-03-05T23:40:17.111Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion13: starting...","time":"2020-03-05T23:40:17.111Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion13: success!","time":"2020-03-05T23:40:17.121Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion14: starting...","time":"2020-03-05T23:40:17.122Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion14: success!","time":"2020-03-05T23:40:17.130Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion15: starting...","time":"2020-03-05T23:40:17.131Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion15: success!","time":"2020-03-05T23:40:17.147Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion16: starting...","time":"2020-03-05T23:40:17.147Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion16: success!","time":"2020-03-05T23:40:17.167Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion17: starting...","time":"2020-03-05T23:40:17.167Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion17: Index messages_view_once did not already exist","time":"2020-03-05T23:40:17.170Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion17: success!","time":"2020-03-05T23:40:17.180Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion18: starting...","time":"2020-03-05T23:40:17.180Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion18: success!","time":"2020-03-05T23:40:17.190Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion19: starting...","time":"2020-03-05T23:40:17.190Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"updateToSchemaVersion19: success!","time":"2020-03-05T23:40:17.204Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Location reset needed","time":"2020-03-05T23:40:17.207Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"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-05T23:40:17.207Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"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-05T23:40:17.249Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-05T23:40:17.276Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-05T23:40:17.296Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Finish ensuring permissions in 22ms","time":"2020-03-05T23:40:17.298Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-05T23:40:17.480Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-05T23:40:17.783Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":881,\"y\":455}","time":"2020-03-05T23:40:17.783Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-05T23:40:17.783Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":672,\"y\":175}","time":"2020-03-05T23:40:19.476Z","v":0}
{"name":"log","hostname":"desktop","pid":18480,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-05T23:40:19.477Z","v":0}
scottnonnenberg-signal commented 4 years ago

@naconner Thanks for that additional investigation. It might be helpful to figure out where Signal Desktop has gotten stuck using some of the commands discussed here: https://unix.stackexchange.com/questions/166541/how-to-know-where-a-program-is-stuck-in-linux

Please also feel free to reach out to me directly.

scottnonnenberg-signal commented 4 years ago

Please also try starting up with the --enable-logging argument; that might give us some more information as well.

scottnonnenberg-signal commented 4 years ago

And one more argument to try: --disable-software-rasterizer

CrypticaScriptura commented 4 years ago

With --enable-logging, I'm not seeing greater logging than before:

$ '/opt/Signal/signal-desktop' --disable-gpu --verbose --enable-logging --no-sandbox %U
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":"desktop","pid":26719,"level":30,"msg":"app ready","time":"2020-03-06T03:16:16.973Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"starting version 1.32.0","time":"2020-03-06T03:16:16.973Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"key/initialize: Generating new encryption key, since we did not find it on disk","time":"2020-03-06T03:16:16.981Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"config/set: Saving user config to disk","time":"2020-03-06T03:16:16.982Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"migrateSchemaVersion: Migrating from schema_version 0 to user_version 0","time":"2020-03-06T03:16:16.985Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"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-06T03:16:17.005Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion1: starting...","time":"2020-03-06T03:16:17.005Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion1: success!","time":"2020-03-06T03:16:17.019Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion2: starting...","time":"2020-03-06T03:16:17.020Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion2: success!","time":"2020-03-06T03:16:17.031Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion3: starting...","time":"2020-03-06T03:16:17.032Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion3: success!","time":"2020-03-06T03:16:17.042Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion4: starting...","time":"2020-03-06T03:16:17.042Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion4: success!","time":"2020-03-06T03:16:17.051Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion6: starting...","time":"2020-03-06T03:16:17.051Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion6: success!","time":"2020-03-06T03:16:17.063Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion7: starting...","time":"2020-03-06T03:16:17.063Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion7: success!","time":"2020-03-06T03:16:17.079Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion8: starting...","time":"2020-03-06T03:16:17.079Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion8: success!","time":"2020-03-06T03:16:17.093Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion9: starting...","time":"2020-03-06T03:16:17.093Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion9: success!","time":"2020-03-06T03:16:17.104Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion10: starting...","time":"2020-03-06T03:16:17.104Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion10: success!","time":"2020-03-06T03:16:17.123Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion11: starting...","time":"2020-03-06T03:16:17.123Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion11: success!","time":"2020-03-06T03:16:17.132Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion12: starting...","time":"2020-03-06T03:16:17.132Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion12: success!","time":"2020-03-06T03:16:17.144Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion13: starting...","time":"2020-03-06T03:16:17.144Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion13: success!","time":"2020-03-06T03:16:17.154Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion14: starting...","time":"2020-03-06T03:16:17.155Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion14: success!","time":"2020-03-06T03:16:17.164Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion15: starting...","time":"2020-03-06T03:16:17.165Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion15: success!","time":"2020-03-06T03:16:17.183Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion16: starting...","time":"2020-03-06T03:16:17.184Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion16: success!","time":"2020-03-06T03:16:17.205Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion17: starting...","time":"2020-03-06T03:16:17.205Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion17: Index messages_view_once did not already exist","time":"2020-03-06T03:16:17.208Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion17: success!","time":"2020-03-06T03:16:17.218Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion18: starting...","time":"2020-03-06T03:16:17.218Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion18: success!","time":"2020-03-06T03:16:17.230Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion19: starting...","time":"2020-03-06T03:16:17.230Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"updateToSchemaVersion19: success!","time":"2020-03-06T03:16:17.243Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Location reset needed","time":"2020-03-06T03:16:17.249Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"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-06T03:16:17.249Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"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-06T03:16:17.291Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-06T03:16:17.312Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-06T03:16:17.315Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Finish ensuring permissions in 3ms","time":"2020-03-06T03:16:17.316Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-06T03:16:17.445Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-06T03:16:17.824Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":881,\"y\":455}","time":"2020-03-06T03:16:17.824Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-06T03:16:17.824Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":253,\"y\":369}","time":"2020-03-06T03:16:20.734Z","v":0}
{"name":"log","hostname":"desktop","pid":26719,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-06T03:16:20.734Z","v":0}

Using --disable-software-rasterizer, I'm also getting the blue screen:

$ '/opt/Signal/signal-desktop' --disable-gpu --disable-software-rasterizer --verbose --enable-logging --no-sandbox %U
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: 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":"desktop","pid":28016,"level":30,"msg":"app ready","time":"2020-03-06T03:22:54.384Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"starting version 1.32.0","time":"2020-03-06T03:22:54.384Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"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-06T03:22:54.396Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"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\":253,\"y\":369}","time":"2020-03-06T03:22:54.405Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"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-06T03:22:54.450Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"Begin ensuring permissions","time":"2020-03-06T03:22:54.470Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"Ensuring file permissions for 2 files","time":"2020-03-06T03:22:54.474Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"Finish ensuring permissions in 5ms","time":"2020-03-06T03:22:54.475Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":40,"msg":"(electron) 'systemPreferences.isDarkMode()' is deprecated and will be removed. Please use 'nativeTheme.shouldUseDarkColors' instead.","time":"2020-03-06T03:22:54.609Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":40,"msg":"(electron) 'isMenuBarAutoHide function' is deprecated and will be removed. Please use 'autoHideMenuBar property' instead.","time":"2020-03-06T03:22:54.983Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"Updating BrowserWindow config: {\"maximized\":false,\"autoHideMenuBar\":false,\"fullscreen\":false,\"width\":800,\"height\":610,\"x\":254,\"y\":397}","time":"2020-03-06T03:22:54.983Z","v":0}
{"name":"log","hostname":"desktop","pid":28016,"level":30,"msg":"config/set: Saving ephemeral config to disk","time":"2020-03-06T03:22:54.983Z","v":0}

Stack trace stuff:

$ sudo cat /proc/28016/stack
[<0>] poll_schedule_timeout.constprop.0+0x46/0x70
[<0>] do_sys_poll+0x3ee/0x520
[<0>] __x64_sys_poll+0xa5/0x140
[<0>] do_syscall_64+0x57/0x1b0
[<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
$ sudo pstack 28016

28016: /opt/Signal/signal-desktop --disable-gpu --disable-software-rasterizer --verbose --enable-logging --no-sandbox %U
(No symbols found)
0x7f8e898e2c2f: ???? (100000023, 100000034, 55123f5b7be14779, 0, 0, 389d9b9185a8) + ffffc76363b86e2a
crawl: Input/output error
Error tracing through process 28016
0x10000000b: ????

strace results:

https://gist.github.com/naconner/6f268b76988904755a20302fd4d81cd8

gdb backtrace:

$ sudo gdb -batch -ex bt -p 28016
[Nuevo LWP 28017]
[Nuevo LWP 28019]
[Nuevo LWP 28021]
[Nuevo LWP 28022]
[Nuevo LWP 28023]
[Nuevo LWP 28024]
[Nuevo LWP 28025]
[Nuevo LWP 28026]
[Nuevo LWP 28027]
[Nuevo LWP 28028]
[Nuevo LWP 28031]
[Nuevo LWP 28032]
[Nuevo LWP 28034]
[Nuevo LWP 28037]
[Nuevo LWP 28038]
[Nuevo LWP 28039]
[Nuevo LWP 28040]
[Nuevo LWP 28041]
[Nuevo LWP 28043]
[Nuevo LWP 28044]
[Nuevo LWP 28045]
[Nuevo LWP 28046]
[Nuevo LWP 28053]
[Depuración de hilo usando libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f8e898e2c2f in __GI___poll (fds=0x389d9c4791a0, nfds=4, timeout=43424) at ../sysdeps/unix/sysv/linux/poll.c:29
29  ../sysdeps/unix/sysv/linux/poll.c: Ficheiro ou directoria inexistente.
#0  0x00007f8e898e2c2f in __GI___poll (fds=0x389d9c4791a0, nfds=4, timeout=43424) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f8e8b382a3e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8e8b382b73 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x000055b46e2bba82 in ?? ()
#4  0x0000000000000008 in ?? ()
#5  0x0000389d9b744dc8 in ?? ()
#6  0x000000010168a200 in ?? ()
#7  0x00000004da119167 in ?? ()
#8  0x00000004d77afa62 in ?? ()
#9  0x0000389d9b744dc0 in ?? ()
#10 0x0000000000000001 in ?? ()
#11 0x7fffffffffffffff in ?? ()
#12 0x00007fff0168a310 in ?? ()
#13 0x000055b46e2fa398 in ?? ()
#14 0x0000389d9b744a00 in ?? ()
#15 0x00007fff0168a3e0 in ?? ()
#16 0x00007fff0168a358 in ?? ()
#17 0x00007fff0168a3b0 in ?? ()
#18 0x00007fff0168a3a0 in ?? ()
#19 0x000055b46e2d3b87 in ?? ()
#20 0x0000000000000038 in ?? ()
#21 0x00007fff0168a3b0 in ?? ()
#22 0x00007fff0168a350 in ?? ()
#23 0x000055b46e34a21b in operator new(unsigned long) ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
[Inferior 1 (process 28016) detached]
alexanderadam commented 4 years ago

What's your kernel/distro by the way?

The host is Ubuntu 18.04.4 on Kernel 4.15.0-91-generic and I'm using Signal within a Docker container as mentioned earlier. The Dockerfile is still similar to the one mentioned back then but I'm using ubuntu:latest nowadays. The bug is reproducible on both base images (bitnami/minideb:latest and ubuntu:latest), though.

For those who are experiencing the blue screen on Linux: we spoke with the Electron folks, and they recommend that you try Electron 8.0.3 by itself, with no Signal Desktop-specific code. […]

  • Running Electron 8.0.3 by itself produces the Electron window, logo, etc., giving:

Electron v8.0.3 | Chromium v80.0.3987.134 | Node v12.13.0 | v8 v8.0.426.26-electron.0

I can not confirm this. In my case it resulted into a grey window similar to the one of the Signal beta. I closes fast, too. Starting it with the buch of parameters (--disable-gpu --verbose --enable-logging --disable-software-rasterizer) results in those messages:

[1:0306/064538.900238:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[29:0306/064538.929594:ERROR:gpu_channel_manager.cc(459)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
[1:0306/064538.982051:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[29:0306/064539.028992:WARNING:x11_util.cc(1443)] X error received: serial 214, error_code 10 (BadAccess (attempt to access private resource denied)), request_code 130, minor_code 1 (X_ShmAttach)
[29:0306/064539.029238:WARNING:x11_util.cc(1443)] X error received: serial 215, error_code 2 (BadValue (integer parameter out of range for operation)), request_code 130, minor_code 3 (X_ShmPutImage)
[29:0306/064539.111476:WARNING:x11_util.cc(1443)] X error received: serial 224, error_code 128 (BadShmSeg (invalid shared segment parameter)), request_code 130, minor_code 3 (X_ShmPutImage)

Now, the DBus message made me curious and mounting /var/run/dbus/system_bus_socket, /var/run/dbus as well as activating the security option apparmor:unconfined for the Docker image leads to

[1:0306/065428.094197:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

which itself lead me to the old electron bug 10345 including familiar sounding behaviour.

Also I currently can't run Signal v1.31.0 (ubuntu:latest) but it seems that Signal v1.26.2 (bitnami/minideb:latest) works (just tried both with an empty home dir). Both are showing the Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") line thought. So I'm not entirely sure whether this error message is really related or not. Furthermore a Signal instance (1.32.0) outside the Docker container on the same machine seem to work (without the DBus message). So it seems to be related to a condition created within the container, I guess?