After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 673613 - GNOME Shell should resolve extension conflicts
GNOME Shell should resolve extension conflicts
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Windows
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-04-05 23:51 UTC by Jasper St. Pierre (not reading bugmail)
Modified: 2012-04-09 17:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
extensionUtils: Load user extensions before system extensions (1.19 KB, patch)
2012-04-06 18:19 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review
extensionSystem: Make it a non-fatal error to re-load an extension (843 bytes, patch)
2012-04-06 18:19 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
extensionSystem: Make it a non-fatal error to re-load an extension (862 bytes, patch)
2012-04-09 16:58 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review

Description Jasper St. Pierre (not reading bugmail) 2012-04-05 23:51:23 UTC
Downstream bug:

https://bugzilla.redhat.com/show_bug.cgi?id=803760

If gnome-shell tries to load multiple extensions that have the same UUID, it will throw an error and crash.
Comment 1 Jasper St. Pierre (not reading bugmail) 2012-04-06 18:19:48 UTC
Created attachment 211497 [details] [review]
extensionUtils: Load user extensions before system extensions
Comment 2 Jasper St. Pierre (not reading bugmail) 2012-04-06 18:19:53 UTC
Created attachment 211498 [details] [review]
extensionSystem: Make it a non-fatal error to re-load an extension
Comment 3 drago01 2012-04-09 16:55:42 UTC
Review of attachment 211498 [details] [review]:

Yeah that indeed should not cause a crash.

::: js/ui/extensionSystem.js
@@ +251,2 @@
     if (ExtensionUtils.extensions[uuid] != undefined) {
+        global.logError('Extension "%s" is already loaded'.format(uuid));

Shouldn't that abort after that? i.e return?
Comment 4 drago01 2012-04-09 16:55:59 UTC
Review of attachment 211497 [details] [review]:

Looks good.
Comment 5 Jasper St. Pierre (not reading bugmail) 2012-04-09 16:58:59 UTC
Created attachment 211658 [details] [review]
extensionSystem: Make it a non-fatal error to re-load an extension

Er, right you are.
Comment 6 drago01 2012-04-09 16:59:45 UTC
Review of attachment 211658 [details] [review]:

Looks good.
Comment 7 Jasper St. Pierre (not reading bugmail) 2012-04-09 17:05:59 UTC
Attachment 211497 [details] pushed as 5ea5806 - extensionUtils: Load user extensions before system extensions
Attachment 211658 [details] pushed as b095319 - extensionSystem: Make it a non-fatal error to re-load an extension