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

Shell 46 Beta error occurred in AboutToShow #502

Closed
jbicha opened this issue Feb 19, 2024 · 11 comments · Fixed by #525
Closed

Shell 46 Beta error occurred in AboutToShow #502

jbicha opened this issue Feb 19, 2024 · 11 comments · Fixed by #525

Comments

@jbicha
Copy link
Contributor

jbicha commented Feb 19, 2024

  • gnome-shell 46 Beta
  • Ubuntu 24.04 LTS
  • gnome-shell-extension-appindicator 57-2 (with 5c6400d )

My systemd journal shows the below error. The extension seems to work though.

This guide was recently published:

https://gjs.guide/extensions/upgrading/gnome-shell-46.html

Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed: error occurred in AboutToShow

Stack trace:
  _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:453:45
  @resource:///org/gnome/shell/ui/init.js:21:20
  ### Promise created here: ###
  sendAboutToShow@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:501:48
  sendAboutToShow@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:198:22
  attachToMenu@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:862:24
  _updateMenu/this._menuReadyId<@file:///usr/share/gnome-shell/extensions/[email protected]/indicatorStatusIcon.js:319:38
  _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
  _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
  Client/<@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:833:24
  _updateLayoutState@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:365:18
  _layoutUpdateUpdateAsync@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:346:18
  async*_beginLayoutUpdate@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:326:14
  _requestLayoutUpdate@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:276:14
  initAsync@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:254:14
  async*Client@file:///usr/share/gnome-shell/extensions/[email protected]/dbusMenu.js:827:22
  _updateMenu@file:///usr/share/gnome-shell/extensions/[email protected]/indicatorStatusIcon.js:311:32
  _showIfReady@file:///usr/share/gnome-shell/extensions/[email protected]/indicatorStatusIcon.js:332:14
  _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
  _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
  _checkIfReady@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:464:18
  checkIfReadyChanged@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:646:50
  _onPropertiesChanged/<@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:654:17
  _onPropertiesChanged@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:650:15
  @resource:///org/gnome/shell/ui/init.js:21:20
@jbicha
Copy link
Contributor Author

jbicha commented Feb 26, 2024

Also, there is this. Let me know if you want a separate issue opened for it:

Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed: error occurred in Get

Stack trace:
  _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:453:45
  @resource:///org/gnome/shell/ui/init.js:21:20
  ### Promise created here: ###
  getProperty@file:///usr/share/gnome-shell/extensions/[email protected]/dbusProxy.js:89:33
  refreshProperty@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:305:48
  _refreshOwnProperties/<@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:191:32
  _refreshOwnProperties@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:189:51
  _onSignalAsync/refreshPropertiesPromises<@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:245:26
  _onSignalAsync@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:244:50
  async*_onSignal@file:///usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:203:14
  _init/<@file:///usr/share/gnome-shell/extensions/[email protected]/dbusProxy.js:40:43
  @resource:///org/gnome/shell/ui/init.js:21:20

@rmeissn
Copy link

rmeissn commented Feb 28, 2024

I'm on Gnome-Shell 45.4, extension version 57, Fedora 39 and observed the following error in my journal:

Feb 28 11:04:56 framework gnome-shell[3031]: Gio.IOErrorEnum: Zeitüberschreitung wurde erreicht
                                             
                                             Stack trace:
                                               asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:114:23
                                               @resource:///org/gnome/shell/ui/init.js:21:20
                                               
Feb 28 11:04:56 framework gnome-shell[3031]: Gio.IOErrorEnum: Zeitüberschreitung wurde erreicht
                                             
                                             Stack trace:
                                               _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:453:45
                                               @resource:///org/gnome/shell/ui/init.js:21:20
                                               ### Promise created here: ###
                                               sendAboutToShow@file:///home/user/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:501:48
                                               sendAboutToShow@file:///home/user/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:198:22
                                               _onMenuOpened@file:///home/user/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:932:28
                                               _callHandlers@resource:///org/gnome/gjs/modules/core/_signals.js:130:42
                                               _emit@resource:///org/gnome/gjs/modules/core/_signals.js:119:10
                                               open@resource:///org/gnome/shell/ui/popupMenu.js:937:14
                                               _changeMenu@resource:///org/gnome/shell/ui/popupMenu.js:1361:17
                                               _onCapturedEvent@resource:///org/gnome/shell/ui/popupMenu.js:1385:22
                                               @resource:///org/gnome/shell/ui/init.js:21:20
                                               
Feb 28 11:04:56 framework gnome-shell[3031]: Gio.IOErrorEnum: Zeitüberschreitung wurde erreicht
                                             
                                             Stack trace:
                                               asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:114:23
                                               @resource:///org/gnome/shell/ui/init.js:21:20

@sergio-costas
Copy link
Contributor

@jbicha I have this same error, and I tracked it to mattermost. It seems that it doesn't implement the answer for AboutToShow...

@sergio-costas
Copy link
Contributor

@jbicha I have this same error, and I tracked it to mattermost. It seems that it doesn't implement the answer for AboutToShow... Specifically, it is sending that call to the object /com/canonical/dbusmenu with the interface com.canonical.dbusmenu. Clicking on the mattermost's appindicator to show the menu triggers this. It looks more like a bug in the mattermost client.

About the other error, it is also (in my case) from mattermost. The extension tries to get the object properties by calling the Get method from the /StatusNotifierItem object, interface org.freedesktop.DBus.Properties, but it fails for some reason...

@sergio-costas
Copy link
Contributor

Ok, clearly mattermost doesn't export the com.canonical.dbusmenu. In fact, it exports nothing...

@sergio-costas
Copy link
Contributor

Also, I found a bug in gjs overrides: the DBus promise doesn't trigger an exception, it just shows the error message in the journal but resolves the promise. I'll fix this tomorrow.

@sergio-costas
Copy link
Contributor

My fault: the DBus promise does trigger an exception; the problem is that it returns a generic DBus error, so we can't detect this specific case. I think that the only way of fixing this is to send a patch for mattermost.

Anyway, I think that a good idea is to add some extra debugging info (the called method and the destination DBus address, object and method) to allow to better detect the culprit in these cases. I'll prepare a patch for that.

@rmeissn
Copy link

rmeissn commented Mar 1, 2024

I'm not using Mattermost directly, but through Ferdium as a Flatpak. Is this making a difference?

@sergio-costas
Copy link
Contributor

Probably not. If the mattermost code is the same, the bug is also in flatpak. It's not really a problem, because the calls are just "informative" (they are used to notify the app that the menu has been shown).

@ngnpope
Copy link

ngnpope commented Mar 4, 2024

Looks like a duplicate of #434 and #445? (I'm seeing this on gnome-shell v45.4 with v57 of the extension.)

3v1n0 added a commit that referenced this issue Apr 18, 2024
It's not defined in all the implementations, so in case that we
have not, let's just ignore the error and avoid calling it again

Fixes: #502
3v1n0 added a commit that referenced this issue Apr 18, 2024
It's not defined in all the implementations, so in case that we
have not, let's just ignore the error and avoid calling it again

Fixes: #502
3v1n0 added a commit that referenced this issue Apr 18, 2024
It's not defined in all the implementations, so in case that we
have not, let's just ignore the error and avoid calling it again

Fixes: #502
@3v1n0
Copy link
Collaborator

3v1n0 commented Apr 18, 2024

Closing this as per #525. Note that this has never been a problem or a crash, just a log message with extended stack trace.

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

Successfully merging a pull request may close this issue.

5 participants