| Summary: | HTTP POST: "The process for the ... protocol died unexpectedly." | ||
|---|---|---|---|
| Product: | [Unmaintained] kio | Reporter: | Steffen Weber <steffen.weber> |
| Component: | http | Assignee: | Unassigned bugs <unassigned-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Steffen Weber
2004-01-31 20:55:13 UTC
Thanks, I can reproduce without login. Unfortunately the first indications are that it crashes somewhere deep inside SSL. Valgrind says: ==2760== Invalid read of size 4 ==2760== at 0x45A43D8B: get_server_hello (in /usr/lib/libssl.so.0.9.7) ==2760== Address 0x8 is not stack'd, malloc'd or free'd Problem seems to be related to the reuse of the SSL session ID.
#0 0x41836ddb in get_server_hello (s=0x80928f8) at s2_clnt.c:542
#1 0x4183682a in ssl2_connect (s=0x80928f8) at s2_clnt.c:235
#2 0x41847d8a in SSL_connect (s=0x80928f8) at ssl_lib.c:820
#3 0x401845d7 in KOpenSSLProxy::SSL_connect(ssl_st*) (this=0x8077f50, ssl=0x80928f8)
at kio/kssl/kopenssl.cc:604
#4 0x4016e6a7 in KSSL::connect(int) (this=0x8079718, sock=8) at kio/kssl/kssl.cc:399
#5 0x401e7ccc in KIO::TCPSlaveBase::doSSLHandShake(bool) (this=0xbfffd748, sendError=false)
at kio/kio/tcpslavebase.cpp:1259
#6 0x401e0c91 in KIO::TCPSlaveBase::connectToHost(QString const&, unsigned, bool) (
this=0xbfffd748, host=@0xbfffd7a0, _port=0, sendError=false)
at kio/kio/tcpslavebase.cpp:355
#7 0x41703f90 in HTTPProtocol::httpOpenConnection() (this=0xbfffd720) at http.cc:1948
0x41836ddb in get_server_hello (s=0x80928f8) at s2_clnt.c:542
542 if (s->session->peer != s->session->sess_cert->peer_key->x509)
Current language: auto; currently c
(gdb) print s
$1 = (SSL *) 0x80928f8
(gdb) print s->session
$2 = (SSL_SESSION *) 0x8092a40
(gdb) print s->session->peer
$3 = (X509 *) 0x808b048
(gdb) print s->session->sess_cert
$4 = (struct sess_cert_st *) 0x0
#1 0x4183682a in ssl2_connect (s=0x80928f8) at s2_clnt.c:235
233 case SSL2_ST_GET_SERVER_HELLO_A:
234 case SSL2_ST_GET_SERVER_HELLO_B:
235 ret=get_server_hello(s);
236 if (ret <= 0) goto end;
Seems to be fixed in recent CVS builds, thanks! |