[SOLVED] Zotero error ref 429681554 - system icu works, bundled icu did not

I managed to get Zotero divided between two Firefox profiles for the same user - my fault entirely. I synced both profiles, one at a time, to the website, so getting both sets of records correctly stored on the cloud. I resynced them back on windows with no difficulty. On linux the sysnc runs for a bit and produces the error message

Zotero.Utilities.trim(...).normalize is not a function

with the attached error report. This is on a fresh Firefox installation, with a completely new profile.
Help welcomed!
Anthony Staines

1452203783346 Toolkit.Telemetry WARN TelemetryStorage::_scanArchive - have seen this id before: e4205df2-9310-4da4-a8ea-c0179866055f, overwrite: false
[JavaScript Error: "Image corrupt or truncated." {file: "chrome://browser/skin/tabbrowser/loading.png" line: 0}]
[JavaScript Error: "Zotero.Utilities.trim(...).normalize is not a function" {file: "chrome://zotero/content/xpcom/search.js" line: 117}]
[JavaScript Error: "TypeError: Zotero.Utilities.trim(...).normalize is not a function" {file: "chrome://zotero/content/xpcom/search.js" line: 117}]
[JavaScript Error: "Zotero.Utilities.trim(...).normalize is not a function" {file: "chrome://zotero/content/xpcom/data/creator.js" line: 107}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]
[JavaScript Error: "syntax error" {file: "http://slashdot.org/" line: 1 column: 1 source: "undefined"}]

version =>, platform => Linux x86_64, oscpu => Linux x86_64, locale => en-US, appName => Firefox, appVersion => 43.0, extensions => English (GB) Language Pack (43.0, locale), LastPass (3.2.42, extension), Zotero LibreOffice Integration (3.5.11, extension), OpenH264 Video Codec provided by Cisco Systems, Inc. (1.5.3, plugin), IcedTea-Web Plugin (using IcedTea-Web 1.5.1) (, plugin, disabled)
  • have you checked database integrity from the advanced tab of the Zotero preferences? This looks to me like a problem in the database, specifically trying to run a function on variable that's null (and that shouldn't be)
  • I have. There is no reported error, and the problem persists when starting with a completely empty database (on disk) with nothing in it, but thank you for the suggestion,
  • just in case -- which linux distro? Not that it should matter, but who knows.
  • Can you provide a Debug ID (different from a Report ID) for this?
  • Hi,
    The Debug ID is D1621390114.
    I've just sent it,
  • Hi,
    Just tried again, fresh firefox profile, erased old profile and mozilla cache, fresh zotero install. Only other addons are last pass and NoScript and Theme font and size changer. Error persists.
  • The Distro is Gentoo
  • Are you using an unofficial Firefox build?

    This error suggests you're using a Firefox build without proper Unicode support. Try with an official one from Mozilla.
  • I am seeing the same behaviour, though I only have Zotero in one of the Firefox profiles on my computer.

    As far as I can tell from about:config and my Firefox compiler settings, Unicode is enabled.

    My Linux distro is Gentoo, and here is the Zotero debug output:

    version =>, platform => Linux x86_64, oscpu => Linux x86_64, locale => en-US, appName => Firefox, appVersion => 38.5.0, extensions => Valence (0.3.3, extension), HTTPS-Everywhere (5.1.0, extension), Self-Destructing Cookies (0.4.9, extension), NoScript (, extension), uBlock Origin (1.5.5, extension), OpenH264 Video Codec provided by Cisco Systems, Inc. (1.5.3, plugin), Firebug (2.0.13, extension, disabled)
  • But same question — is this an unofficial Firefox build, or is it build directly from Mozilla?
  • edited January 11, 2016
    Well, since you mention compiler settings, presumably this was built on-demand. I'm afraid we can't provide any support for that. You'll need to figure out why String.prototype.normalize() doesn't work in your build.
  • Good question, though I'm not quite sure of the answer!

    Gentoo is a source based distro and I compile firefox directly from Mozilla sources, but with the following configuration options. I've omitted a slew of unused language options :-
    astaines # equery u firefox
    [ Legend : U - final flag setting for installation]
    [ : I - package is installed with flag ]
    [ Colors : set, unset ]
    * Found these USE flags for www-client/firefox-43.0:
    U I
    + + bindist : Disable official Firefox branding (icons, name) which are not binary-redistributable according to
    - - custom-cflags : Build with user-specified CFLAGS (unsupported)
    - - custom-optimization : Fine-tune custom compiler optimizations (-Os, -O0, -O1, -O2, -O3)
    + + dbus : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
    - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful
    backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
    - - egl : Enable EGL provider
    + + gmp-autoupdate : Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user
    + + gstreamer : Add support for media-libs/gstreamer (Streaming media)
    - - gstreamer-0 : Use gstreamer:0.10 instead of gstreamer:1 for media support
    - - gtk3 : Use the cairo-gtk3 rendering engine
    - - hardened : Activate default security enhancements for toolchain (gcc, glibc, binutils)
    + + hwaccel : Use hardware-accelerated rendering
    + + jemalloc3 : Enable or disable jemalloc3 (forced-on when supported prior to 38.0)
    + + jit : Enable just-in-time compilation for improved performance. May prevent use of some PaX memory
    protection features in Gentoo Hardened.
    + + linguas_en_GB : English locale for Britain
    + + minimal : Prevent sdk and headers from being installed
    - - pulseaudio : Add support for PulseAudio sound server
    + + startup-notification : Enable application startup event feedback mechanism
    - - system-cairo : Use the system-wide x11-libs/cairo instead of bundled.
    - - system-icu : Use the system-wide dev-libs/icu instead of bundled.
    - - system-jpeg : Use the system-wide media-libs/libjpeg-turbo instead of bundled.
    - - system-libvpx : Use the system-wide media-libs/libvpx instead of bundled.
    - - system-sqlite : Use the system-wide dev-db/sqlite installation with secure-delete enabled
    - - test : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this
    internally, so don't set it in make.conf/package.use anymore
    - - wifi : Enable wireless network functions

    I'll try to run a binary version of mozilla direct from their website and let you know how I get on,
  • You could try system-icu, but that's about all I can suggest. Useful keywords to look for when you're debugging this would be Intl and ICU.

    But this will almost certainly work with a Mozilla tarball.
  • edited January 12, 2016
    Fixed! and your advice gave me the key. It does indeed work with the system-icu and not with the bundled icu - No idea why, but all is now safely synced.

    For the confused icu (http://site.icu-project.org/) is a portable library used very widely in Linux for dealing with unicode. The latest versions of Mozilla come with their one built-in copy of this library. I solved my problem by using the system's copy of the library instead of that bundled with Mozilla. This is easy on a system where you build Mozilla from source - like Gentoo.

    I really appreciate your taking the time to help me with this,
    With every good wish,
    Anthony Staines
Sign In or Register to comment.