timbertson / shellshape

tiling window manager extension for gnome-shell
http://gfxmonk.net/shellshape/
Other
396 stars 38 forks source link

Crashes gnome-shell upon shell restart, possibly involving monitor hotplug #170

Closed inducer closed 7 years ago

inducer commented 8 years ago

Because of

https://bugzilla.gnome.org/show_bug.cgi?id=758302

I am currently restarting gnome-shell fairly often. Unfortunately, shellshape makes this a risky proposition, because upon that restart, some amount of the time, shellshape hits this assert and makes gnome-shell die:

Mär 25 11:50:56 bolt gnome-session[2016]: INFO : monitors changed
Mär 25 11:50:56 bolt gnome-session[2016]: INFO : monitors changed
Mär 25 11:50:59 bolt gnome-session[2016]: INFO : monitors changed
Mär 25 11:50:59 bolt gnome-session[2016]: INFO : monitors changed
Mär 25 11:50:59 bolt gnome-session[2016]: INFO : monitors changed
Mär 25 11:51:03 bolt gnome-session[2016]: INFO : Garbage collecting 2 windows
Mär 25 11:55:49 bolt gnome-session[2016]: (gnome-settings-daemon:2162): media-keys-plugin-WARNING **: Could not find accelerator for accel id 225
Mär 25 11:55:51 bolt gnome-session[2016]: (gnome-settings-daemon:2162): media-keys-plugin-WARNING **: Could not find accelerator for accel id 225
Mär 25 11:55:52 bolt gnome-session[2016]: (gnome-settings-daemon:2162): media-keys-plugin-WARNING **: Could not find accelerator for accel id 225
Mär 25 11:55:52 bolt gnome-session[2016]: (gnome-settings-daemon:2162): media-keys-plugin-WARNING **: Could not find accelerator for accel id 225
Mär 25 11:55:54 bolt gnome-session[2016]: Window manager warning: CurrentTime used to choose focus window; focus window may not be correct.
Mär 25 11:55:56 bolt gnome-session[2016]: current session already has an ibus-daemon.
Mär 25 11:55:56 bolt gnome-session[2016]: Gjs-Message: JS WARNING: [/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js 1918]: anonymous function does not always return a value
Mär 25 11:55:56 bolt gnome-session[2016]: Gjs-Message: JS WARNING: [/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/lib/log4javascript.js 622]: anonymous function does not always return a value
Mär 25 11:55:56 bolt gnome-session[2016]: Gjs-Message: JS LOG: adding icon dir: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/icons
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : initting schemas
Mär 25 11:55:56 bolt gnome-session[2016]: WARN : loading schema from: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/glib-2.0/schemas
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : translations initted for shellshape
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : shellshape initialized!
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : shellshape enable() called
Mär 25 11:55:56 bolt gnome-session[2016]: ERROR: Uncaught error in initialize indicator: Error: assertion failed
Mär 25 11:55:56 bolt gnome-session[2016]: assert@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3
Mär 25 11:55:56 bolt gnome-session[2016]: get_workspace_at@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2648
Mär 25 11:55:56 bolt gnome-session[2016]: current_workspace@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2706
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.prototype._current_workspace@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1709
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.prototype._active_item@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1692
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.prototype._update_indicator@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1704
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.prototype._workspaceChanged@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1688
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.prototype._init@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1643
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1561
Mär 25 11:55:56 bolt gnome-session[2016]: ShellshapeIndicator.enable@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1565
Mär 25 11:55:56 bolt gnome-session[2016]: Ext/self._init_prefs/update@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3122
Mär 25 11:55:56 bolt gnome-session[2016]: _do@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2617
Mär 25 11:55:56 bolt gnome-session[2016]: Ext/self._init_prefs/<@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3129
Mär 25 11:55:56 bolt gnome-session[2016]: Ext/self._init_prefs@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3116
Mär 25 11:55:56 bolt gnome-session[2016]: _do@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2617
Mär 25 11:55:56 bolt gnome-session[2016]: Ext/self.enable@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3224
Mär 25 11:55:56 bolt gnome-session[2016]: enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:128
Mär 25 11:55:56 bolt gnome-session[2016]: loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:170
Mär 25 11:55:56 bolt gnome-session[2016]: _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:297
Mär 25 11:55:56 bolt gnome-session[2016]: _emit@resource:///org/gnome/gjs/modules/signals.js:124
Mär 25 11:55:56 bolt gnome-session[2016]: ExtensionFinder<._loadExtension@resource:///org/gnome/shell/misc/extensionUtils.js:174
Mär 25 11:55:56 bolt gnome-session[2016]: wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Mär 25 11:55:56 bolt gnome-session[2016]: bind/<@resource:///org/gnome/gjs/modules/lang.js:95
Mär 25 11:55:56 bolt gnome-session[2016]: collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27
Mär 25 11:55:56 bolt gnome-session[2016]: ExtensionFinder<.scanExtensions@resource:///org/gnome/shell/misc/extensionUtils.js:179
Mär 25 11:55:56 bolt gnome-session[2016]: wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Mär 25 11:55:56 bolt gnome-session[2016]: _loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:299
Mär 25 11:55:56 bolt gnome-session[2016]: enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:307
Mär 25 11:55:56 bolt gnome-session[2016]: _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:338
Mär 25 11:55:56 bolt gnome-session[2016]: init@resource:///org/gnome/shell/ui/extensionSystem.js:346
Mär 25 11:55:56 bolt gnome-session[2016]: _initializeUI@resource:///org/gnome/shell/ui/main.js:209
Mär 25 11:55:56 bolt gnome-session[2016]: start@resource:///org/gnome/shell/ui/main.js:120
Mär 25 11:55:56 bolt gnome-session[2016]: @<main>:1
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : initting schemas
Mär 25 11:55:56 bolt gnome-session[2016]: WARN : loading schema from: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/glib-2.0/schemas
Mär 25 11:55:56 bolt gnome-session[2016]: INFO : shellshape enabled
Mär 25 11:55:56 bolt gnome-session[2016]: WARN : Layout.tile_for(null)
Mär 25 11:55:56 bolt gnome-session[2016]: gnome-session-binary[2016]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Mär 25 11:55:56 bolt gnome-session-binary[2016]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Mär 25 11:55:57 bolt gnome-session[2016]: current session already has an ibus-daemon.
Mär 25 11:55:57 bolt gnome-session[2016]: Gjs-Message: JS WARNING: [/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js 1918]: anonymous function does not always return a value
Mär 25 11:55:57 bolt gnome-session[2016]: Gjs-Message: JS WARNING: [/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/lib/log4javascript.js 622]: anonymous function does not always return a value
Mär 25 11:55:57 bolt gnome-session[2016]: Gjs-Message: JS LOG: adding icon dir: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/icons
Mär 25 11:55:57 bolt gnome-session[2016]: INFO : initting schemas
Mär 25 11:55:57 bolt gnome-session[2016]: WARN : loading schema from: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/glib-2.0/schemas
Mär 25 11:55:57 bolt gnome-session[2016]: INFO : translations initted for shellshape
Mär 25 11:55:57 bolt gnome-session[2016]: INFO : shellshape initialized!
Mär 25 11:55:57 bolt gnome-session[2016]: INFO : shellshape enable() called
Mär 25 11:55:58 bolt gnome-session[2016]: ERROR: Uncaught error in initialize indicator: Error: assertion failed
Mär 25 11:55:58 bolt gnome-session[2016]: assert@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3
Mär 25 11:55:58 bolt gnome-session[2016]: get_workspace_at@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2648
Mär 25 11:55:58 bolt gnome-session[2016]: current_workspace@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2706
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.prototype._current_workspace@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1709
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.prototype._active_item@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1692
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.prototype._update_indicator@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1704
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.prototype._workspaceChanged@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1688
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.prototype._init@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1643
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1561
Mär 25 11:55:58 bolt gnome-session[2016]: ShellshapeIndicator.enable@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:1565
Mär 25 11:55:58 bolt gnome-session[2016]: Ext/self._init_prefs/update@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3122
Mär 25 11:55:58 bolt gnome-session[2016]: _do@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2617
Mär 25 11:55:58 bolt gnome-session[2016]: Ext/self._init_prefs/<@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3129
Mär 25 11:55:58 bolt gnome-session[2016]: Ext/self._init_prefs@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3116
Mär 25 11:55:58 bolt gnome-session[2016]: _do@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:2617
Mär 25 11:55:58 bolt gnome-session[2016]: Ext/self.enable@/home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/extension.js:3224
Mär 25 11:55:58 bolt gnome-session[2016]: enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:128
Mär 25 11:55:58 bolt gnome-session[2016]: loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:170
Mär 25 11:55:58 bolt gnome-session[2016]: _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:297
Mär 25 11:55:58 bolt gnome-session[2016]: _emit@resource:///org/gnome/gjs/modules/signals.js:124
Mär 25 11:55:58 bolt gnome-session[2016]: ExtensionFinder<._loadExtension@resource:///org/gnome/shell/misc/extensionUtils.js:174
Mär 25 11:55:58 bolt gnome-session[2016]: wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Mär 25 11:55:58 bolt gnome-session[2016]: bind/<@resource:///org/gnome/gjs/modules/lang.js:95
Mär 25 11:55:58 bolt gnome-session[2016]: collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27
Mär 25 11:55:58 bolt gnome-session[2016]: ExtensionFinder<.scanExtensions@resource:///org/gnome/shell/misc/extensionUtils.js:179
Mär 25 11:55:58 bolt gnome-session[2016]: wrapper@resource:///org/gnome/gjs/modules/lang.js:178
Mär 25 11:55:58 bolt gnome-session[2016]: _loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:299
Mär 25 11:55:58 bolt gnome-session[2016]: enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:307
Mär 25 11:55:58 bolt gnome-session[2016]: _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:338
Mär 25 11:55:58 bolt gnome-session[2016]: init@resource:///org/gnome/shell/ui/extensionSystem.js:346
Mär 25 11:55:58 bolt gnome-session[2016]: _initializeUI@resource:///org/gnome/shell/ui/main.js:209
Mär 25 11:55:58 bolt gnome-session[2016]: start@resource:///org/gnome/shell/ui/main.js:120
Mär 25 11:55:58 bolt gnome-session[2016]: @<main>:1
Mär 25 11:55:58 bolt gnome-session[2016]: INFO : initting schemas
Mär 25 11:55:58 bolt gnome-session[2016]: WARN : loading schema from: /home/andreas/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/glib-2.0/schemas
Mär 25 11:55:58 bolt gnome-session[2016]: INFO : shellshape enabled
Mär 25 11:55:58 bolt gnome-session[2016]: WARN : Layout.tile_for(null)
Mär 25 11:55:58 bolt gnome-session[2016]: gnome-session-binary[2016]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Mär 25 11:55:58 bolt gnome-session[2016]: gnome-session-binary[2016]: WARNING: App 'gnome-shell.desktop' respawning too quickly
Mär 25 11:55:58 bolt gnome-session-binary[2016]: Unrecoverable failure in required component gnome-shell.desktop
Mär 25 11:55:58 bolt gnome-session-binary[2016]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Mär 25 11:55:58 bolt gnome-session-binary[2016]: WARNING: App 'gnome-shell.desktop' respawning too quickly

which then leads to the "Oh no, something has gone wrong" screen and a forced logout.

timbertson commented 8 years ago

Hmm, it's hard to tell what's going on here.

The ERROR: assertion failed message is bad, it means that gnome-shell reports the current workspace is e.g. number 3, but immediately asking for the workspace object number 3 returns nothing. This may be a race condition in gnome-shell (maybe the workspace only gets created shortly afterwards?).

This error could cause shellshape to stop functioning correctly, but the error is not fatal and is not responsible for crashing gnome-shell. Signal 11 is a segmentation violation, which is the real cause of death, and which should be impossible to trigger from Javascript (shellshape is entirely javascript). So I'm afraid just like #169, this is a gnome-shell bug. Unfortunately such bugs are hard to reproduce consistently / easily without running shellshape, so the gnome-shell developers have a hard time diagnosing them.

inducer commented 7 years ago

Hasn't been happening in a long time, closing.