[5.0 Beta] - error on linux related to libnss3.so

Tip: For anyone using Linux, if you get the error "Failed to load backend for 'application/pdf': libnss3.so: failed to map segment from shared object" when trying to open a PDF attachment, then it is easy to fix: Just re-download zotero.

This has happened to me three times already, and re-downloading zotero has fixed it for me every time. (Just re-download the standalone application folder, you don't need to touch the settings or storage.)

I guess something about libnss3.so gets messed up by the auto-updater sometimes.
  • There haven't been any other reports of this, but if you're seeing this repeatedly, if you could keep an eye on what version you're on and what you're updating to, we can try to replicate it with a specific version upgrade.
  • This happens to me pretty much continuously with v4.0.29.10 on Lubuntu 17.04. I'll try reinstalling now.
  • Reinstalling did not change things. I am also getting the message:

    Failed to load backend for 'application/pdf': libnss3.so: failed to map segment from shared object
  • I have had the same issue. I have a windows standalone install that I'm trying to have synced to a new linux standalone install.
  • could we get your distro, too?
  • ubuntu 17.04, however copying the extracted tar folder to a different directory than ~/Downloads seemingly fixed the issue.
  • edited July 7, 2017
    While opening a PDF in zotero standalone i received this error
    "Failed to load backend for 'application/pdf': libnss3.so: failed to map segment from shared object"

    Operating System is Ubuntu Gnome 17.04
    Looks like it's caused by evince, so simply install another PDF viewer to avoid this error.
    I installed foxit reader, and its working flawlessly. you can try others like xpdf or okular.
    To install okular on ubuntu run following command.
    sudo apt-get install okular
  • Oh, sorry I didn't say in my original post, but in case it helps, my operating system is Ubuntu 17.04.

    The problem continues to recur for me, after some but not every update. The fix I proposed above (replacing my "Zotero_linux-x86_64" folder with a freshly-downloaded one) is still working for me.
  • I did some research. The internet suggests that this error typically happens when you are trying to execute code from a directory (often /tmp) mounted as "noexec".

    For example:

    https://github.com/docker/compose/issues/1339

    https://support.datastax.com/hc/en-us/articles/115000550123-Graph-loader-throws-failed-to-map-segment-from-shared-object-warning

    Well, I do notice that zotero seems to use /tmp during updating (via the "mktemp -d" command) if I'm reading the code right. But then I'm stuck. My /tmp is not mounted at all, it's just a normal directory in /, which is a normal ext4 filesystem with normal settings, and also the /tmp permissions look correct ("drwxrwxrwt"). (But I'm not an expert!) So maybe it's something else? I dunno, I'm stuck. Any ideas?
  • Another update: I can reproduce the error on my computer by downloading zotero 5.0 from https://www.zotero.org/download/client/dl?channel=release&platform=linux-x86_64&version=5.0 , then letting it update to version 5.0.4. It restarts after the update, and then has the libnss3.so error message when I try to open any PDF.

    ...But, when I quit and restart zotero again, it's fixed!! (And it continues to work on future restarts.) That's nice! The easiest workaround I've ever seen :-) . I hope it continues to work that way on future updates, where I merely have to quit and restart zotero one extra time per update. But I will post again if I see (and can reproduce) the nastier version where the error persists even after opening and closing zotero many times.
  • Yeah, I can reproduce that. So what I think happens is that, when Zotero is updated, the new version runs as a child process of the old one — it looks like after the update there are defunct 'zotero' processes left behind — and so when it runs evince as a child process of the new one it's still trying to use the parent libnss3.so that doesn't exist anymore. Show File -> open still works, even though it's the exact same command line (evince /path/to/pdf), because that's starting a non-child evince process. Once you restart Zotero after the update, the defunct processes are cleared and this works normally.

    Unfortunately I doubt this is something we're going to be able to fix with the current updater (and I'm not sure it's actually new in 5.0 or there are just more people on the standalone app on Linux now), so people on Linux may have to put up with the extra restart for a while. (Obviously there won't be daily updates once things settle down a bit.)
Sign In or Register to comment.