You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "David Reiss (JIRA)" <ji...@apache.org> on 2009/10/07 01:44:31 UTC

[jira] Commented: (THRIFT-601) sending random data crashes thrift service

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

David Reiss commented on THRIFT-601:
------------------------------------

Thrift is meant for for RPC between cooperating applications, not handling random data.  That said, check out setReadLength in TBinaryProtocol.

> 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.