Open Bug 1568253 Opened 6 years ago Updated 3 years ago

Slow Thunderbird, NSS DB caching isn't enabled automatically on a RHEL 7.4 network filesystem.

Categories

(NSS :: Libraries, defect, P2)

Tracking

(Not tracked)

People

(Reporter: KaiE, Unassigned)

References

Details

Please see bug 1512021 comment 22.

A network file system is used for NSS database storage (Thunderbird profile directory).

Based on user feedback, NSS_SDB_USE_CACHE wasn't enabled automatically.

I believe we have some detection, based on the filesystem type of the NSS directory. Apparently that detection isn't working.

Assignee: nobody → nobody
Component: General → Libraries
Product: Thunderbird → NSS
QA Contact: jjones
Version: unspecified → other

Sorry, I cannot reproduce that. I see the autodetection mechanism active, both with 7.4.0 and current 7.4.eus packages (that is nss-3.28.4-8.el7.x86_64 and nss-3.28.4-15.el7_4.x86_64).

what versions of nss, nspr, nss-softokn and nss-util are installed on that system?

Can you run thunderbird under strace -o trace -fc -e trace=access and upload the resulting trace file here?

Flags: needinfo?(marten.oscarsson)

I'm not sure how all these pieces fit together and I realize now that maybe my problem is a special case.

Some background.
The problem I see is on a server machine that users can log in to through Citrix. Each user can decide what programs and versions to use by a module add system. The programs are installed on AFS and users can do e.g. module add thunderbird/60.7.2 and that will set up paths etc. It seems to set thunderbirdPATH to where Thunderbird is installed.
Home directories are on NFS and using automount (I don't know much about this).

I'm not sure if the Thunderbird installation on AFS is built here or from a downloaded .rpm.

If I do Preferences | Security Devices | Builtin Roots Module then the Path says:
/afs/xxxxx/RHEL6-x86_64/thunderbird/60.7.2/libnssckbi.so

So I guess the NSS stuff in use are from where a specific version of Thunderbird is installed.

I don't know if this is what I'm looking for but in the directory where Thunderbird is installed I find this:

~> ls -l /xxxx/RHEL6-x86_64/thunderbird/60.7.2/ | egrep 'nss|nspr'
-rwxr-xr-x 1 afsvbuild afsvbuildgrp    236672 Jun 20 11:04 libnspr4.so
-rwxr-xr-x 1 afsvbuild afsvbuildgrp    615416 Jun 20 11:04 libnss3.so
-rwxr-xr-x 1 afsvbuild afsvbuildgrp    466904 Jun 20 11:04 libnssckbi.so
-rw-r--r-- 1 afsvbuild afsvbuildgrp       899 Jun 20 11:04 libnssdbm3.chk
-rwxr-xr-x 1 afsvbuild afsvbuildgrp    134248 Jun 20 11:04 libnssdbm3.so
-rwxr-xr-x 1 afsvbuild afsvbuildgrp    179960 Jun 20 11:04 libnssutil3.so

For the trace I did:

> module add thunderbird/60.7.2
> strace -o trace -fc -e trace=access thunderbird

Then Preferences | Manage Certificates
Wait till the window pops up (~1 minute), then close everything down and quit.

The resulting trace file contain only this:

> cat trace
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.008934           8      1116       368 access
------ ----------- ----------- --------- --------- ----------------
100.00    0.008934                  1116       368 total
>

For my part I'm very happy with the export NSS_SDB_USE_CACHE=yes fix (in 1512021). I'm starting Thunderbird from a script anyway so I have just added that line to the script and it works fine for me now.

Flags: needinfo?(marten.oscarsson)

The location of the application and the library files shouldn't matter. The interesting part is: Where is the dynamic data of the user stored, i.e. $HOME/.thunderbird and its subdirectories, containing files named key4.db and cert9.db ?

RHEL6-x86_64

you mentioned RHEL-7.4 before... there is a known issue with the autodetection mechanism on RHEL-6, it was fixed in RHEL-6.6.0: https://bugzilla.redhat.com/show_bug.cgi?id=1044666 but given that you see use of NSS_SDB_USE_CACHE to improve the situation, I'm guessing it's just an artefact of the setup, not actually RHEL-6 packages

errors 368

that looks like the autodetection mechanism working, I don't know why it's slow, maybe it misdetects the configuration, but I have no idea why it would

The part about where the application is installed was to explain that I don't know answer to

what versions of nss, nspr, nss-softokn and nss-util are installed on that system?

The key4.db and cert9.db are in my home directory, which is on NFS.

The OS is

> cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.4 (Maipo)"

But the Thunderbird installation I get when I do the module add thing is in a directory named like .../RHEL6-x86_64/..... I don't know why or if that means anything. But maybe my Thunderbird is built from source on RHEL6 even though the OS is now RHEL7?
I looked around and saw that we also have installations in directories named like .../RHEL7-x86_64/..... I tried Thunderbird 60.7.2 from there but it has the same issue.
I understand that you can't know anything about our strange installation solution.. only our IT guys knows about that. Just trying to explain.

Priority: -- → P2
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.