keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.9k stars 1.23k forks source link

missing installer.json causes empty window #12124

Open prmam opened 6 years ago

prmam commented 6 years ago

I just upgraded to F28. When I launch the desktop app in Fedora, I get only a frame and the white background. I think that I am missing the installer.json file

[sbb@dingo ~]$ /opt/keybase/Keybase Error loading state: { Error: /home/sbb/.config/Keybase/installer.json: ENOENT: no such file or directory, open '/home/sbb/.config/Keybase/installer.json' at Object.fs.openSync (fs.js:652:18) at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:172:20) at Object.fs.readFileSync (fs.js:553:33) at Object.fs.readFileSync (ELECTRON_ASAR.js:508:29) at Object.readFileSync (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:17468) at Xf.promptedForCLI.Xf (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243518) at Xf.promptedForCLI (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243669) at Object.e.version (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243665) at r (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:265) at /opt/keybase/resources/app/desktop/dist/main.bundle.js:1:680 errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/sbb/.config/Keybase/installer.json' } Only one instance of keybase GUI allowed, bailing! [sbb@dingo ~]$ ls ~/.config/Keybase/ app-state.json Cookies-journal SingletonCookie
Cache/ GPUCache/ SingletonLock
Cookies Preferences SS

maxtaco commented 6 years ago

cc: @keybase/react-hackers

chrisnojima commented 6 years ago

that error message is benign. The real issue is likely this Only one instance of keybase GUI allowed, bailing!. it thinks you have another instance running

prmam commented 6 years ago

If I do have another instance of keybase running it is not visible on any workspace. How do I force keybase to believe that it is the only instance running? I have rebooted. And the error persists. See log id 027ec5d885597b8f98ca3e1c.

prmam commented 6 years ago

Well, two updates later, the same problem still persists. The logs are different. It is no longer complaining about only one instance of keybase. I still get the white screen. On occasion, it does launch correctly. I haven't been able to find a pattern.

Another log: Quit through before-quit Quit the app Exec (null) not available for platform: darwin != linux Done with ctlstop Browser window crashed: { preventDefault: [Function: preventDefault], sender: WebContents { webContents: [Circular], history: [ 'file:///opt/keybase/resources/app/desktop/renderer/renderer.html?menubar' ], currentIndex: 0, pendingIndex: -1, inPageIndex: -1, _events: { 'navigation-entry-commited': [Function], 'ipc-message': [Function], 'ipc-message-sync': [Function], 'pepper-context-menu': [Function], 'devtools-reload-page': [Function], 'will-navigate': [Function], 'did-navigate': [Function], destroyed: [Object], 'devtools-opened': [Function], '-new-window': [Function], '-web-contents-created': [Function], '-add-new-contents': [Function], move: [Function], activate: [Function], 'page-title-updated': [Function], crashed: [Function], 'did-finish-load': [Function: callIntoRenderer], 'render-view-deleted': [Function: listener], 'context-menu': [Function: callIntoRenderer] }, _eventsCount: 19, _maxListeners: 0, browserWindowOptions: { show: false, frame: false, index: 'file:///opt/keybase/resources/app/desktop/renderer/renderer.html?menubar', nodeIntegration: false, width: 320, height: 350, resizable: false, hasShadow: true, transparent: true, preloadWindow: true, icon: '/opt/keybase/resources/app/images/menubarIcon/icon-keybase-menubar-regular-white-22@2x.png', showDockIcon: true, dir: '/opt/keybase/resources/app', windowPosition: 'trayCenter', tooltip: '' } } } Browser window crashed: { preventDefault: [Function: preventDefault], sender: WebContents { webContents: [Circular], history: [ 'file:///opt/keybase/resources/app/desktop/renderer/renderer.html?mainWindow' ], currentIndex: 0, pendingIndex: -1, inPageIndex: -1, _events: { 'navigation-entry-commited': [Function], 'ipc-message': [Function], 'ipc-message-sync': [Function], 'pepper-context-menu': [Function], 'devtools-reload-page': [Function], 'will-navigate': [Function], 'did-navigate': [Function], destroyed: [Object], 'devtools-opened': [Function], '-new-window': [Function], '-web-contents-created': [Function], '-add-new-contents': [Function], move: [Function], activate: [Function], 'page-title-updated': [Function], crashed: [Function], 'did-finish-load': [Function], 'render-view-deleted': [Function: listener], 'context-menu': [Function: callIntoRenderer] }, _eventsCount: 19, _maxListeners: 0, browserWindowOptions: { show: false, backgroundThrottling: false, height: 600, minHeight: 400, minWidth: 600, width: 845, x: 2974, y: 410 } } } Login item settings changed! now true Error loading state: { Error: /home/sbb/.config/Keybase/installer.json: ENOENT: no such file or directory, open '/home/sbb/.config/Keybase/installer.json' at Object.fs.openSync (fs.js:652:18) at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:172:20) at Object.fs.readFileSync (fs.js:553:33) at Object.fs.readFileSync (ELECTRON_ASAR.js:508:29) at Object.readFileSync (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:17468) at Xf.promptedForCLI.Xf (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243570) at Xf.promptedForCLI (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243721) at Object.e.version (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243717) at r (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:265) at /opt/keybase/resources/app/desktop/dist/main.bundle.js:1:680 errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/sbb/.config/Keybase/installer.json' } Version: 2.0.0-20180604163022+f899a761a7 Check bounds: { height: 600, width: 845, x: 2974, y: 410 } { x: 1920, y: 0, width: 1920, height: 1080 } { x: 1920, y: 0, width: 1920, height: 1080 } Setting login item due to user pref Opened at login: false Is restore: false Open hidden: false Hide main window: false Login item settings changed! now true Hide dock icon: false Error: Error: No keybase bin path at Zf (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243926) at EventEmitter.s.on (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:249959) at emitOne (events.js:115:13) at EventEmitter.emit (events.js:210:7) at WebContents. (/opt/keybase/resources/electron.asar/browser/api/web-contents.js:266:13) at emitTwo (events.js:125:13) at WebContents.emit (events.js:213:7) Login item settings changed! now true

