axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William Walsh (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-4910) [ERR 0635] Sporadically from org.apache.axis2.wsdl.WSDL2Code followed by failing compilations using generated code
Date Tue, 08 Mar 2011 23:01:05 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004276#comment-13004276
] 

William Walsh commented on AXIS2-4910:
--------------------------------------

Just wanted to follow-up with the information I got from IBM regarding ERR 0635:

The XSLT processor in the IBM JDK translates XSLT stylesheets in Java    
classes, and for any particularly large template in those stylesheets,   
its initial attempt at generating the method corresponding to that       
template might exceed the JVM Specification's limit on the size of a     
method.  If this happens, the XSLT processor will split the method into  
smaller methods, none of which exceeds the limit on the size of the      
method.                                                                  
                                                                         
If the user sets the 'split limit', this sets a maximum method size that 
the processor uses internally prior to generating byte code.  Using this 
option generally improves performance.  However, the option has to be    
set on the TransformerFactory used to process the XSLT stylesheet, and   
if that is happening through the Axis2 code, you have no way of          
controlling that unless you modify the Axis2 code or unless the Axis2    
code provides some mechanism that allows the user to supply              
TransformerFactory settings to TransformerFactory it uses.               

... the option is specific to IBM's     
Java run-time environment.  It can be set using the                      
TransformerFactory.setAttribute method.  I found a value of 1500 worked  
with the Axis2 stylesheets.                                              
                                                                         
If they choose to, the Axis2 developers can set the attribute this way:  
                                                                         
        TransformerFactory tf = TransformerFactory.newInstance();        
                                                                         
        try {                                                            
            tf.setAttribute(                                             
                   "http://www.ibm.com/xmlns/prod/xltxe-j/split-limit",  
                   Integer.valueOf(1500));                               
        } catch (IllegalArgumentException iae) {                         
        }                                                           

www




> [ERR 0635] Sporadically from org.apache.axis2.wsdl.WSDL2Code followed by failing compilations
using generated code
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4910
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4910
>             Project: Axis2
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.5.1
>         Environment: Various OSes (Windows XP, UNIX flavors, etc).  May be specific to
IBM V6 JDK.
>            Reporter: William Walsh
>         Attachments: Axis2DocWebServiceTestBPO.wsdl
>
>
> Not sure if this is an Axis2 bug (would have used question category if it was available
to me), but:
> We are invoking the Axis2 1.5.1 org.apache.axis2.wsdl.WSDL2Code tool via an Ant <java>
task and we're seeing sporadic failures where something - e.g. one attribute out of several
is not being included in the generated Stub code, or as below when a method was missing. 
When I say sporadic I'm guessing it's about 5 or 6 identified failures out of hundreds across
our automated nightly Anthill builders and our ClearCase builders.  This is using WSDL 1.1
input.
> I'm only considering the period of time in the last few months when this area of our
tests/builds has been stable and I have no reason to believe these errors are our internal
issues.  Unfortunately, all these builders wipe out the environment after the failure (unless
I take extraordinary action) and so I have only been able to do limited investigation.  I've
never seen the issue in my own development environments.  
> In one of the most recent failures I see our test code failing compilation as below because
it's referencing a class method that WSDL2Code did not generate:
> {quote}
> curam \ util \ test \ webservices \ Axis2WSConnectorTest.java: 268: can not find symbol
INFO - [javac] symbol: method get_return () INFO - [javac] location: class wsconnector.Axis2DocWebServiceTestBPOStub.OppositeResponse
> INFO - [javac] assertFalse (oppositeResponse.get_return ()); INFO - [javac] ^ INFO -
[javac] Note: Some input files use or override a deprecated API. 
> INFO - [javac] Note: To learn more, use the-Xlint: deprecation recompile. 
> INFO - [javac] 1 error 
> {quote}
> And, we see this output for the generation of that related failing code:
> {quote}
> INFO - [JavaFromWSDL] Warning: "[ERR 0635] generated a number of functions than the JVM
method size limit and is automatically divided into smaller functions.
> By using the Process or the Compile command" splitlimit "option, or by setting"
> http://www.ibm.com/xmlns/prod/xltxe-j/split-limit "converter plant property, you can
manually put the huge template into smaller templates." 
> INFO - [JavaFromWSDL] Warning: "[ERR 0635] generated a number of functions than the JVM
method size limit and is automatically divided into smaller functions.
> By using the Process or the Compile command" splitlimit "option, or by setting"
> http://www.ibm.com/xmlns/prod/xltxe-j/split-limit "converter plant property, you can
manually put the huge template into smaller templates." 
> {quote}
> On this same builder another test ran immediately following this failure (same source,
etc.) and did not fail.  The failing build was using the IBM V6 JDK and the non-failing build
was using the Sun V6 JDK.  Based on a google search (only 10 hits found) the above directed
me to this IBM site, which appears to identify xltxe-j as new functionality:
> http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/topic/com.ibm.java.doc.user.win32.60/user/xml/xslt_migrate.html
> At this point, with the limited data points I have I feel it's too early to say this
is an Axis2 or an IBM JDK issue, but would appreciate it if anyone has:
> * Further information on these symptoms
> * Thoughts on how I might gather more data when using the Axis2 tool to get for information
so I can pursue with IBM if that's appropriate.
> I admit that I have not yet spent the time pouring over Axis2 and related code, IBM support
site, etc.; but, given our project timelines I needed to get this entered to see if there
is any faspath to resolution.  So, apologies for that.

--
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


Mime
View raw message