Re: [jgroups-dev] What does cause NullPointerException?

Development issues <[email protected]> Wed, 23 Dec 2015 18:45:02 +0100
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>

On 23/12/15 18:16, Development issues wrote:
> Thank you for replaying.
>
> Yes, I never reuse a message. The following is a part of my code where
> the exception occurs:
> Client code:
> ---
> ---
> --
> Zab2PhasesHeader resetProtocol = new Zab2PhasesHeader(Zab2PhasesHeader
> .RESET);
> Message msg = new Message(null).putHeader(ID, resetProtocol);
> channel.send(msg); // The exception point to this line.

You still haven't shown the stack trace.
I bet this occurs when trying to marshall Zab2PhasesHeader. Did you add 
a magic-ID for your header, e.g.
ClassConfigurator.add(7200, Zab2PhasesHeader.class); ?

Also, you need to add your protocols as well, e.g.
ClassConfigurator.addProtocol(513, jzookeeper.Zab2Phases.class);



> Note that I have 3 protocols (ZabMain, Zab2Phases and ZabProb), each
> with its own header and stack. The same  client code (above code) is
> used (with different in protocol header) to benchmark all three
> protocols. The client code ran without any problems when I benchmark
> the protocols ZabMain and ZabProb. The problem only occurs when I
> benchmark the Zab2Phases protocol.
>
> The following is Zab2Phases stack as requested:
>
> <config xmlns="urn:org:jgroups"
>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>          xsi:schemaLocation="urn:org:jgroups
> http://www.jgroups.org/schema/JGroups-3.3.xsd">
>      <UDP
>              mcast_port="${jgroups.udp.mcast_port:45588}"
>              tos="8"
>              max_bundle_size="64K"
>              max_bundle_timeout="30"
>              enable_diagnostics="true"
>              thread_naming_pattern="cl"
>              ip_mcast="false"
>              timer_type="new3"
>              timer.min_threads="10"
>              timer.max_threads="10"
>              timer.keep_alive_time="3000"
>              timer.queue_max_size="500"
>              timer.rejection_policy="abort"
>              thread_pool.enabled="true"
>              thread_pool.min_threads="2"
>              thread_pool.max_threads="8"
>              thread_pool.keep_alive_time="5000"
>              thread_pool.queue_enabled="true"
>              thread_pool.queue_max_size="10000"
>              thread_pool.rejection_policy="discard"
>              oob_thread_pool.enabled="true"
>              oob_thread_pool.min_threads="1"
>              oob_thread_pool.max_threads="8"
>              oob_thread_pool.keep_alive_time="5000"
>              oob_thread_pool.queue_enabled="false"
>              oob_thread_pool.queue_max_size="100"
>              oob_thread_pool.rejection_policy="discard"/>
>
>      <FILE_PING
>              timeout="2000"
>              num_initial_members="20"
>              location="/home/pg/p13/a6915654/"/>
>      <MERGE2 max_interval="30000"
>              min_interval="10000"/>
>      <FD_SOCK/>
>      <FD_ALL/>
>      <VERIFY_SUSPECT timeout="1500"  />
>      <BARRIER/>
>      <pbcast.NAKACK2 xmit_interval="1000"
>                      xmit_table_num_rows="100"
>                      xmit_table_msgs_per_row="2000"
>                      xmit_table_max_compaction_time="30000"
>                      max_msg_batch_size="500"
>                      use_mcast_xmit="false"
>                      discard_delivered_msgs="true"/>
>      <UNICAST3 xmit_interval="500"
>                xmit_table_num_rows="100"
>                xmit_table_msgs_per_row="2000"
>                xmit_table_max_compaction_time="60000"
>                conn_expiry_timeout="0"
>                max_msg_batch_size="500"/>
>      <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
>                     max_bytes="4M"/>
>       <pbcast.GMS print_local_addr="true" join_timeout="3000"
>                  view_bundling="true"/>
>      <UFC/>
>      <MFC/>
>      <RSVP resend_interval="2000" timeout="10000"/>
>      <jzookeeper.Zab2Phases />
>      <FRAG2 frag_size="60K"  />
>      <pbcast.STATE_TRANSFER />
> </config>
>
>
> Thank you indeed.
>
> Ibrahim
>
> The stack trace is as following?
> Ibrahim EL-Sanosi PHD student [hidden email]
> </user/SendEmail.jtp?type=node&node=10920&i=0>
>
>
> On Wednesday, December 23, 2015 7:22 AM, JGroups - Dev mailing list [via
> JGroups] <[hidden email] </user/SendEmail.jtp?type=node&node=10920&i=1>>
> wrote:
>
>
> What's the stack trace?
>
> I hope you're not reusing the message, as in:
>
> Message msg=new Message(null, "hello world');
> for(int i=0; i < 5; i++)
>      ch.send(msg);
>
> This is incorrect as the send modifies the message. The correct code
> would be:
>
>
> for(int i=0; i < 5; i++) {
>     Message msg=new Message(null, "hello world');
>      ch.send(msg);
> }
>
> On 22/12/15 22:39, Development issues wrote:
>
>  > I have a cluster consist of 5 machines, 3 allocated for services and
> 2 for
>  > clients. I start the cluster and build a channel without any problem.
> Also
>  > clients manage to send a request to the servers using channel.send(msg).
>  >
>  > However, when I use channel.send(msg) again (in client side), it
> gives me
>  > NullPointerException. Moreover, NullPointerException point to line where
>  > channel.send(msg) is.
>  >
>  > Can anyone tell what does cause such problem?
>  >
>  > Thank you
>  >
>  > Ibrahim
>
> --
> Bela Ban, JGroups lead (http://www.jgroups.org <http://www.jgroups.org/>)
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Javagroups-development mailing list
>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://jgroups.1086181.n5.nabble.com/What-does-cause-NullPointerException-tp10915p10918.html
>
> To unsubscribe from What does cause NullPointerException?, click here.
> NAML
> <http://jgroups.1086181.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
>
>
>
> ------------------------------------------------------------------------
> View this message in context: Re: What does cause NullPointerException?
> <http://jgroups.1086181.n5.nabble.com/What-does-cause-NullPointerException-tp10915p10920.html>
> Sent from the JGroups - Dev mailing list archive
> <http://jgroups.1086181.n5.nabble.com/JGroups-Dev-f6604.html> at Nabble.com.
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Javagroups-development mailing list
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


------------------------------------------------------------------------------
_______________________________________________
Javagroups-development mailing list