bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

gTranslator add-on messes up the entire nav-bar by assigning bogus value to .currentSet

RESOLVED INVALID

Status

Tech Evangelism
Add-ons
RESOLVED INVALID
5 years ago
5 years ago

People

(Reporter: justdave, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [Australis:P-])

Attachments

(1 attachment)

Before upgrade I had: DownloadHelper, NoScript, Rikai-chan, and LastPass buttons in my toolbar, to the right of the URL bar and search box.

After upgrading, the bookmark (star) button was gone, as well as the downloads button and all of the above-mentioned buttons.  Lightbeam now *did* have a button in the toolbar (I didn't remember it having one before), and the URL bar and Lightbeam were the ONLY things in the new toolbar at all.  I had to go into Customize and restore everything.

MattN had be take a look at the console log, and this was the only thing relevant in it:

"[CustomizableUI]" "Widget 'nav-bar-customization-target' not found, unable to move" CustomizableUI.jsm:151
"[CustomizableUI]" "Widget 'nav-bar-overflow-button' not found, unable to move" CustomizableUI.jsm:151
"[CustomizableUI]" "Widget 'PanelUI-button' not found, unable to move" CustomizableUI.jsm:151

I have backups of my profile from before upgrade in case it's useful.
Application Basics
------------------

Name: Firefox
Version: 29.0a2
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:29.0) Gecko/20100101 Firefox/29.0

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Extensions
----------

Name: Add-on Compatibility Reporter
Version: 2.0.1
Enabled: true
ID: compatibility@addons.mozilla.org

Name: CacheViewer2
Version: 1.5
Enabled: true
ID: cacheview2@scriptkitz.ml

Name: ChatZilla
Version: 0.9.90.1
Enabled: true
ID: {59c81df5-4b7a-477b-912d-4e0fdf64e5f2}

Name: Dictionary for Furigana Inserter
Version: 1.2
Enabled: true
ID: furiganainserter-dictionary@zorkzero.net

Name: DNSSEC Validator
Version: 1.1.5
Enabled: true
ID: dnssec@nic.cz

Name: DownloadHelper
Version: 4.9.21
Enabled: true
ID: {b9db16a4-6edc-47ec-a1f4-b86292ed211d}

Name: DownThemAll!
Version: 2.0.16
Enabled: true
ID: {DDC359D1-844A-42a7-9AA1-88A850A938A8}

Name: Firebug
Version: 1.12.6
Enabled: true
ID: firebug@software.joehewitt.com

Name: Form History Control
Version: 1.3.3.0
Enabled: true
ID: formhistory@yahoo.com

Name: Greasemonkey
Version: 2014.01.30.nightly
Enabled: true
ID: {e4a8a97b-f2ed-450b-b12d-ee082ba24781}

Name: gTranslator
Version: 1.0.4
Enabled: true
ID: jyboy.yy@gmail.com

Name: Image Search Options
Version: 2.0.2
Enabled: true
ID: {4a313247-8330-4a81-948e-b79936516f78}

Name: LastPass
Version: 3.0.12
Enabled: true
ID: support@lastpass.com

Name: Lightbeam
Version: 1.0.8
Enabled: true
ID: jid1-F9UJ2thwoAm5gQ@jetpack

Name: Live HTTP headers
Version: 0.17
Enabled: true
ID: {8f8fe09b-0bd3-4470-bc1b-8cad42b8203a}

Name: Mass Password Reset
Version: 1.05
Enabled: true
ID: masspasswordreset@johnathan.nightingale

Name: meta-q-override
Version: 0.5
Enabled: true
ID: jid1-7OsjI9sxTAYQNg@jetpack

Name: NicoFox
Version: 1.0b5
Enabled: true
ID: nicofox@littlebtc

Name: NoScript
Version: 2.6.8.13
Enabled: true
ID: {73a6fe31-595d-460b-a920-fcc0f8843232}

Name: Password Exporter
Version: 1.2.1
Enabled: true
ID: {B17C1C5A-04B1-11DB-9804-B622A1EF5492}

Name: Rikaichan
Version: 2.07
Enabled: true
ID: {0AA9101C-D3C1-4129-A9B7-D778C6A17F82}