maxtaco commented 6 years ago

If you keybase log send we can take a look

prmam commented 6 years ago

Success! Your log ID is: 6ed1c111995ae59f9048661c

maxtaco commented 6 years ago

cc @oconnor663 looks like a linux crasher. or maybe @cjb, it's in electron?

oconnor663 commented 6 years ago

The easiest way to get rid of the running instance is killall /opt/keybase/Keybase. If you try that, and then rerun /opt/keybase/Keybase from your terminal, what happens?

majorgreys commented 6 years ago

@oconnor663 @maxtaco I too am getting an empty window (only re-started using the app this morning). I tried killall /opt/keybase/Keybase but still get this:

$ ps x | grep -i keybase                                                                                                                                                        
25100 ?        Ssl    0:00 /usr/bin/keybase --debug --log-file=/home/tbutt/.cache/keybase/keybase.service.log service                                                                         
27861 pts/4    S      0:00 grep --color=auto -i keybase
$ /opt/keybase/Keybase                                                                                                                                                          (liwwa-id-3.6)
Error loading state: { Error: /home/tbutt/.config/Keybase/installer.json: ENOENT: no such file or directory, open '/home/tbutt/.config/Keybase/installer.json'                                
    at Object.fs.openSync (fs.js:652:18)
    at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:172:20)
    at Object.fs.readFileSync (fs.js:553:33)
    at Object.fs.readFileSync (ELECTRON_ASAR.js:508:29)
    at Object.readFileSync (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:17468)
    at Xf.promptedForCLI.Xf (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243570)
    at Xf.promptedForCLI (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243721)
    at Object.e.version (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243717)
    at r (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:265)
    at /opt/keybase/resources/app/desktop/dist/main.bundle.js:1:680
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/tbutt/.config/Keybase/installer.json' }
Version: 2.1.0-20180605160111+8044871b01
Check bounds: { height: 1026, width: 1920, x: 0, y: 54 } { x: 0, y: 0, width: 1920, height: 1080 } { x: 0, y: 0, width: 1920, height: 1080 }                                                  
Setting login item due to user pref
Opened at login: false
Is restore: false
Open hidden: false
Hide main window: false
Login item settings changed! now true
Hide dock icon: false
Error:  Error: No keybase bin path
    at Zf (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:243926)
    at EventEmitter.s.on (/opt/keybase/resources/app/desktop/dist/main.bundle.js:1:249959)
    at emitOne (events.js:115:13)
    at EventEmitter.emit (events.js:210:7)
    at WebContents.<anonymous> (/opt/keybase/resources/electron.asar/browser/api/web-contents.js:266:13)                                                                                      
    at emitTwo (events.js:125:13)
    at WebContents.emit (events.js:213:7)
