Hi again,
We're getting some Error messages when we're browsing fastpath pages
running tip via https.
Not sure of this is anything to actually to worry about since there doesn't
seem to be any side-effect except for the frequent error messages in the
log.
*[09/Mar/2015:15:59:06][17560.7fffedf37700][-conn:default:4-] Error:
socket: trying to uncork an uncorked socket 10*
It appears pretty much every time we click on a link.
*Test case:*
Building with the tip versions of naviserver and nsssl (but with the
configure.ac change to CCRFLAG/LDRFLAG we discussed)
Add the following to the end of the default
/usr/local/ns/conf/nsd-config.tcl:
ns_section ns/server/default/module/nsssl
ns_param certificate
/usr/local/ns/modules/nsssl/server.pem
ns_param address 0.0.0.0
ns_param port 443
ns_param ciphers
"ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!RC4
"
ns_param protocols "!SSLv2"
ns_param verify 0
ns_param extraheaders {
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
}
List nsssl.so in the module list
ns_section "ns/server/default/modules"
ns_param nscp nscp.so
ns_param nssock nssock.so
ns_param nslog nslog.so
ns_param nscgi nscgi.so
ns_param nsdb nsdb.so
ns_param nsssl nsssl.so
Do the following to generate a self-signed cert:
openssl genrsa 1024 > host.key
openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert
cat host.cert host.key > server.pem
rm -rf host.cert host.key
openssl dhparam 2048 >> server.pem
Run:
/usr/local/ns/bin/nsd -c -u root -t /usr/local/ns/conf/nsd-config.tcl
Browsing to https://servername/doc/index.html then clicking on one of the
command names (eg. to take us
https://servername/doc/naviserver/files/ns_adp_break.html) will cause the
error.
I tried to catch this in gdb by setting a breakpoint on Ns_Log with
severity Error:
...
[09/Mar/2015:15:49:37][17543.7fffef22d700][-sched-] Notice: sched: starting
[Switching to Thread 0x7fffedf37700 (LWP 17554)]
Breakpoint 3, Ns_Log (severity=severity@entry=2, fmt=fmt@entry=0x7ffff7bbabe0
"socket: trying to uncork an uncorked socket %d")
at log.c:481
481 {
(gdb) bt
#0 Ns_Log (severity=severity@entry=2, fmt=fmt@entry=0x7ffff7bbabe0
"socket: trying to uncork an uncorked socket %d")
at log.c:481
#1 0x00007ffff7b91516 in Ns_SockCork (sock=sock@entry=0x7ffff001c9a0,
cork=cork@entry=0) at sockfile.c:405
#2 0x00007ffff7b9166a in SendFd (sock=sock@entry=0x7ffff001c9a0, fd=11,
offset=10165, length=length@entry=10165,
timeoutPtr=timeoutPtr@entry=0x7fffedf36110, flags=flags@entry=0,
sendProc=sendProc@entry=0x7fffee798b70 <Send>)
at sockfile.c:481
#3 0x00007ffff7b913e9 in NsSockSendFileBufsIndirect (sock=0x7ffff001c9a0,
bufs=<optimized out>, nbufs=<optimized out>,
timeoutPtr=timeoutPtr@entry=0x7fffedf36110, flags=0,
sendProc=0x7fffee798b70 <Send>) at sockfile.c:309
#4 0x00007ffff7b75fc7 in NsDriverSendFile (sockPtr=<optimized out>,
bufs=bufs@entry=0x7fffedf363a0, nbufs=nbufs@entry=1,
flags=flags@entry=0) at driver.c:1133
#5 0x00007ffff7b72ea9 in Ns_ConnSendFileVec (conn=conn@entry=0x66ecb0,
bufs=bufs@entry=0x7fffedf363a0, nbufs=1)
at connio.c:525
#6 0x00007ffff7b8be86 in ReturnRange (conn=conn@entry=0x66ecb0,
type=type@entry=0x627c90 "text/html", fd=fd@entry=11,
data=data@entry=0x0, len=len@entry=10165) at return.c:988
#7 0x00007ffff7b8bc64 in ReturnOpen (conn=conn@entry=0x66ecb0,
status=status@entry=200, type=type@entry=0x627c90 "text/html",
chan=chan@entry=0x0, fp=fp@entry=0x0, fd=fd@entry=11, len=10165) at
return.c:881
#8 0x00007ffff7b8bbe5 in Ns_ConnReturnOpenFd (conn=conn@entry=0x66ecb0,
status=status@entry=200,
type=type@entry=0x627c90 "text/html", fd=fd@entry=11, len=<optimized
out>) at return.c:854
#9 0x00007ffff7b7c7fd in FastReturn (conn=conn@entry=0x66ecb0,
status=status@entry=200, type=0x627c90 "text/html",
type@entry=0x0, file=0x7fffedf36b00
"/usr/local/ns/pages/doc/naviserver/files/ns_adp_ctl.html") at
fastpath.c:570
#10 0x00007ffff7b7c4c3 in Ns_FastPathProc (UNUSED_arg=<optimized out>,
conn=0x66ecb0) at fastpath.c:244
#11 0x00007ffff7b85059 in Ns_ConnRunRequest (conn=conn@entry=0x66ecb0) at
op.c:293
#12 0x00007ffff7b89283 in ConnRun (connPtr=0x66ecb0, argPtr=0x16c6a70) at
queue.c:1513
#13 NsConnThread (arg=0x16c6a70) at queue.c:1229
#14 0x00007ffff74ea77c in NsThreadMain (arg=<optimized out>) at thread.c:227
#15 0x00007ffff74eb6c9 in ThreadMain (arg=<optimized out>) at pthread.c:809
#16 0x00007ffff64ed0a4 in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#17 0x00007ffff69ebccd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) frame 0
#0 Ns_Log (severity=severity@entry=2, fmt=fmt@entry=0x7ffff7bbabe0
"socket: trying to uncork an uncorked socket %d")
at log.c:481
481 {
(gdb) frame 1
#1 0x00007ffff7b91516 in Ns_SockCork (sock=sock@entry=0x7ffff001c9a0,
cork=cork@entry=0) at sockfile.c:405
405 Ns_Log(Error, "socket: trying to uncork an uncorked socket
%d",
(gdb) print *sock
$1 = {driver = 0x654c50, sock = 10, sa = {sin_family = 2, sin_port = 46046,
sin_addr = {s_addr = 191146176},
sin_zero = "\000\000\000\000\000\000\000"}, arg = 0x7ffff006f510}
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel