aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-1906) Regression - export of superclass interface fails
Date Mon, 13 May 2019 07:32:00 GMT

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

ASF subversion and git services commented on ARIES-1906:
--------------------------------------------------------

Commit 12ef918225e93c52a2f3b65d42eeebd7048e4a57 in aries-rsa's branch refs/heads/master from
Christian Schneider
[ https://gitbox.apache.org/repos/asf?p=aries-rsa.git;h=12ef918 ]

Merge pull request #19 from amichair/ARIES-1906

ARIES-1906 - Regression - export of superclass interface fails

> Regression - export of superclass interface fails
> -------------------------------------------------
>
>                 Key: ARIES-1906
>                 URL: https://issues.apache.org/jira/browse/ARIES-1906
>             Project: Aries
>          Issue Type: Bug
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.12.0, rsa-1.13.0, rsa-1.14.0
>            Reporter: Amichai Rothman
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When exporting a service using an interface that is declared in the service superclass
rather than directly by the class, the export fails with the exception stack trace below.
> From a quick look it seems like this got broken in the commit for ARIES-1776. The getInterfaces
method implementation changed, I'm not sure if it's related to the stated fix but the new
implementation changes the behavior - it checks the service getClass().getInterfaces() but
does not traverse the superclasses as well. Also, it silently ignores interfaces that are
not found rather than throwing the declared ClassNotFoundException. Also it only checks the
service interfaces whereas the previous implementation loaded the interface classes regardless
(this may be an improvement, dunno). Also the order of returned interfaces changed, which
is significant as the line where the exception below is thrown shows. There may be other differences
I didn't think of... unfortunately there are no tests to catch any of these.
>  
> java.lang.ArrayIndexOutOfBoundsException: 0
>  at org.apache.cxf.dosgi.dsw.handlers.ws.WsProvider.exportService(WsProvider.java:164)
~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminCore$3.run(RemoteServiceAdminCore.java:236)
~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminCore$3.run(RemoteServiceAdminCore.java:234)
~[?:?]
>  at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:234)
~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:135)
~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:55)
~[?:?]
>  at org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:39)
~[?:?]
>  at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportService(TopologyManagerExport.java:186)
[145:org.apache.aries.rsa.topology-manager:1.14.0.SNAPSHOT]
>  at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(TopologyManagerExport.java:169)
[145:org.apache.aries.rsa.topology-manager:1.14.0.SNAPSHOT]
>  at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(TopologyManagerExport.java:58)
[145:org.apache.aries.rsa.topology-manager:1.14.0.SNAPSHOT]
>  at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$1.run(TopologyManagerExport.java:152)
[145:org.apache.aries.rsa.topology-manager:1.14.0.SNAPSHOT]
>  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
>  at java.lang.Thread.run(Thread.java:748) [?:?]
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message