[ 
https://issues.apache.org/jira/browse/THRIFT-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763524#action_12763524
 ] 

Jonathan Ellis commented on THRIFT-601:
---------------------------------------

"Thrift is meant for for RPC between cooperating applications" is true but 
meaningless.  It's easy to achieve the same result through human error (e.g. 
sufficiently incompatible protocols for the "same" service, or connecting to 
the wrong port on a machine running two thrift services, or ...).  This is 
about being un-fragile, not protecting against malice.

> sending random data crashes thrift service
> ------------------------------------------
>
>                 Key: THRIFT-601
>                 URL: https://issues.apache.org/jira/browse/THRIFT-601
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (Java)
>            Reporter: Eric Evans
>
> Sending random data to a Java thrift service causes it to crash with extreme 
> prejudice.
> dd if=/dev/urandom count=1 | nc $host 9160
> ... produces ...
> java.lang.OutOfMemoryError: Java heap space
>         at 
> org.apache.thrift.protocol.TBinaryProtocol.readStringBody(TBinaryProtocol.java:296)
>         at 
> org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:203)
>         at 
> org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:615)
>         at 
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:636)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to