Quit through before-quit
Quit the app
Exec (null) not available for platform: darwin != linux
Done with ctlstop
Login item settings changed! now true

But it's also sporadic. It worked now after I tried sending in the log (70094e683548c88f7a9c431c).

majorgreys commented 6 years ago

Another log while an empty window was up: 5f3f2eb5f84a93895d921e1c

maxtaco commented 6 years ago

cc @keybase/react-hackers with new logs

oconnor663 commented 6 years ago

I'm playing with a Fedora 28 vm right now. There's at least one major issue there: the latest version of Gnome no longer shows tray icons by default. For me to get my tray icons back, I need to install the "topicons" Gnome plugin and reconfigure my entire session to run under "Gnome on X11". I hate this situation, but it seems like something Electron and Gnome are going to have to figure out between themselves.

But this doesn't sound quite like the issue people are reporting here. When I run run_keybase, I see the full Keybase GUI window appear, whether or not the tray icons are working. Folks in this thread, what happens when you run run_keybase? Is there any difference if you try

KEYBASE_SYSTEMD=0 run_keybase
oconnor663 commented 6 years ago

To clarify, there are two apparent errors in the GUI log output that are really just ignored:

Those two aren't the problem. We'll clean them up at some point soon.

oconnor663 commented 6 years ago

I'd also love to know more about the machines everyone's running, particularly graphics cards (white screens in Electron could be a graphics issue). If you get a chance, could you write in:

majorgreys commented 6 years ago

@oconnor663 sure hope this helps:

[tbutt@mantis ~]$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
[tbutt@mantis ~]$ uname -a
Linux mantis 4.16.13-2-ARCH #1 SMP PREEMPT Fri Jun 1 18:46:11 UTC 2018 x86_64 GNU/Linux
[tbutt@mantis ~]$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
[tbutt@mantis ~]$ glxinfo | grep -i intel
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
prmam commented 6 years ago
$ cat /etc/os-release 
NAME=Fedora
VERSION="28 (Workstation Edition)"
ID=fedora
VERSION_ID=28
PLATFORM_ID="platform:f28"
PRETTY_NAME="Fedora 28 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:28"
HOME_URL="https://fedoraproject.org/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=28
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=28
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Workstation Edition"
VARIANT_ID=workstation
$ uname -a
Linux dingo 4.16.13-300.fc28.x86_64 #1 SMP Wed May 30 14:31:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1)
$ glxinfo | grep -i vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
    Vendor: VMware, Inc. (0xffffffff)
OpenGL vendor string: VMware, Inc.
oconnor663 commented 6 years ago

This is weird. @prmam and @majorgreys, you're both seeing pure white windows when you do run_keybase? And also when you do KEYBASE_SYSTEMD=0 run_keybase? Updating to this morning's release (2.1.0-20180607041058+2c3323537e) doesn't fix anything?

But you're on different distros, with different graphics cards. I'm on Arch/NVIDIA myself, and when I try Fedora 28 in a VM it works fine. I'm not sure what to try next to get a repro.

chrisnojima commented 6 years ago

try this setting to turn on the console

  1. Find the path to your log file. Run keybase status and find your Desktop app: log path Keybase.app.log
  2. Make a new file next to that file called Keybase.app.debug with the following contents
{
  "enableActionLogging": true,
  "forceImmediateLogging": true,
  "printRPC": true,
  "showDevTools": true,
  "skipSecondaryDevtools": false
}
prmam commented 6 years ago

I still have the same problem with build keybase-2.1.0.20180607041058.2c3323537e-1.x86_64 I enabled debug and uploaded the log. Log ID is: 814f1fd75adfe026dd99fb1c My poor recollection says that it worked fine for the first few updates to F28. Then it started failing. It does work on rare occasions. When it does, I will try to capture a log so that you have it for comparison.