Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-1642

NullPointerException when deserialize

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.10.0
    • Fix Version/s: 2.0.0
    • Component/s: storm-core
    • Labels:
      None
    • Environment:
      jdk 8

      Description

      Hi:
      I've encountered the following NPE when storm tries to deserialize. I did not use OutputCollector concurrently in my code. The only object we are passing between bolts are a thrift object, and we have written a serializer for it. I've attached the code of serializer and please help to check whether there are any potential bugs there.

      2016-03-04 17:17:43.583 b.s.util [ERROR] Async loop died!
      java.lang.RuntimeException: java.lang.NullPointerException
      at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:135) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:106) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.daemon.executor$fn_5694$fn5707$fn_5758.invoke(executor.clj:819) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479) [storm-core-0.10.0.jar:0.10.0]
      at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
      at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
      Caused by: java.lang.NullPointerException
      at com.esotericsoftware.kryo.io.Input.setBuffer(Input.java:57) ~[kryo-2.21.jar:?]
      at backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:47) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.daemon.executor$mk_task_receiver$fn__5615.invoke(executor.clj:433) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.disruptor$clojure_handler$reify__5189.onEvent(disruptor.clj:58) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:132) ~[storm-core-0.10.0.jar:0.10.0]
      ... 6 more
      2016-03-04 17:17:43.584 b.s.d.executor [ERROR]
      java.lang.RuntimeException: java.lang.NullPointerException
      at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:135) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:106) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.daemon.executor$fn_5694$fn5707$fn_5758.invoke(executor.clj:819) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479) [storm-core-0.10.0.jar:0.10.0]
      at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
      at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
      Caused by: java.lang.NullPointerException
      at com.esotericsoftware.kryo.io.Input.setBuffer(Input.java:57) ~[kryo-2.21.jar:?]
      at backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:47) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.daemon.executor$mk_task_receiver$fn__5615.invoke(executor.clj:433) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.disruptor$clojure_handler$reify__5189.onEvent(disruptor.clj:58) ~[storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:132) ~[storm-core-0.10.0.jar:0.10.0]
      ... 6 more
      2016-03-04 17:17:43.648 b.s.util [ERROR] Halting process: ("Worker died")
      java.lang.RuntimeException: ("Worker died")
      at backtype.storm.util$exit_process_BANG_.doInvoke(util.clj:336) [storm-core-0.10.0.jar:0.10.0]
      at clojure.lang.RestFn.invoke(RestFn.java:423) [clojure-1.6.0.jar:?]
      at backtype.storm.daemon.worker$fn_7188$fn_7189.invoke(worker.clj:536) [storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.daemon.executor$mk_executor_data$fn_5523$fn_5524.invoke(executor.clj:261) [storm-core-0.10.0.jar:0.10.0]
      at backtype.storm.util$async_loop$fn__545.invoke(util.clj:489) [storm-core-0.10.0.jar:0.10.0]
      at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
      at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]

        Attachments

          Activity

            People

            • Assignee:
              gmenon Govind Menon
              Reporter:
              liurenjie1024 Renjie Liu
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 2.5h
                2.5h