You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Raymond Naseef (JIRA)" <ax...@ws.apache.org> on 2011/04/24 20:05:05 UTC

[jira] [Created] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
----------------------------------------------------------------------------------------------

                 Key: AXIS-2850
                 URL: https://issues.apache.org/jira/browse/AXIS-2850
             Project: Axis
          Issue Type: Bug
          Components: Basic Architecture
    Affects Versions: 1.4
         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
            Reporter: Raymond Naseef
            Priority: Minor


Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.

This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.

Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.

I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.

If there is more to this, please let me know.

Thank you,
Raymond Naseef


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Resolved] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

Posted by "Andreas Veithen (Resolved) (JIRA)" <ax...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen resolved AXIS-2850.
-----------------------------------

    Resolution: Fixed
      Assignee: Andreas Veithen
    
> org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2850
>                 URL: https://issues.apache.org/jira/browse/AXIS-2850
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
>            Reporter: Raymond Naseef
>            Assignee: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.4.1
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.
> This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.
> Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.
> I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.
> If there is more to this, please let me know.
> Thank you,
> Raymond Naseef

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Updated] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

Posted by "Andreas Veithen (Updated) (JIRA)" <ax...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen updated AXIS-2850:
----------------------------------

    Fix Version/s: 1.4.1
    
> org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2850
>                 URL: https://issues.apache.org/jira/browse/AXIS-2850
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
>            Reporter: Raymond Naseef
>            Priority: Minor
>             Fix For: 1.4.1
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.
> This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.
> Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.
> I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.
> If there is more to this, please let me know.
> Thank you,
> Raymond Naseef

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

Posted by "Raymond Naseef (JIRA)" <ax...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027103#comment-13027103 ] 

Raymond Naseef commented on AXIS-2850:
--------------------------------------

Let's take a look at this code, and decide if this is correct or has a bug.

    public javax.xml.rpc.Call createCall() throws ServiceException {
        _call = new org.apache.axis.client.Call(this);
        return _call;
    }


Here is a method that is not thread safe.  If called from multiple threads, and any of these thread yield in the middle of this method, the instance created here may never be used.

This is a clear bug.  Please let me know when this will be fixed, or a supported Axis framework to use.


> org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2850
>                 URL: https://issues.apache.org/jira/browse/AXIS-2850
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
>            Reporter: Raymond Naseef
>            Priority: Minor
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.
> This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.
> Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.
> I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.
> If there is more to this, please let me know.
> Thank you,
> Raymond Naseef

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

Posted by "Hudson (Commented) (JIRA)" <ax...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13182050#comment-13182050 ] 

Hudson commented on AXIS-2850:
------------------------------

Integrated in axis-trunk #41 (See [https://builds.apache.org/job/axis-trunk/41/])
    AXIS-2850: Removed the inherently non thread-safe Service#getCall() method and solved a thread safety issue involving Service#createCall(). The removed method is part of the public API, but:
* It is deprecated since Axis 1.2.
* People generally prefer build failures or NoSuchMethodErrors over dealing with subtle concurrency issues that only show up in production systems and that are not reproducible.

veithen : 
Files : 
* /axis/axis1/java/trunk/axis/src/main/java/org/apache/axis/client/Service.java

                
> org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2850
>                 URL: https://issues.apache.org/jira/browse/AXIS-2850
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
>            Reporter: Raymond Naseef
>            Priority: Minor
>             Fix For: 1.4.1
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.
> This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.
> Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.
> I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.
> If there is more to this, please let me know.
> Thank you,
> Raymond Naseef

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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