Rainer,

On 8/3/13 6:06 AM, Rainer Jung wrote:
>   - On APR in addition a crash (core) in:
> 
>  b76dfe74 Java_org_apache_tomcat_jni_Socket_recv (30b528, b30ff188,
> b30fd09c, b29500, b30ff214, 0) + 34
>  fbc0f780 * org/apache/tomcat/jni/Socket.recv(J[BII)I+32362
>  fbc0f72c * org/apache/tomcat/jni/Socket.recv(J[BII)I+0
>  fbc068ec *
> org/apache/coyote/http11/upgrade/AprServletInputStream.doRead(Z[BII)I+73
> (line 101)
>  fbc068ec *
> org/apache/coyote/http11/upgrade/AbstractServletInputStream.read([BII)I+20
> (line 229)
>  fbc068ec *
> org/apache/tomcat/websocket/server/WsFrameServer.onDataAvailable()V+46
> (line 89)
>  fbc06b84 *
> org/apache/tomcat/websocket/server/WsHttpUpgradeHandler$WsReadListener.onDataAvailable()V+4
> (line 384)
>  fbc0771c *
> org/apache/coyote/http11/upgrade/AbstractServletInputStream.onDataAvailable()V+11
> (line 337)
>  fbc06b84 *
> org/apache/coyote/http11/upgrade/AbstractProcessor.upgradeDispatch(Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+11
> (line 189)
>  fbc073e0 *
> org/apache/coyote/AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+171
> (line 1221)
>  fbc06848 *
> org/apache/coyote/http11/Http11AprProtocol$Http11ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+76
> (line 546)
>  fbc073e0 *
> org/apache/tomcat/util/net/AprEndpoint$SocketProcessor.doRun()V+26 (line
> 4492)
>  fbc06b84 *
> org/apache/tomcat/util/net/AprEndpoint$SocketProcessor.run()V+55 (line 4468)
> ...
> 
> GDB tells my:
> 
> #7  0xb76dfe74 in Java_org_apache_tomcat_jni_Socket_recv (e=0x30b528,
> o=0xb30ff188, sock=<optimized out>, buf=0xb30ff214, offset=0,
> toread=8192) at src/network.c:733
> 733             if ((ss = (*s->net->recv)(s->opaque, sb, &nbytes)) ==
> APR_SUCCESS)
> 
> #7  0xb76dfe74 in Java_org_apache_tomcat_jni_Socket_recv (e=0x30b528,
> o=0xb30ff188, sock=<optimized out>, buf=0xb30ff214, offset=0,
> toread=8192) at src/network.c:733
>         sb =
> "\000\006\026\200\000\fÞ̳\017Ñ\000·\205{Í·\205{س\017Ñ\234³\017Ñ\030³\017Ш·\227(p»\204H\200ò\032\226x\000\000\000\023\000\000\000\000ûÁ\227hò\032\227\020³\017Ñ8³\017Ñ8ûÀhH\000\000\b¹³\017Ñh³\017ÑHûÀhH³\017ÑP\000\000\002°·\211+Ø\000\000\000u\000\000\000\000ò\032\227
> ò\032\226\210ò\032\226\210\000\000\000u\000\000\000\000³\017ÑhûÀhH»\204Hh¼Ð¬h\000\000\001\032\000\000\000\000³\017Ñ\230·\225x'·\225xH³\017Ò$³\017Ñ
>  
> ³\017Ñ8·\225}ø\000\060´\000\000\000\000\000\000\000\000¶\000\000\000\000ûÁÄÀ"...
>         s = 0xb29500
>         nbytes = 8192
>         ss = <optimized out>
> 
> (gdb) print *s
> $5 = {pool = 0xb294c0, child = 0x0, sock = 0x0, opaque = 0xb297d8,
>   jsbbuff = 0x330398 "HTTP/1.1 101 Switching Protocols\r\nServer:
> Apache-Coyote/1.1\r\nUpgrade: websocket\r\nConnection:
> upgrade\r\nSec-WebSocket-Accept: tPEj68f24a5073zco+NHsEUCKpY=\r\nDate:
> Fri, 02 Aug 2013 12:52:53 GMT\r\n\r\n",
>   jrbbuff = 0xbfbc78 "GET /firehose HTTP/1.1\r\nSec-WebSocket-Version:
> 13\r\nUpgrade: websocket\r\nHost: localhost:59353\r\nSec-WebSocket-Key:
> qzlX6/aQxs4TAKyKCb+XLg==\r\nConnection: upgrade\r\n\r\n", net = 0x0, pe
> = 0xb87958, last_active = 0, timeout = -2}
> 
> The reason for the crash is likely:
> 
> (gdb) print s->net
> $7 = (tcn_nlayer_t *) 0x0
> 
> So dereferencing it in (*s->net->recv) gives a segfault.

Sounds like https://issues.apache.org/bugzilla/show_bug.cgi?id=51813

I haven't committed a patch for this, yet. Can you add this same
information to that bug to make sure I get that particular call? I think
it's already there, but just in case.

-chris

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to