commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 39393] - [validator] ValidatorAction needs thread-safe
Date Wed, 03 May 2006 07:26:59 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39393>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39393





------- Additional Comments From kanekotky@yahoo.co.jp  2006-05-03 07:26 -------
It is difficult to explain the multi-threading issue.
But I'm going to try!

It's my understanding that exception was occured under the following procedure.

1) Both thread-A and thread-B have reached at line 663 of ValidatorAction.
   Because this block doesn't be protected by synchronization.

657:    private void loadParameterClasses(ClassLoader loader)
658:        throws ValidatorException {
659:
660:        if (this.parameterClasses != null) {
661:            return;
662:        }
663:        
664:        this.parameterClasses = new Class[this.methodParameterList.size()];

2) thread-A has reached at line 621 of ValidatorAction.

617:    private void loadValidationMethod() throws ValidatorException {
618:        if (this.validationMethod != null) {
619:            return;
620:        }
621:     
622:        try {
623:            this.validationMethod =
624:                this.validationClass.getMethod(this.method,
this.parameterClasses);
625:     
626:        } catch (NoSuchMethodException e) {
627:            throw new ValidatorException(e.getMessage());
628:        }

3) thread-B has executed line 664. Then, parameterClasses variable has been
initialized.

4) thread-A has executed line 624. Then, NoSuchMethodException was occured.
   After that, ValidatorException was throwed at line 627.



-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message