[JBoss JIRA] Created: (JGRP-536) Catching InterruptedException and setting interrupt bit in a loop might cause infinite loop
by Bela Ban (JIRA)
Catching InterruptedException and setting interrupt bit in a loop might cause infinite loop
-------------------------------------------------------------------------------------------
Key: JGRP-536
URL: http://jira.jboss.com/jira/browse/JGRP-536
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assigned To: Bela Ban
Fix For: 2.4.1 SP4, 2.5
FC.handleDownMessage() has the following code:
while(length > lowest_credit && running) {
try {
boolean rc=credits_available.await(max_block_time, TimeUnit.MILLISECONDS);
if(rc || length <= lowest_credit || !running)
break;
long wait_time=System.currentTimeMillis() - last_credit_request;
if(wait_time >= max_block_time) {
// we have to set this var now, because we release the lock below (for sending a
// credit request), so all blocked threads would send a credit request, leading to
// a credit request storm
last_credit_request=System.currentTimeMillis();
// we need to send the credit requests down *without* holding the sent_lock, otherwise we might
// run into the deadlock described in http://jira.jboss.com/jira/browse/JGRP-292
Map<Address,Long> sent_copy=new HashMap<Address,Long>(sent);
sent_copy.keySet().retainAll(creditors);
sent_lock.unlock();
try {
// System.out.println(new Date() + " --> credit request");
for(Map.Entry<Address,Long> entry: sent_copy.entrySet()) {
sendCreditRequest(entry.getKey(), entry.getValue());
}
}
finally {
sent_lock.lock();
}
}
}
catch(InterruptedException e) {
// set the interrupted flag again, so the caller's thread can handle the interrupt as well
Thread.currentThread().interrupt();
}
}
So if the thread is interrupted, unless
length < lowest_credit || !running,
we will have an infinite loop !
SOLUTION: we cannot set the interrupt flag again, because we *don't* return from the loop !
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 1 month
[JBoss JIRA] Created: (JBMESSAGING-984) Expiring messages hang JBoss server and client
by Gabriele Garuglieri (JIRA)
Expiring messages hang JBoss server and client
----------------------------------------------
Key: JBMESSAGING-984
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-984
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.3.0.GA
Environment: JBoss 4.2.0.GA, JBmessaging 1.3.0.GA, Java 1.6.0_01, Windows XP Pro sp2, Postgres 8.2.4
Reporter: Gabriele Garuglieri
Assigned To: Tim Fox
Priority: Blocker
I think i've found a serious bug in messaging behaviour.
The problem is always reproducible with the following steps:
1- send a couple thousands of messages with a short expiration time to a queue (i used 20 sec to shorten the test time, the problem does not depend on expiration time value). I used the /queue/testQueue
2- wait enough for the messages to expire
3- start a client that read from /queue/testQueue
4- the client won't receive any message because as messaging is getting messages from channel 2 it expires them and updates them to channel 1
5- the problem is that it never gets through, after expiring approximately 1025 messages (not exactly the same number in each run) everything gets stuck
The client locks in Connection.close(), that never returns (even if i kill the server!!!).
JBoss server locks who knows where, such that if i try to orderly shutdown the server, it won't terminate until i kill it, or if i try to open a new connection from a client to server mostly of the times it will hang in ConnectionFactory.createConnection(), that will never return.
The run for which i'm sending doc was done whith a fresh db.
Included you'll find:
server boot.log and server.log,
client thread dump while it was locked in Connection.close(),
server thread dump while it was locked after shutdown request,
csv dump of jbm_counter, jbm_msg, jbm_msg_ref, jbm_postoffice taken after all those weird things happened
Thread dumps of client and server were taken with jstack utility since none of them were responding to ctrl-break.
The messaging configuration was based on default server and all the attributes were left at their default.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 1 month
[JBoss JIRA] Updated: (JBBUILD-157) Libs not deleted when updating from repository
by Paul Gier (JIRA)
[ http://jira.jboss.com/jira/browse/JBBUILD-157?page=all ]
Paul Gier updated JBBUILD-157:
------------------------------
Fix Version/s: JBossBuild Maint 2007
> Libs not deleted when updating from repository
> ----------------------------------------------
>
> Key: JBBUILD-157
> URL: http://jira.jboss.com/jira/browse/JBBUILD-157
> Project: JBoss Build System
> Issue Type: Sub-task
> Components: Repository
> Affects Versions: Repsository Build Branch_4_0
> Reporter: Adrian Brock
> Fix For: JBossBuild Maint 2007
>
>
> The synchronize does not clear the thirdparty component when updating to a new version.
> This leads to old jars being left lying around:
> adrian@dev22:~/jboss-4.0/workspace/thirdparty/apache-tomcat/lib> ls -l
> total 2817
> -rw-r--r-- 1 adrian adrian 664241 2005-09-26 02:03 catalina.jar
> -rw-r--r-- 1 adrian adrian 45746 2005-09-26 02:03 catalina-manager.jar
> -rw-r--r-- 1 adrian adrian 115234 2005-09-26 02:03 catalina-optional.jar
> -rw-r--r-- 1 adrian adrian 109670 2005-07-06 12:33 commons-modeler.jar <!-- Should not be HERE -->
> -rw-r--r-- 1 adrian adrian 383690 2005-09-26 02:03 jasper-compiler.jar
> -rw-r--r-- 1 adrian adrian 918743 2005-09-26 02:03 jasper-compiler-jdt.jar
> -rw-r--r-- 1 adrian adrian 76664 2005-09-26 02:03 jasper-runtime.jar
> -rw-r--r-- 1 adrian adrian 46606 2005-09-26 02:03 naming-resources.jar
> -rw-r--r-- 1 adrian adrian 18062 2005-09-26 02:03 servlets-default.jar
> -rw-r--r-- 1 adrian adrian 6008 2005-09-26 02:03 servlets-invoker.jar
> -rw-r--r-- 1 adrian adrian 22060 2005-09-26 02:03 servlets-webdav.jar
> -rw-r--r-- 1 adrian adrian 123399 2005-09-26 02:03 tomcat-ajp.jar
> -rw-r--r-- 1 adrian adrian 19247 2005-09-26 02:03 tomcat-coyote.jar
> -rw-r--r-- 1 adrian adrian 51679 2005-09-26 02:03 tomcat-http.jar
> -rw-r--r-- 1 adrian adrian 245885 2005-09-26 02:03 tomcat-util.jar
> Should be:
> http://repository.jboss.com/apache-tomcat/5.5.9jboss/lib/
> Modeler is here:
> http://repository.jboss.com/apache-modeler/1.1patch/lib/
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 1 month