Name: Rikaichan Japanese Names Dictionary File
Version: 2.01.110527
Enabled: true
ID: rikaichan-jpnames@polarcloud.com

Name: Rikaichan Japanese-English Dictionary File
Version: 2.01.110527
Enabled: true
ID: rikaichan-jpen@polarcloud.com

Name: Send Tab to Device
Version: 0.6
Enabled: true
ID: jid1-mdjmA7if6lo8lA@jetpack

Name: Session Manager
Version: 0.8.0.8
Enabled: true
ID: {1280606b-2510-4fe0-97ef-9b5a22eafe30}

Name: User Agent Switcher
Version: 0.7.3
Enabled: true
ID: {e968fc70-8f95-4ab9-9e79-304de2a71ee1}

Name: Web Developer
Version: 1.2.5
Enabled: true
ID: {c45c406e-ab73-11d8-be73-000a95be3b12}

Name: Adblock Plus
Version: 2.4.1
Enabled: false
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Name: Automatic Save Folder
Version: 1.0.4
Enabled: false
ID: asf@mangaheart.org

Name: Furigana Inserter
Version: 2.8
Enabled: false
ID: furiganainserter@zorkzero.net

Name: HTML Ruby
Version: 6.22.3
Enabled: false
ID: {e10bc159-aa26-41d8-aa24-65de9464ca5a}

Name: MoCo Authorizer
Version: 0.5
Enabled: false
ID: authify@dactyl.googlecode.com

Name: Modify Headers
Version: 0.7.1.1
Enabled: false
ID: {b749fc7c-e949-447f-926c-3f4eed6accfe}

