Closed
Bug 538680
Opened 15 years ago
Closed 1 year ago
libssl: multi-process session id cache does not work on mac os x 5.10.8(darwin) and linux
Categories
(NSS :: Libraries, defect, P5)
Tracking
(Not tracked)
RESOLVED
INACTIVE
3.12.1
People
(Reporter: alvolkov.bgs, Unassigned)
References
(Blocks 1 open bug)
Details
Have not looked at the problem on linux, but when selfserv starts with args:
dopushups$ selfserv -D -p 10443 -d ../server -n dopushups.red.iplanet.com -B -s -w nss -r -r -u -z -i ../tests_pid.30862 -M 2
It returns two lines:
Child 2 exited with exit code 1
Child 1 exited with exit code 1
-------------
On Mac OS X function sslmutex.c:500: rv = sem_init(&pMutex->u.sem, shared, 1); get called with stack:
0 sslMutex_Init (pMutex=0x10000a4, shared=1) at sslmutex.c:551
#1 0x00080b4a in InitCache (cache=0x93f40, maxCacheEntries=1024, maxCertCacheEntries=1024, maxSrvNameCacheEntries=-1, ssl2_timeout=0, ssl3_timeout=0, directory=0xbffff72b "/export/ws/nss-3.12-sni/mozilla/tests_results/security/alexei-volkovs-macbook-pro.1/pkix/server/tmp", shared=1) at sslsnce.c:1278
#2 0x00080c77 in ssl_ConfigServerSessionIDCacheInstanceWithOpt (cache=0x93f40, ssl2_timeout=0, ssl3_timeout=0, directory=0xbffff72b "/export/ws/nss-3.12-sni/mozilla/tests_results/security/alexei-volkovs-macbook-pro.1/pkix/server/tmp", shared=1, maxCacheEntries=1024, maxCertCacheEntries=1024, maxSrvNameCacheEntries=-1) at sslsnce.c:1339
#3 0x00080e0f in ssl_ConfigMPServerSIDCacheWithOpt (ssl2_timeout=0, ssl3_timeout=0, directory=0xbffff72b "/export/ws/nss-3.12-sni/mozilla/tests_results/security/alexei-volkovs-macbook-pro.1/pkix/server/tmp", maxCacheEntries=1024, maxCertCacheEntries=-1, maxSrvNameCacheEntries=-1) at sslsnce.c:1420
#4 0x00080fa4 in SSL_ConfigMPServerSIDCache (maxCacheEntries=1024, ssl2_timeout=0, ssl3_timeout=0, directory=0xbffff72b "/export/ws/nss-3.12-sni/mozilla/tests_results/security/alexei-volkovs-macbook-pro.1/pkix/server/tmp") at sslsnce.c:1471
#5 0x000067b1 in main (argc=20, argv=0xbffff060) at selfserv.c:2155
The function returns error code -1. errno is set to 78.
More info to come...
Comment 1•15 years ago
|
||
The sem_init() call is an optional feature of Posix. See:
http://www.opengroup.org/onlinepubs/7990989775/xsh/sem_init.html
where it mentions ENOSYS. Last time I checked, MacOS returns ENOSYS to sem_init (there's no man page for sem_init, only sem_open on MacOS).
I notice NSPR has PR_NewSem (possibly obsolete), but it looks like it's implemented using PR_Lock so it loses the async-signal-safe property of sem_post.
I wrote code to emulate sem_init/sem_post/etc on MacOS using a pthread mutex and a pipe where the sem_post replacement only writes to the pipe so it's async-signal-safe.
Updated•6 years ago
|
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Comment 2•2 years ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Assignee: alvolkov.bgs → nobody
Status: ASSIGNED → NEW
Updated•2 years ago
|
Severity: normal → S3
Updated•1 year ago
|
Severity: S3 → S4
Status: NEW → RESOLVED
Closed: 1 year ago
Priority: -- → P5
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•