Bugs item #784343, was opened at 2003-08-06 19:15 Message generated for change (Comment added) made by ejort You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=784343&group_id=22866
Category: JBossMQ Group: v3.2 >Status: Closed Resolution: None Priority: 5 Submitted By: Todd Wolff (wolfftw) Assigned to: Adrian Brock (ejort) Summary: Invalid msgType Concurrency Bug? Initial Comment: Using 3.2.2RC3 Jetty Build, 1.4.2jdk on Windows XP Pro SP1 the attached test case causes an intermittent IllegalArgumentException: Invalid msgType error, when using the UIL2ConnectionFactory. When using the jvm IL (java:/ConnectionFactory), the process simply hangs after a few thousand messages, with no error messages. It may take a few attempts to get it to hang, and the machine should be relatively fast (roughly 100 messages per second) to duplicate the problem. The sessions are all non-transacted, the messages are non_persistent and do not expire. I don't believe I've broken any design idioms within the test case, but if so, please email me with the problem. I've spent several days trying to solve this one. See readme.txt in attached test case for test execution instructions. Thanks and let me know if you need anything else. [EMAIL PROTECTED] ---------------------------------------------------------------------- >Comment By: Adrian Brock (ejort) Date: 2003-09-15 10:48 Message: Logged In: YES user_id=9459 Open a new bug report if/when you can reproduce it. ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-13 13:11 Message: Logged In: YES user_id=839156 Adrian, I tried the jvmIL many times, 15000 messages each try and no problems. I agree. I'm not sure how ZoneAlarm would interfere in this case. I am, however, still seeing the jvmIL hang in my larger application (not the test case.) Which is why I began debugging in the first place. Once I am certain it is not my code, and If I can get a trace (race condition makes this difficult,) I will send it to you directly. Thanks again. ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-12 16:11 Message: Logged In: YES user_id=9459 :-) But what about the JVM IL? I don't see how that could be caused by a firewall problem. See if you can get a hand running with TRACE enabled. Regards, Adrian ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-12 15:49 Message: Logged In: YES user_id=839156 Adrian, Well ... I found the problem. Not jboss, my code, the OS, nor the jdk. It was a race condition with the firewall software installed on the machine. Apparently, above a certain message rate, the stream (which filters through the firewall) gets corrupted. I am now getting message rates of up to 275/second with three sending threads - AND no exceptions. Thanks so much for your help and keep up the good work. Todd ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-11 19:46 Message: Logged In: YES user_id=9459 Your latest log shows the stream is corrupted. Looks like that the message type 0x80 (-128) and the message id 0x00000200 (512) should go together 0x80000002 or -2147483646 Unless this is a very early message that has taken a while to process, I would guess this is really a subscription id (seen elsewhere in the log). If that is true, the stream is wayoff. Can you see if you can find that message id processed in the log, should be at the start. Also can you run it again with {%t} in the "ConversionPattern" of the log so we can see the threads. I cannot workout from your log which request is failing (seeing the threads will help me determine the queue) - send me the full log to [EMAIL PROTECTED] It is bizarre that nobody else can reproduce this, since you can reproduce it so consistently using the same test? Regards, Adrian ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-11 15:53 Message: Logged In: YES user_id=839156 Adrian, Here's the new trace. Good luck. ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-08 15:21 Message: Logged In: YES user_id=9459 The jars are too big for sourceforge so I've attached the changed classes instead. org.jboss.util.stream.Streams.class in jboss-common.jar org.jboss.mq.il.uil2.SocketHandler$ReadTask.class in jbossmq.jar Regards, Adrian ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-08 15:17 Message: Logged In: YES user_id=9459 I'm attaching a replacement jboss-common.jar and jbossmq.jar that will dump the stream in hex characters when there is a failure. It is not very clever, so if there is a problem with the protocol, the dump will just hang waiting for more input from the open socket. Regards, Adrian ---------------------------------------------------------------------- Comment By: Scott M Stark (starksm) Date: 2003-08-08 06:22 Message: Logged In: YES user_id=175228 I have made ~10 runs using JDK 1.4.2 on an xp pro sp1 2.4GHz laptop with msg rates of 100-125 and not been able to see this issue. We may need to create a special debug patch that saves off the working byte[] buffer so that when a bad msg is see we can dump out the buffer and position to see if the index into the buffer is just getting offline or the data really is bad. Both the message type 33, msgID: 41943041 are completely off. ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-08 02:16 Message: Logged In: YES user_id=839156 I was running 1.4.1_04 when I first noticed the problem and upgraded to 1.4.2, hoping it would go away. So ... perhaps it is platform specific. The centrino configuration includes a new chipset, I believe, and I'm running XP Pro. I can try running on another win2k box tomorrow, but it's slower ... How many messages per second are you guys processing, so that we can rule out the race condition? ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-08 02:07 Message: Logged In: YES user_id=839156 Adrian, It's not a classpath or stray jar issue. I copy the build directly from the jetty output directory and the run the same test script you're running. hmmm. I uploaded another trace, which is different than trace2, but contains the same exception. ---------------------------------------------------------------------- Comment By: Elias Ross (genman) Date: 2003-08-07 23:12 Message: Logged In: YES user_id=556458 Since my company is very concerened about the reliablity of JMS, I went ahead and tested using my own installation. I use JVM 1.4.1_01 (Blackdown) on Redhat Linux 8. I was unable to reproduce the problem, even after tens of tries. If all JBoss threads stop running, even unrelated ones then this would suggest a JVM bug, or OS or hardware issue. As 1.4.2 is fairly new, I suggest you test and deploy with a JVM 1.4.1 release. ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-07 21:29 Message: Logged In: YES user_id=9459 Hi, I've been trying all evening to get either the jvm il or UIL2 il to fail. I've turned off all logging and run different size tests with different numbers of threads. I haven't seen any failures. The UIL2 stacktraces look like the problems we were having with an old version of concurrent.jar (which is used elsewhere by jbossmq), it was replaced with a fixed version for jboss-3.2.0 Can I ask whether you have any old jars in jre/lib/ext or you have modified the classpath to add old jars from somewhere? For Trace2.txt can you go back further in the log so we can see the history for the request that fails: Read msgType: unknown message type 0, msgID: 76057 Regards, Adrian ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-07 20:01 Message: Logged In: YES user_id=839156 Adrian, To get the jvmIL to hang fairly consistently, I had to turn off all logging. It appears to be a race condition. It runs like a champ with debug level logging. ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-07 13:42 Message: Logged In: YES user_id=839156 I get two different errors when using UIL2. Here's the first trace. BTW, it fails everytime unlike the jvm IL. ---------------------------------------------------------------------- Comment By: Todd Wolff (wolfftw) Date: 2003-08-07 13:39 Message: Logged In: YES user_id=839156 Here's the thread dump using the jvm il following the hang. BTW, I'm not using a multiprocessor machine. What I meant by multithreaded was multiple httpclient threads, multiple queue receivers listening on the same queue, multiple queue senders ... I had to run at least six times sending 3000 messages each time to get it to hang. My machine is a Pentium M, 1.3 ghz. It processes the 3000 messages in .489 minutes. I will follow-up with the UIL2 trace. ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2003-08-07 09:19 Message: Logged In: YES user_id=9459 I've tried to get your testcase to crash but it is not happening for me. Probably because I don't have a multi-processor machine. When it hangs using the jvm IL, take a threaddump using ctrl-break and post the results. Alternatively, set TRACE logging for org.jboss.mq while running with UIL2 and post the log snippet for the last couple of minutes before you get the IllegalArgumentException Regards, Adrian ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=784343&group_id=22866 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development