Name: Test Pilot
Version: 1.2.3
Enabled: false
ID: testpilot@labs.mozilla.com

Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.smart_size_cached_value: 358400
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.fixup.alternate.enabled: false
browser.history_expire_days_min: 90
browser.history_expire_days.mirror: 180
browser.places.createdDefaultQueries: true
browser.places.createdSmartBookmarks: true
browser.places.importBookmarksHTML: false
browser.places.importDefaults: false
browser.places.leftPaneFolderId: 295
browser.places.migratePostDataAnnotations: false
browser.places.smartBookmarksVersion: 6
browser.places.updateRecentTagsUri: false
browser.search.useDBForOrder: true
browser.sessionstore.upgradeBackup.latestBuildID: 20140207004002
browser.startup.homepage: http://www.reportez.com/
browser.startup.homepage_override.buildID: 20140207004002
browser.startup.homepage_override.mstone: 29.0a2
browser.tabs.warnOnClose: false
browser.urlbar.clickSelectsAll: false
dom.event.contextmenu.enabled: false
dom.max_chrome_script_run_time: 0
dom.max_script_run_time: 0
dom.mozApps.used: true
dom.w3c_touch_events.expose: false
extensions.checkCompatibility.previous: false
extensions.lastAppVersion: 29.0a2
font.internaluseonly.changed: false
general.autoScroll: false
layers.acceleration.force-enabled: true
network.cookie.cookieBehavior: 1
network.cookie.prefsMigrated: true
network.image.imageBehavior: 0
network.prefetch-next: false
network.protocol-handler.external.itms: true
network.protocol-handler.warn-external.itms: false
network.protocol-handler.warn-external.itpc: false
network.protocol-handler.warn-external.pcast: false
network.security.ports.banned.override: 6000,636
places.database.lastMaintenance: 1392107959
places.history.expiration.transient_current_max_pages: 104858
places.history.expiration.transient_optimal_database_size: 167772160
places.last_vacuum: 1279659668
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.adobepdfviewernpapi: 0
plugin.state.contentuploaderplugin: 0
plugin.state.divxbrowserplugin: 0
plugin.state.google earth web plug-in: 0
plugin.state.iphotophotocast: 0
plugin.state.java: 2
plugin.state.realplayer plugin: 0
plugin.state.shutterfly: 0
plugin.state.unity web player: 0
print.macosx.pagesetup: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT
print.macosx.pagesetup-2: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO
print.print_bgcolor: false
print.print_bgimages: false
print.print_colorspace:
print.print_command:
print.print_downloadfonts: true
print.print_duplex: 0
print.print_evenpages: true
print.print_extra_margin: 45
print.print_footerleft:
print.print_footerright:
print.print_headerleft:
print.print_headerright:
print.print_in_color: true
print.print_margin_bottom: 0.25
print.print_margin_left: 0.5
print.print_margin_right: 0.5
print.print_margin_top: 0
print.print_oddpages: true
print.print_orientation: 0
print.print_page_delay: 50
print.print_pagedelay: 500
print.print_paper_data: 0
print.print_paper_height: 11.00
print.print_paper_name:
print.print_paper_size: 4456492
print.print_paper_size_type: 1
print.print_paper_size_unit: 0
print.print_paper_width: 8.50
print.print_plex_name:
print.print_printer:
print.print_resolution: 0
print.print_resolution_name:
print.print_reversed: false
print.print_scaling: 1.00
print.print_shrink_to_fit: true
print.print_to_file: false
print.print_unwriteable_margin_bottom: 56
print.print_unwriteable_margin_left: 25
print.print_unwriteable_margin_right: 25
print.print_unwriteable_margin_top: 25
privacy.cpd.cookies: false
privacy.cpd.downloads: false
privacy.cpd.extensions-sessionmanager: false
privacy.cpd.formdata: false
privacy.cpd.history: false
privacy.cpd.sessions: false
privacy.donotfoolheader.enabled: true
privacy.donottrackheader.enabled: true
privacy.popups.firstTime: false
privacy.sanitize.migrateFx3Prefs: true
security.crl.autoupdate.dayCnt.Terms of use at https://www.thawte.com/cps (c)06: 1
security.crl.autoupdate.dayCnt.VeriSign Trust Network: 1
security.crl.autoupdate.dayCnt.VeriSign Trust Network SGC: 1
security.crl.autoupdate.enable.Terms of use at https://www.thawte.com/cps (c)06: true
security.crl.autoupdate.enable.VeriSign Trust Network: true
security.crl.autoupdate.enable.VeriSign Trust Network SGC: true
security.crl.autoupdate.errCount.Terms of use at https://www.thawte.com/cps (c)06: 0
security.crl.autoupdate.errCount.VeriSign Trust Network: 0
security.crl.autoupdate.errCount.VeriSign Trust Network SGC: 0
security.crl.autoupdate.freqCnt.Terms of use at https://www.thawte.com/cps (c)06: 1
security.crl.autoupdate.freqCnt.VeriSign Trust Network: 1
security.crl.autoupdate.freqCnt.VeriSign Trust Network SGC: 1
security.crl.autoupdate.nextInstant.Terms of use at https://www.thawte.com/cps (c)06: 6/2/07 10:00:41 AM
security.crl.autoupdate.nextInstant.VeriSign Trust Network: 6/2/07 10:00:40 AM
security.crl.autoupdate.nextInstant.VeriSign Trust Network SGC: 6/2/07 10:00:40 AM
security.crl.autoupdate.timingType.Terms of use at https://www.thawte.com/cps (c)06: 1
security.crl.autoupdate.timingType.VeriSign Trust Network: 1
security.crl.autoupdate.timingType.VeriSign Trust Network SGC: 1
security.crl.autoupdate.url.Terms of use at https://www.thawte.com/cps (c)06:
security.crl.autoupdate.url.VeriSign Trust Network:
security.crl.autoupdate.url.VeriSign Trust Network SGC:
security.disable_button.openCertManager: false
security.disable_button.openDeviceManager: false
security.OCSP.signingCA: Builtin Object Token:Verisign Class 1 Public Primary OCSP Responder
security.OCSP.URL:
security.ssl.treat_unsafe_negotiation_as_broken: true
security.tls.version.max: 2
storage.vacuum.last.index: 2
storage.vacuum.last.places.sqlite: 1390784902
storage.vacuum.last.smilefox.sqlite: 1390871377

Graphics
--------

