Broker ERROR message code B[4031}
We use SunOne MQ JMS server for the at least two years and we never had any serious problems with it before till a couple of days ago when one of our server machines continuously failed to start JMS server.
The logged error messages have codes:
[B4031] and [B30000].I have never seen such messages in the logs before. My attempts to find any related info in Sun documentation were unsuccessful.
Did somebody experienced something similar and could hint me on this issue? The logs messages are below.
Thank you, Val.
******************************************************
Java Runtime: 1.4.0_02 Sun Microsystems Inc. C:\h\COTS\SUN1AS\jdk\jre
[15/May//2004:13:14:42 CDT]
IMQ_HOME=C:\h\COTS\SUN1AS\imq
[15/May/2004:13:14:42 CDT]
IMQ_VARHOME=C:\h\COTS\SUN1AS\imq\var
[15/May/2004:13:14:42 CDT] Windows 2000 5.0 x86 aissvr5 (2 cpu) SYSTEM
[15/May/2004:13:14:42 CDT] Java Heap Size: max=196608k, current=8128k
[15/May/2004:13:14:42 CDT] Arguments: -ntservice -ntservice -adminkeyfile C:\h\COTS\SUN1AS\imq\var\imq1.tmp
[15/May/2004:13:14:44 CDT] [B1004]: Starting the portmapper service using tcp [ 7676, 50 ] with min threads 1 and max threads of 1
[15/May/2004:13:14:44 CDT] [B1060]: Loading persistent data...
[15/May/2004:13:14:46 CDT] ERROR [B4031]: Failed to load destinations from store:
java.io.StreamCorruptedException
[15/May/2004:13:14:46 CDT] ERROR [B3000]: Could not open persistent message store:
com.sun.messaging.jmq.jmsserver.util.BrokerException: Failed to load destinations from store:
java.io.StreamCorruptedException
[15/May/2004:13:37:07 CDT]
[1701 byte] By [
Val_K.] at [2007-11-25 17:03:54]

# 1
What version are you running? And are you using the default
file based store, or JDBC?
This looks as though the table containing the destination
definitions has been corrupted. Try running imqbrokerd with the
"-loglevel DEBUG" option. This should display the
stack trace for the exception. - please post that here.
If you can tolerate loosing your data you can run
"imqbrokerd -reset store" but you will loose all your destinations
and messages. If you can't tolerate message loss there is
likely a manual procedure you can do to preserve the
messages ( once we know what version of MQ you are running).
jfdp at 2007-7-3 0:16:35 >

# 4
Dear jfdb more info for you :
As you advised I ran imqbrokerd with loglevel DEBUG on different "healthy" machine with the imqbroker/filstore/destination file replaced by the copy of the corrupted file I saved.
The output is below .If you are interested to see that corruptred file I can send you a copy by e-mail.
Val.
******************************************************
[19/May/2004:13:38:24 GMT-05:00] ERROR [B4031]: Failed to load destinations from store:
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.sun.messaging.jmq.util.PHashMap.<init>(PHashMap.java:91)
at com.sun.messaging.jmq.jmsserver.persist.file.DestinationList.<init>(Desti nationList.java:81)
at com.sun.messaging.jmq.jmsserver.persist.file.FileStore.<init>(FileStore.j ava:209)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor AccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:306)
at java.lang.Class.newInstance(Class.java:259)
at com.sun.messaging.jmq.jmsserver.persist.StoreManager.getStore(StoreManager.java :103)
at com.sun.messaging.jmq.jmsserver.Globals.getStore(Globals.java:480)
at com.sun.messaging.jmq.jmsserver.Broker.<init>(Broker.java:427)
at com.sun.messaging.jmq.jmsserver.Broker.main(Broker.java:1229)
[19/May/2004:13:38:24 GMT-05:00] ERROR [B3000]: Could not open persistent message store:
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.sun.messaging.jmq.util.PHashMap.<init>(PHashMap.java:91)
at com.sun.messaging.jmq.jmsserver.persist.file.DestinationList.<init>(Desti nationList.java:81)
at com.sun.messaging.jmq.jmsserver.persist.file.FileStore.<init>(FileStore.j ava:209)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor AccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:306)
at java.lang.Class.newInstance(Class.java:259)
at com.sun.messaging.jmq.jmsserver.persist.StoreManager.getStore(StoreManager.java :103)
at com.sun.messaging.jmq.jmsserver.Globals.getStore(Globals.java:480)
at com.sun.messaging.jmq.jmsserver.Broker.<init>(Broker.java:427)
at com.sun.messaging.jmq.jmsserver.Broker.main(Broker.java:1229)