[jboss-user] [JBoss Cache: Core Edition] - Magic number 64

janbols do-not-reply at jboss.com
Thu Oct 16 05:05:01 EDT 2008


Hi, 
we're using JBC 2.2.0 GA which uses JGroups 2.6 in a standalone environment with 2 nodes running in the same JVM.

Sometimes we receive the following error:
[10:42:52,218][ERROR][Incoming,localhost:2440][NAKACK] failed reading retransmitted message
  | java.io.IOException: failed reading header
  | 	at org.jgroups.Message.readHeader(Message.java:854)
  | 	at org.jgroups.Message.readFrom(Message.java:738)
  | 	at org.jgroups.util.Util.byteBufferToMessage(Util.java:782)
  | 	at org.jgroups.protocols.pbcast.NAKACK.handleXmitRsp(NAKACK.java:1000)
  | 	at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:688)
  | 	at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)
  | 	at org.jgroups.protocols.FD.up(FD.java:322)
  | 	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:300)
  | 	at org.jgroups.protocols.MERGE2.up(MERGE2.java:145)
  | 	at org.jgroups.protocols.Discovery.up(Discovery.java:250)
  | 	at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1510)
  | 	at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1459)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  | 	at java.lang.Thread.run(Thread.java:619)
  | Caused by: java.lang.IllegalArgumentException: magic number 64 is not available in magic map
  | 	at org.jgroups.Message.readHeader(Message.java:835)
  | 	... 14 more

Sounds like magic to me!

Both nodes are running the same jdk (1.6) and version of JBC. I'm using the binary distribution of JBC.

Do you have any idea what this is or how we can solve this issue? Any help is highly appreciated.


Below you can also find my JBC config:

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <!-- ===================================================================== -->
  | <!--                                                                       -->
  | <!--  Sample for total replication.                               -->
  | <!--                                                                       -->
  | <!-- ===================================================================== -->
  | 
  | <server>
  | 
  |    <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
  | 
  | 
  |    <!-- ==================================================================== -->
  |    <!-- Defines TreeCache configuration                                      -->
  |    <!-- ==================================================================== -->
  | 
  |    <mbean code="org.jboss.cache.jmx.CacheJmxWrapper"
  |           name="jboss.cache:service=Cache">
  | 
  |       <depends>jboss:service=Naming</depends>
  |       <depends>jboss:service=TransactionManager</depends>
  | 
  |       <!--
  |           Configure the TransactionManager
  |       -->
  | 		<attribute name="TransactionManagerLookupClass">
  | 			com.traficon.tmsng.server.common.cache.impl.jboss.SpringTransactionManagerLookup
  | 		</attribute>
  | 
  | 
  |       <!--
  |           Node locking level : SERIALIZABLE
  |                                REPEATABLE_READ (default)
  |                                READ_COMMITTED
  |                                READ_UNCOMMITTED
  |                                NONE
  |       -->
  |       <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  | 
  |       <!--
  |            Valid modes are LOCAL
  |                            REPL_ASYNC
  |                            REPL_SYNC
  |                            INVALIDATION_ASYNC
  |                            INVALIDATION_SYNC
  |       -->
  |       <attribute name="CacheMode">REPL_ASYNC</attribute>
  | 
  |       <!-- Name of cluster. Needs to be the same for all TreeCache nodes in a
  |            cluster in order to find each other.
  |       -->
  |       <attribute name="ClusterName">JBossCache-Cluster</attribute>
  | 
  |       <!--Uncomment next three statements to enable JGroups multiplexer.
  |       This configuration is dependent on the JGroups multiplexer being
  |       registered in an MBean server such as JBossAS.  -->
  |       <!--
  |       <depends>jgroups.mux:name=Multiplexer</depends>
  |       <attribute name="MultiplexerService">jgroups.mux:name=Multiplexer</attribute>
  |       <attribute name="MultiplexerStack">fc-fast-minimalthreads</attribute>
  |       -->
  | 
  |       <!-- JGroups protocol stack properties.
  |          ClusterConfig isn't used if the multiplexer is enabled and successfully initialized.
  |       -->
  |       <attribute name="ClusterConfig">
  |          <config>
  |             <UDP mcast_addr="228.1.2.3"
  |                  mcast_port="45588"
  |                  tos="8"
  |                  ucast_recv_buf_size="20000000"
  |                  ucast_send_buf_size="640000"
  |                  mcast_recv_buf_size="25000000"
  |                  mcast_send_buf_size="640000"
  |                  loopback="false"
  |                  discard_incompatible_packets="true"
  |                  max_bundle_size="64000"
  |                  max_bundle_timeout="30"
  |                  use_incoming_packet_handler="true"
  |                  ip_ttl="2"
  |                  enable_bundling="false"
  |                  enable_diagnostics="true"
  | 
  |                  use_concurrent_stack="true"
  | 
  |                  thread_naming_pattern="pl"
  | 
  |                  thread_pool.enabled="true"
  |                  thread_pool.min_threads="1"
  |                  thread_pool.max_threads="25"
  |                  thread_pool.keep_alive_time="30000"
  |                  thread_pool.queue_enabled="true"
  |                  thread_pool.queue_max_size="10"
  |                  thread_pool.rejection_policy="Run"
  | 
  |                  oob_thread_pool.enabled="true"
  |                  oob_thread_pool.min_threads="1"
  |                  oob_thread_pool.max_threads="4"
  |                  oob_thread_pool.keep_alive_time="10000"
  |                  oob_thread_pool.queue_enabled="true"
  |                  oob_thread_pool.queue_max_size="10"
  |                  oob_thread_pool.rejection_policy="Run"/>
  | 
  |             <PING timeout="2000" num_initial_members="2"/>
  |             <MERGE2 max_interval="30000" min_interval="10000"/>
  |             <FD_SOCK/>
  |             <FD timeout="10000" max_tries="5" shun="true"/>
  |             <VERIFY_SUSPECT timeout="1500"/>
  |             <pbcast.NAKACK
  |                   use_mcast_xmit="false" gc_lag="0"
  |                   retransmit_timeout="300,600,1200,2400,4800"
  |                   discard_delivered_msgs="true"/>
  |             <UNICAST timeout="300,600,1200,2400,3600"/>
  |             <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
  |                            max_bytes="400000"/>
  |             <pbcast.GMS print_local_addr="true" join_timeout="5000" shun="false"
  |                         view_bundling="true" view_ack_collection_timeout="5000"/>
  |             <FRAG2 frag_size="60000"/>
  |             <pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/>
  | <!--             <pbcast.STATE_TRANSFER/> -->
  |             <pbcast.FLUSH timeout="0"/>
  |          </config>
  |       </attribute>
  | 
  |       <!--
  |               Whether or not to fetch state on joining a cluster
  |               NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
  |       -->
  |       <attribute name="FetchInMemoryState">false</attribute>
  | 
  | 
  |       <!--
  |           The max amount of time (in milliseconds) we wait until the
  |           state (ie. the contents of the cache) are retrieved from
  |           existing members in a clustered environment
  |       -->
  |       <attribute name="StateRetrievalTimeout">20000</attribute>
  | 
  |       <!--
  |           Number of milliseconds to wait until all responses for a
  |           synchronous call have been received.
  |       -->
  |       <attribute name="SyncReplTimeout">15000</attribute>
  | 
  |       <!-- Max number of milliseconds to wait for a lock acquisition -->
  |       <attribute name="LockAcquisitionTimeout">10000</attribute>
  | 
  | 
  |    </mbean>
  | </server>
  | 
  | 
  | 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4182580#4182580

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4182580



More information about the jboss-user mailing list