Device ID: 0x fd5
GPU Accelerated Windows: 2/2 OpenGL (OMTC)
Vendor ID: 0x10de
WebGL Renderer: NVIDIA Corporation -- NVIDIA GeForce GT 650M OpenGL Engine
windowLayerManagerRemote: true
AzureCanvasBackend: quartz
AzureContentBackend: quartz
AzureFallbackCanvasBackend: none
AzureSkiaAccelerated: 0

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.10.3 Beta
Version in use: 4.10.3 Beta

NSS
Expected minimum version: 3.15.5 Basic ECC Beta
Version in use: 3.15.5 Basic ECC Beta

NSSSMIME
Expected minimum version: 3.15.5 Basic ECC Beta
Version in use: 3.15.5 Basic ECC Beta

NSSSSL
Expected minimum version: 3.15.5 Basic ECC Beta
Version in use: 3.15.5 Basic ECC Beta

NSSUTIL
Expected minimum version: 3.15.5 Beta
Version in use: 3.15.5 Beta
Created attachment 8374571 [details]
localstore (original).rdf

localstore.rdf from about 2 weeks prior to the upgrade (restored from backup)
Looking at that file, I'm noticing more buttons I lost than what I remembered.  (A few of those belong to no-longer-installed stuff, but a bunch were actually there)

Comment 4

