~ubuntu-branches/ubuntu/trusty/xulrunner/trusty

« back to all changes in this revision

Viewing changes to security/nss-fips/tests/doc/platform_specific_problems

  • Committer: Bazaar Package Importer
  • Author(s): Devid Antonio Filoni
  • Date: 2008-08-25 13:04:18 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20080825130418-ck1i2ms384tzb9m0
Tags: 1.8.1.16+nobinonly-0ubuntu1
* New upstream release (taken from upstream CVS), LP: #254618.
* Fix MFSA 2008-35, MFSA 2008-34, MFSA 2008-33, MFSA 2008-32, MFSA 2008-31,
  MFSA 2008-30, MFSA 2008-29, MFSA 2008-28, MFSA 2008-27, MFSA 2008-25,
  MFSA 2008-24, MFSA 2008-23, MFSA 2008-22, MFSA 2008-21, MFSA 2008-26 also
  known as CVE-2008-2933, CVE-2008-2785, CVE-2008-2811, CVE-2008-2810,
  CVE-2008-2809, CVE-2008-2808, CVE-2008-2807, CVE-2008-2806, CVE-2008-2805,
  CVE-2008-2803, CVE-2008-2802, CVE-2008-2801, CVE-2008-2800, CVE-2008-2798.
* Drop 89_bz419350_attachment_306066 patch, merged upstream.
* Bump Standards-Version to 3.8.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
I will, eventually convert all files here to html - just right now I have no
 
2
time to do it. Anyone who'd like to - please feel free, mail me the file and 
 
3
I will check it in 
 
4
sonmi@netscape.com
 
5
 
 
6
 
 
7
The NSS 3.1 SSL Stress Tests fail for me on FreeBSD 3.5.  The end of the output
 
8
of './ssl.sh stress' looks like this:
 
9
 
 
10
********************* Stress Test  ****************************
 
11
********************* Stress SSL2 RC4 128 with MD5 ****************************
 
12
selfserv -p 8443 -d
 
13
/local/llennox/NSS-PSM/mozilla/tests_results/security/conrail.20/server -n
 
14
conrail.cs.columbia.edu -w nss   -i /tmp/tests_pid.5505  & strsclnt -p 8443 -d . -w nss -c 1000 -C A  conrail.cs.columbia.edu 
 
15
strsclnt: -- SSL: Server Certificate Validated.
 
16
strsclnt: PR_NewTCPSocket returned error -5974:
 
17
Insufficient system resources.
 
18
Terminated 
 
19
********************* Stress SSL3 RC4 128 with MD5 ****************************
 
20
selfserv -p 8443 -d
 
21
/local/llennox/NSS-PSM/mozilla/tests_results/security/conrail.20/server -n
 
22
conrail.cs.columbia.edu -w nss   -i /tmp/tests_pid.5505  & strsclnt -p 8443 -d . -w nss -c 1000 -C c  conrail.cs.columbia.edu 
 
23
strsclnt: -- SSL: Server Certificate Validated.
 
24
strsclnt: PR_NewTCPSocket returned error -5974:
 
25
Insufficient system resources.
 
26
Terminated 
 
27
 
 
28
Running ktrace on the process (ktrace is a system-call tracer, the equivalent of
 
29
Linux's strace) reveals that socket() failed with ENOBUFS after it was called
 
30
for the 953rd time for the first test, and it failed after the 27th time it was
 
31
called for the second test.
 
32
 
 
33
The failure is consistent, both for debug and optimized builds; I haven't tested
 
34
to see whether the count of socket() failures is consistent.
 
35
 
 
36
All the other NSS tests pass successfully.
 
37
 
 
38
 
 
39
------- Additional Comments From Nelson Bolyard 2000-11-01 23:08 -------
 
40
 
 
41
I see no indication of any error on NSS's part from this description.
 
42
It sounds like an OS kernel configuration problem on the 
 
43
submittor's system.  The stress test is just that.  It stresses
 
44
the server by pounding it with SSL connections.  Apparently this 
 
45
test exhausts some kernel resource on the submittor's system.
 
46
 
 
47
The only change to NSS that might be beneficial to this test 
 
48
would be to respond to this error by waiting and trying again
 
49
for some limited number of times, rather than immediately 
 
50
treating it as a fatal error.  
 
51
 
 
52
However, while such a change might make the test appear to pass,
 
53
it would merely be hiding a very serious problem, namely,
 
54
chronic system resource exhaustion.
 
55
 
 
56
So, I suggest that, in this case, the failure serves the useful
 
57
purpose of revealing the system problem, which needs to be 
 
58
cured apart from any changes to NSS.
 
59
 
 
60
I'll leave this bug open for a few more days, to give others
 
61
a chance to persuade me that some NSS change would and should
 
62
solve this problem.  
 
63
 
 
64
 
 
65
------- Additional Comments From Jonathan Lennox 2000-11-02 13:13 -------
 
66
 
 
67
Okay, some more investigation leads me to agree with you.  What's happening is
 
68
that the TCP connections from the stress test stick around in TIME_WAIT for two
 
69
minutes; my kernel is only configured to support 1064 simultaneous open sockets,
 
70
which isn't enough for the 2K sockets opened by the stress test plus the 100 or
 
71
so normally in use on my system.
 
72
 
 
73
So I'd just suggest adding a note to the NSS test webpage to the effect of "The
 
74
SSL stress test opens 2,048 TCP connections in quick succession.  Kernel data
 
75
structures may remain allocated for these connections for up to two minutes. 
 
76
Some systems may not be configured to allow this many simulatenous connections
 
77
by default; if the stress tests fail, try increasing the number of simultaneous
 
78
sockets supported."
 
79
 
 
80
On FreeBSD, you can display the number of simultaneous sockets with the command
 
81
        sysctl kern.ipc.maxsockets
 
82
which on my system returns 1064.
 
83
 
 
84
It looks like this can be fixed with the kernel config option
 
85
        options NMBCLUSTERS=[something-large]
 
86
or by increasing the 'maxusers' parameter.
 
87
 
 
88
It looks like more recent FreeBSD implementations still have this limitation,
 
89
and the same solutions apply, plus you can alternatively specify the maxsockets
 
90
parameter in the boot loader.
 
91
 
 
92
 
 
93
---------------------------------
 
94
 
 
95
hpux HP-UX hp64 B.11.00 A 9000/800 2014971275 two-user license
 
96
 
 
97
we had to change following kernelparameters to make our tests pass
 
98
 
 
99
1. maxfiles.  old value = 60.  new value = 100.
 
100
2. nkthread.  old value = 499.  new value = 1328.
 
101
3. max_thread_proc.  old value = 64.  new value = 512.
 
102
4. maxusers.  old value = 32.  new value = 64.
 
103
5. maxuprc.  old value = 75.  new value = 512.
 
104
6. nproc.  old formula = 20+8*MAXUSERS, which evaluated to 276.
 
105
   new value (note: not a formula) = 750.
 
106
 
 
107
A few other kernel parameters were also changed automatically
 
108
as a result of the above changes.
 
109
 
 
110