5 years ago
(In reply to Dave Miller [:justdave] (justdave@bugzilla.org) from comment #0)
> "[CustomizableUI]" "Widget 'nav-bar-customization-target' not found, unable
> to move" CustomizableUI.jsm:151
> "[CustomizableUI]" "Widget 'nav-bar-overflow-button' not found, unable to
> move" CustomizableUI.jsm:151
> "[CustomizableUI]" "Widget 'PanelUI-button' not found, unable to move"
> CustomizableUI.jsm:151

This is bizarre. It looks like it's not picking up the customizationTarget and just trying to rearrange things directly in the nav-bar element. I don't understand how the code could ever do that.

Comment 5

5 years ago
(In reply to :Gijs Kruitbosch from comment #4)
> (In reply to Dave Miller [:justdave] (justdave@bugzilla.org) from comment #0)
> > "[CustomizableUI]" "Widget 'nav-bar-customization-target' not found, unable
> > to move" CustomizableUI.jsm:151
> > "[CustomizableUI]" "Widget 'nav-bar-overflow-button' not found, unable to
> > move" CustomizableUI.jsm:151
> > "[CustomizableUI]" "Widget 'PanelUI-button' not found, unable to move"
> > CustomizableUI.jsm:151
> 
> This is bizarre. It looks like it's not picking up the customizationTarget
> and just trying to rearrange things directly in the nav-bar element. I don't
> understand how the code could ever do that.

Oh... unless an add-on manually fetched its hypothetical currentSet and assigned it... :-|
Hey justdave,

We're pretty confused by this - what the UI ended up as, and the log indicates should really not be possible.

What we _do_ agree on, however, is that this is almost certainly an add-on doing some funky stuff.

Do you think you'd have time to bisect your add-ons and figure out which one is causing this? It should only take about 5 steps, and it'd really _really_ help us out.

-Mike
Flags: needinfo?(justdave)
So, new information I know so far: my toolbar layout gets nuked on every app restart, whether I updated to a new version or not.

The layout it changes to consists of a urlbar widget and the button for the Lightbeam extension, and that's it.

I'm doing the "disable extensions one by one and restart" thing now to see if I can figure out which extension is doing it.
Flags: needinfo?(justdave)
The culprit has been found.

It's the gTranslator extension.  https://addons.mozilla.org/en-US/firefox/addon/gtranslator/

Last updated April 6, 2011, that update was "support Firefox 4.0" according to the changelog.  The author's listed home page is now a domain reseller's parking page.

Comment 9

5 years ago
(In reply to :Gijs Kruitbosch from comment #5)
> (In reply to :Gijs Kruitbosch from comment #4)
> > (In reply to Dave Miller [:justdave] (justdave@bugzilla.org) from comment #0)
> > > "[CustomizableUI]" "Widget 'nav-bar-customization-target' not found, unable
> > > to move" CustomizableUI.jsm:151
> > > "[CustomizableUI]" "Widget 'nav-bar-overflow-button' not found, unable to
> > > move" CustomizableUI.jsm:151
> > > "[CustomizableUI]" "Widget 'PanelUI-button' not found, unable to move"
> > > CustomizableUI.jsm:151
> > 
> > This is bizarre. It looks like it's not picking up the customizationTarget
> > and just trying to rearrange things directly in the nav-bar element. I don't
> > understand how the code could ever do that.
> 
> Oh... unless an add-on manually fetched its hypothetical currentSet and
> assigned it... :-|

I mean, that would be unfortunate, right?


From the culprit's overlay.js code (executed onLoad):

if(objNavBar) {
  for (var i = 0; i < objNavBar.childNodes.length; i++) {
    if(objNavBar.childNodes[i].id == "urlbar-container") {
      if(!bolWongPostButtonExists) {
        strSet += "gTranslator-toolbarbutton,"														
      }
    }
    strSet += objNavBar.childNodes[i].id + ",";
  }
  
  strSet = strSet.substring(0, strSet.length-1);
  objNavBar.currentSet = strSet;
  objNavBar.setAttribute("currentset", strSet);
  objNavBar.ownerDocument.persist(objNavBar.id, "currentset");
  BrowserToolboxCustomizeDone(true);
}


yes, that'd tend to do what it does.

That's a bit sad. I'm moving this to tech evangelism, although I'm sadly suspicious this might not go very far. In any case, at least we'll be able to disable the add-on for 29 if need be.

Mike, do you think there's anything we can do here? (we can file a new bug if so)

We could hardcode something into the currentset assignment thing that'll only let you change 3 things at a time or something and just throw an exception at the add-on otherwise, but that seems extraordinarily hacky.
Component: Toolbars and Customization → Add-ons
Flags: needinfo?(mconley)
Product: Firefox → Tech Evangelism
Whiteboard: [Australis:P2] → [Australis:P-]
Version: 25 Branch → unspecified

Updated

5 years ago
Summary: All buttons except Lightbeam gone from toolbar after upgrading to Australis on Aurora → gTranslator add-on messes up the entire nav-bar by assigning bogus value to .currentSet

Comment 10

5 years ago
(In reply to Dave Miller [:justdave] (justdave@bugzilla.org) from comment #8)
> The culprit has been found.
> 
> It's the gTranslator extension. 
> https://addons.mozilla.org/en-US/firefox/addon/gtranslator/
> 
> Last updated April 6, 2011, that update was "support Firefox 4.0" according
> to the changelog.  The author's listed home page is now a domain reseller's
> parking page.

Also (and sorry for forgetting this in my original comment, and for all the spam I'm now causing...) thanks very much for looking at this. It's good that we're staying vigilant about what things cause (add-on-related) breakage with all the new stuff we've done. When things break, it's super helpful when the fx team doesn't have to do all the bisection/digging itself. Thanks! :-)
I just marked the add-on as incompatible with 29 and above and also downgraded it to preliminary review to reduce its visibility on the site.
Gijs,

So I've read through our currentSet code in toolbar.xml, and from what I can tell, it *should* allow us to support uses of currentSet like this, for better or for worse.

What am I not seeing? How is the code this add-on is using clearing out the nav-bar?
Flags: needinfo?(mconley) → needinfo?(gijskruitbosch+bugs)

Comment 13

5 years ago
(In reply to Mike Conley (:mconley) from comment #12)
> Gijs,
> 
> So I've read through our currentSet code in toolbar.xml, and from what I can
> tell, it *should* allow us to support uses of currentSet like this, for
> better or for worse.
> 
> What am I not seeing? How is the code this add-on is using clearing out the
> nav-bar?

Resolved this on IRC.
Flags: needinfo?(gijskruitbosch+bugs)
The issue that I wasn't seeing was that the add-on's code is iterating over the toolbar's childNodes, and I forgot that those nodes are the customization target, the overflow chevron, the menu panel button, etc.

I've alerted the AMO-editors about this, so hopefully we can keep an eye out for this pattern. Perhaps we can automate it.

Unless there's any objection, I'm going to close the book on this one.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.