Stack Overflow in Continuum XMLRPC server

View: New views
5 Messages — Rating Filter:   Alert me  

Stack Overflow in Continuum XMLRPC server

by olivier.lambert-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I receive a StackOverflowError when using XMLRPC with Continuum.
It happens at line 224 & 231 of ContinuumServiceImpl :

    protected String getProjectGroupName( int projectGroupId )
        throws ContinuumException
    {
        ProjectGroupSummary pgs = getPGSummary( projectGroupId );
        return pgs.getName();
    }

    private ProjectGroupSummary getPGSummary( int projectGroupId )
        throws ContinuumException
    {
        checkViewProjectGroupAuthorization( getProjectGroupName(
projectGroupId ) );

        org.apache.maven.continuum.model.project.ProjectGroup projectGroup
=
            continuum.getProjectGroup( projectGroupId );
        return populateProjectGroupSummary( projectGroup );
    }

It happens when I execute updateBuildDefinitionOnProjectGroup.

Do you think it's normal ?
Do you have some clues ?
What can I do to correct the problem ?

Thanks for your response.
______________________________________________________________________________________________
Smals sluit elke aansprakelijkheid uit in verband met de juistheid, de
volledigheid of het tijdig toekomen van de informatie in deze e-mail. Aan
deze e-mail kunnen geen rechten worden ontleend en deze e-mail houdt in
geen geval een erkenning van welkdanige aansprakelijkheid in.
Dit bericht is alleen bestemd voor de geadresseerde. Indien dit bericht
niet voor u bestemd is, verzoeken wij u dit onmiddellijk aan ons te melden
en het bericht te vernietigen.

Smals décline toute responsabilité quant à l'exactitude, à l'exhaustivité
et au délai de transmission des informations contenues dans cet e-mail.
Aucun droit ne peut être revendiqué sur cet e-mail et cet e-mail
n'implique en aucun cas une reconnaissance de responsabilité, quelle
qu'elle soit.
Ce message s'adresse uniquement au destinataire. Si ce message ne vous est
pas destiné, nous vous prions de nous le signaler immédiatement et de
détruire le message.

Re: Stack Overflow in Continuum XMLRPC server

by Laurent Forêt-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Today I had exactly the same trouble with a freshly installed
continuum 1.1server.

The simple client code is :

 public static void main( String[] args )
    {
        try {
            ContinuumXmlRpcClient client = new ContinuumXmlRpcClient(new
URL("http://localhost:8080/continuum/xmlrpc"), "admin", "manager1");
            List<ProjectGroup> projectGroups =
client.getAllProjectGroupsWithAllDetails();
            for (ProjectGroup pg : projectGroups) {
                System.out.println("PGID : "+pg.getId());
                client.getProjects(pg.getId());
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

Client Output is :

PGID : 1
org.apache.xmlrpc.XmlRpcException: Failed to invoke method getProjects in
class org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl: null
        at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(
XmlRpcStreamTransport.java:184)
        at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(
XmlRpcStreamTransport.java:145)
        at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(
XmlRpcHttpTransport.java:94)
        at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(
XmlRpcSunHttpTransport.java:39)
        at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(
XmlRpcClientWorker.java:53)
        at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
:166)
        at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
:136)
        at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
:125)
        at org.apache.xmlrpc.client.util.ClientFactory$1.invoke(
ClientFactory.java:104)
        at $Proxy33.getProjects(Unknown Source)
        at
org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient.getProjects(
ContinuumXmlRpcClient.java:112)
        at org.laurentforet.continuum11.client.App.main(App.java:22)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:271)
        at java.lang.Thread.run(Thread.java:595)



The server output is :


jvm 1    | 2007-12-22 19:15:03,421 [SocketListener0-1] ERROR
org.apache.xmlrpc.server.XmlRpcStreamServer  - execute: Err
or while performing request
jvm 1    | org.apache.xmlrpc.XmlRpcException: Failed to invoke method
getProjects in class org.apache.maven.continuum.xm
lrpc.server.ContinuumServiceImpl: null
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.invoke
(ContinuumXmlRpcMetaDat
aHandler.java:164)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.execute
(ContinuumXmlRpcMetaDa
taHandler.java:133)
jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(
XmlRpcServerWorker.java:43)
jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServer.execute(
XmlRpcServer.java:83)
jvm 1    |      at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(
XmlRpcStreamServer.java:182)
jvm 1    |      at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(
XmlRpcServletServer.java:103)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcServlet.doPost(
ContinuumXmlRpcServlet.java:19
3)
jvm 1    |      at javax.servlet.http.HttpServlet.service(HttpServlet.java
:709)
jvm 1    |      at javax.servlet.http.HttpServlet.service(HttpServlet.java
:802)
jvm 1    |      at org.mortbay.jetty.servlet.ServletHolder.handle(
ServletHolder.java:428)
jvm 1    |      at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:830)
jvm 1    |      at
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(
FilterDispatcher.java:189)
jvm 1    |      at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:821)
jvm 1    |      at
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java
:118)
jvm 1    |      at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java
:52)
jvm 1    |      at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:821)
jvm 1    |      at
com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(
ActionContextCleanUp.java:88)
jvm 1    |      at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
WebApplicationHandler.java:821)
jvm 1    |      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
jvm 1    |      at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
:1530)
jvm 1    |      at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
:1482)
jvm 1    |      at org.mortbay.http.HttpServer.service(HttpServer.java:909)
jvm 1    |      at org.mortbay.http.HttpConnection.service(
HttpConnection.java:816)
jvm 1    |      at org.mortbay.http.HttpConnection.handleNext(
HttpConnection.java:982)
jvm 1    |      at org.mortbay.http.HttpConnection.handle(
HttpConnection.java:833)
jvm 1    |      at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
jvm 1    |      at org.mortbay.util.ThreadedServer.handle(
ThreadedServer.java:357)
jvm 1    |      at org.mortbay.util.ThreadPool$PoolThread.run(
ThreadPool.java:534)
jvm 1    | Caused by:
jvm 1    | java.lang.StackOverflowError
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
(ContinuumServiceImp
l.java:224)
jvm 1    |      at
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
ContinuumServiceImpl.java:
231)

And so on ! It is probably a bug . I don't think I can deal with this issue.

Laurent.


On Nov 29, 2007 3:08 PM, <olivier.lambert@...> wrote:

> Hi,
>
> I receive a StackOverflowError when using XMLRPC with Continuum.
> It happens at line 224 & 231 of ContinuumServiceImpl :
>
>    protected String getProjectGroupName( int projectGroupId )
>        throws ContinuumException
>    {
>        ProjectGroupSummary pgs = getPGSummary( projectGroupId );
>        return pgs.getName();
>    }
>
>    private ProjectGroupSummary getPGSummary( int projectGroupId )
>        throws ContinuumException
>    {
>        checkViewProjectGroupAuthorization( getProjectGroupName(
> projectGroupId ) );
>
>        org.apache.maven.continuum.model.project.ProjectGroup projectGroup
> =
>            continuum.getProjectGroup( projectGroupId );
>        return populateProjectGroupSummary( projectGroup );
>    }
>
> It happens when I execute updateBuildDefinitionOnProjectGroup.
>
> Do you think it's normal ?
> Do you have some clues ?
> What can I do to correct the problem ?
>
> Thanks for your response.
>
> ______________________________________________________________________________________________
> Smals sluit elke aansprakelijkheid uit in verband met de juistheid, de
> volledigheid of het tijdig toekomen van de informatie in deze e-mail. Aan
> deze e-mail kunnen geen rechten worden ontleend en deze e-mail houdt in
> geen geval een erkenning van welkdanige aansprakelijkheid in.
> Dit bericht is alleen bestemd voor de geadresseerde. Indien dit bericht
> niet voor u bestemd is, verzoeken wij u dit onmiddellijk aan ons te melden
> en het bericht te vernietigen.
>
> Smals décline toute responsabilité quant à l'exactitude, à l'exhaustivité
> et au délai de transmission des informations contenues dans cet e-mail.
> Aucun droit ne peut être revendiqué sur cet e-mail et cet e-mail
> n'implique en aucun cas une reconnaissance de responsabilité, quelle
> qu'elle soit.
> Ce message s'adresse uniquement au destinataire. Si ce message ne vous est
> pas destiné, nous vous prions de nous le signaler immédiatement et de
> détruire le message.

Re: Stack Overflow in Continuum XMLRPC server

by Laurent Forêt-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Maybe, it is not usefull at line 231 in the private method  to call
checkViewProjectGroupAuthorization()

Laurent.

On Dec 22, 2007 7:20 PM, Laurent Forêt <laurent.foret@...> wrote:

> Today I had exactly the same trouble with a freshly installed continuum
> 1.1 server.
>
> The simple client code is :
>
>  public static void main( String[] args )
>     {
>         try {
>             ContinuumXmlRpcClient client = new ContinuumXmlRpcClient(new
> URL(" http://localhost:8080/continuum/xmlrpc"), "admin", "manager1");
>             List<ProjectGroup> projectGroups =
> client.getAllProjectGroupsWithAllDetails ();
>             for (ProjectGroup pg : projectGroups) {
>                 System.out.println("PGID : "+pg.getId());
>                 client.getProjects(pg.getId());
>             }
>
>         } catch (Exception ex) {
>             ex.printStackTrace();
>         }
>     }
>
> Client Output is :
>
> PGID : 1
> org.apache.xmlrpc.XmlRpcException: Failed to invoke method getProjects in
> class org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl : null
>         at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(
> XmlRpcStreamTransport.java:184)
>         at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(
> XmlRpcStreamTransport.java:145)
>         at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(
> XmlRpcHttpTransport.java:94)
>         at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(
> XmlRpcSunHttpTransport.java:39)
>         at org.apache.xmlrpc.client.XmlRpcClientWorker.execute (
> XmlRpcClientWorker.java:53)
>         at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
> :166)
>         at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
> :136)
>         at org.apache.xmlrpc.client.XmlRpcClient.execute (
> XmlRpcClient.java:125)
>         at org.apache.xmlrpc.client.util.ClientFactory$1.invoke(
> ClientFactory.java:104)
>         at $Proxy33.getProjects(Unknown Source)
>         at
> org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient.getProjects(
> ContinuumXmlRpcClient.java:112)
>         at org.laurentforet.continuum11.client.App.main(App.java:22)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke (
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java
> :271)
>         at java.lang.Thread.run(Thread.java:595)
>
>
>
> The server output is :
>
>
> jvm 1    | 2007-12-22 19:15:03,421 [SocketListener0-1] ERROR
> org.apache.xmlrpc.server.XmlRpcStreamServer   - execute: Err
> or while performing request
> jvm 1    | org.apache.xmlrpc.XmlRpcException: Failed to invoke method
> getProjects in class org.apache.maven.continuum.xm
> lrpc.server.ContinuumServiceImpl: null
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.invoke
> (ContinuumXmlRpcMetaDat
> aHandler.java:164)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.execute(ContinuumXmlRpcMetaDa
> taHandler.java:133)
> jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(
> XmlRpcServerWorker.java:43)
> jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServer.execute(
> XmlRpcServer.java :83)
> jvm 1    |      at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(
> XmlRpcStreamServer.java:182)
> jvm 1    |      at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute
> (XmlRpcServletServer.java:103)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcServlet.doPost(
> ContinuumXmlRpcServlet.java:19
> 3)
> jvm 1    |      at javax.servlet.http.HttpServlet.service(HttpServlet.java
> :709)
> jvm 1    |      at javax.servlet.http.HttpServlet.service (
> HttpServlet.java:802)
> jvm 1    |      at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java :830)
> jvm 1    |      at
> com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java:189)
> jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java :821)
> jvm 1    |      at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(
> PageFilter.java:118)
> jvm 1    |      at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(
> PageFilter.java:52)
> jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> jvm 1    |      at
> com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(
> ActionContextCleanUp.java:88)
> jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java :471)
> jvm 1    |      at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
> jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
> :1530)
> jvm 1    |      at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
> jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
> :1482)
> jvm 1    |      at org.mortbay.http.HttpServer.service(HttpServer.java
> :909)
> jvm 1    |      at org.mortbay.http.HttpConnection.service (
> HttpConnection.java:816)
> jvm 1    |      at org.mortbay.http.HttpConnection.handleNext(
> HttpConnection.java:982)
> jvm 1    |      at org.mortbay.http.HttpConnection.handle(
> HttpConnection.java:833)
> jvm 1    |      at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:244)
> jvm 1    |      at org.mortbay.util.ThreadedServer.handle(
> ThreadedServer.java:357)
> jvm 1    |      at org.mortbay.util.ThreadPool$PoolThread.run (
> ThreadPool.java:534)
> jvm 1    | Caused by:
> jvm 1    | java.lang.StackOverflowError
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> (ContinuumServiceImp
> l.java:224)
> jvm 1    |      at
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> ContinuumServiceImpl.java:
> 231)
>
> And so on ! It is probably a bug . I don't think I can deal with this
> issue.
>
> Laurent.
>
>
>
> On Nov 29, 2007 3:08 PM, < olivier.lambert@...> wrote:
>
> > Hi,
> >
> > I receive a StackOverflowError when using XMLRPC with Continuum.
> > It happens at line 224 & 231 of ContinuumServiceImpl :
> >
> >    protected String getProjectGroupName( int projectGroupId )
> >        throws ContinuumException
> >    {
> >        ProjectGroupSummary pgs = getPGSummary( projectGroupId );
> >        return pgs.getName();
> >    }
> >
> >    private ProjectGroupSummary getPGSummary( int projectGroupId )
> >        throws ContinuumException
> >    {
> >        checkViewProjectGroupAuthorization( getProjectGroupName(
> > projectGroupId ) );
> >
> >        org.apache.maven.continuum.model.project.ProjectGroupprojectGroup
> > =
> >            continuum.getProjectGroup( projectGroupId );
> >        return populateProjectGroupSummary( projectGroup );
> >    }
> >
> > It happens when I execute updateBuildDefinitionOnProjectGroup.
> >
> > Do you think it's normal ?
> > Do you have some clues ?
> > What can I do to correct the problem ?
> >
> > Thanks for your response.
> >
> > ______________________________________________________________________________________________
> > Smals sluit elke aansprakelijkheid uit in verband met de juistheid, de
> > volledigheid of het tijdig toekomen van de informatie in deze e-mail.
> > Aan
> > deze e-mail kunnen geen rechten worden ontleend en deze e-mail houdt in
> > geen geval een erkenning van welkdanige aansprakelijkheid in.
> > Dit bericht is alleen bestemd voor de geadresseerde. Indien dit bericht
> > niet voor u bestemd is, verzoeken wij u dit onmiddellijk aan ons te
> > melden
> > en het bericht te vernietigen.
> >
> > Smals décline toute responsabilité quant à l'exactitude, à
> > l'exhaustivité
> > et au délai de transmission des informations contenues dans cet e-mail.
> > Aucun droit ne peut être revendiqué sur cet e-mail et cet e-mail
> > n'implique en aucun cas une reconnaissance de responsabilité, quelle
> > qu'elle soit.
> > Ce message s'adresse uniquement au destinataire. Si ce message ne vous
> > est
> > pas destiné, nous vous prions de nous le signaler immédiatement et de
> > détruire le message.
>
>
>

Re: Stack Overflow in Continuum XMLRPC server

by olamy-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
Can you load an issue in jira ?
And if you have a patch it will be helpfull.

Thanks,
--
Olivier

2007/12/22, Laurent Forêt <laurent.foret@...>:

> Maybe, it is not usefull at line 231 in the private method  to call
> checkViewProjectGroupAuthorization()
>
> Laurent.
>
> On Dec 22, 2007 7:20 PM, Laurent Forêt <laurent.foret@...> wrote:
>
> > Today I had exactly the same trouble with a freshly installed continuum
> > 1.1 server.
> >
> > The simple client code is :
> >
> >  public static void main( String[] args )
> >     {
> >         try {
> >             ContinuumXmlRpcClient client = new ContinuumXmlRpcClient(new
> > URL(" http://localhost:8080/continuum/xmlrpc"), "admin", "manager1");
> >             List<ProjectGroup> projectGroups =
> > client.getAllProjectGroupsWithAllDetails ();
> >             for (ProjectGroup pg : projectGroups) {
> >                 System.out.println("PGID : "+pg.getId());
> >                 client.getProjects(pg.getId());
> >             }
> >
> >         } catch (Exception ex) {
> >             ex.printStackTrace();
> >         }
> >     }
> >
> > Client Output is :
> >
> > PGID : 1
> > org.apache.xmlrpc.XmlRpcException: Failed to invoke method getProjects in
> > class org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl : null
> >         at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(
> > XmlRpcStreamTransport.java:184)
> >         at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(
> > XmlRpcStreamTransport.java:145)
> >         at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(
> > XmlRpcHttpTransport.java:94)
> >         at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(
> > XmlRpcSunHttpTransport.java:39)
> >         at org.apache.xmlrpc.client.XmlRpcClientWorker.execute (
> > XmlRpcClientWorker.java:53)
> >         at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
> > :166)
> >         at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java
> > :136)
> >         at org.apache.xmlrpc.client.XmlRpcClient.execute (
> > XmlRpcClient.java:125)
> >         at org.apache.xmlrpc.client.util.ClientFactory$1.invoke(
> > ClientFactory.java:104)
> >         at $Proxy33.getProjects(Unknown Source)
> >         at
> > org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient.getProjects(
> > ContinuumXmlRpcClient.java:112)
> >         at org.laurentforet.continuum11.client.App.main(App.java:22)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke (
> > NativeMethodAccessorImpl.java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java
> > :271)
> >         at java.lang.Thread.run(Thread.java:595)
> >
> >
> >
> > The server output is :
> >
> >
> > jvm 1    | 2007-12-22 19:15:03,421 [SocketListener0-1] ERROR
> > org.apache.xmlrpc.server.XmlRpcStreamServer   - execute: Err
> > or while performing request
> > jvm 1    | org.apache.xmlrpc.XmlRpcException: Failed to invoke method
> > getProjects in class org.apache.maven.continuum.xm
> > lrpc.server.ContinuumServiceImpl: null
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.invoke
> > (ContinuumXmlRpcMetaDat
> > aHandler.java:164)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.execute(ContinuumXmlRpcMetaDa
> > taHandler.java:133)
> > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(
> > XmlRpcServerWorker.java:43)
> > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServer.execute(
> > XmlRpcServer.java :83)
> > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(
> > XmlRpcStreamServer.java:182)
> > jvm 1    |      at org.apache.xmlrpc.webserver.XmlRpcServletServer.execute
> > (XmlRpcServletServer.java:103)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcServlet.doPost(
> > ContinuumXmlRpcServlet.java:19
> > 3)
> > jvm 1    |      at javax.servlet.http.HttpServlet.service(HttpServlet.java
> > :709)
> > jvm 1    |      at javax.servlet.http.HttpServlet.service (
> > HttpServlet.java:802)
> > jvm 1    |      at org.mortbay.jetty.servlet.ServletHolder.handle(
> > ServletHolder.java:428)
> > jvm 1    |      at
> > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > WebApplicationHandler.java :830)
> > jvm 1    |      at
> > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(
> > FilterDispatcher.java:189)
> > jvm 1    |      at
> > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > WebApplicationHandler.java :821)
> > jvm 1    |      at
> > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(
> > PageFilter.java:118)
> > jvm 1    |      at
> > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(
> > PageFilter.java:52)
> > jvm 1    |      at
> > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > WebApplicationHandler.java:821)
> > jvm 1    |      at
> > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(
> > ActionContextCleanUp.java:88)
> > jvm 1    |      at
> > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > WebApplicationHandler.java:821)
> > jvm 1    |      at
> > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> > WebApplicationHandler.java :471)
> > jvm 1    |      at org.mortbay.jetty.servlet.ServletHandler.handle(
> > ServletHandler.java:568)
> > jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
> > :1530)
> > jvm 1    |      at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> > WebApplicationContext.java:633)
> > jvm 1    |      at org.mortbay.http.HttpContext.handle(HttpContext.java
> > :1482)
> > jvm 1    |      at org.mortbay.http.HttpServer.service(HttpServer.java
> > :909)
> > jvm 1    |      at org.mortbay.http.HttpConnection.service (
> > HttpConnection.java:816)
> > jvm 1    |      at org.mortbay.http.HttpConnection.handleNext(
> > HttpConnection.java:982)
> > jvm 1    |      at org.mortbay.http.HttpConnection.handle(
> > HttpConnection.java:833)
> > jvm 1    |      at org.mortbay.http.SocketListener.handleConnection(
> > SocketListener.java:244)
> > jvm 1    |      at org.mortbay.util.ThreadedServer.handle(
> > ThreadedServer.java:357)
> > jvm 1    |      at org.mortbay.util.ThreadPool$PoolThread.run (
> > ThreadPool.java:534)
> > jvm 1    | Caused by:
> > jvm 1    | java.lang.StackOverflowError
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> > (ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > (ContinuumServiceImp
> > l.java:224)
> > jvm 1    |      at
> > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary(
> > ContinuumServiceImpl.java:
> > 231)
> >
> > And so on ! It is probably a bug . I don't think I can deal with this
> > issue.
> >
> > Laurent.
> >
> >
> >
> > On Nov 29, 2007 3:08 PM, < olivier.lambert@...> wrote:
> >
> > > Hi,
> > >
> > > I receive a StackOverflowError when using XMLRPC with Continuum.
> > > It happens at line 224 & 231 of ContinuumServiceImpl :
> > >
> > >    protected String getProjectGroupName( int projectGroupId )
> > >        throws ContinuumException
> > >    {
> > >        ProjectGroupSummary pgs = getPGSummary( projectGroupId );
> > >        return pgs.getName();
> > >    }
> > >
> > >    private ProjectGroupSummary getPGSummary( int projectGroupId )
> > >        throws ContinuumException
> > >    {
> > >        checkViewProjectGroupAuthorization( getProjectGroupName(
> > > projectGroupId ) );
> > >
> > >        org.apache.maven.continuum.model.project.ProjectGroupprojectGroup
> > > =
> > >            continuum.getProjectGroup( projectGroupId );
> > >        return populateProjectGroupSummary( projectGroup );
> > >    }
> > >
> > > It happens when I execute updateBuildDefinitionOnProjectGroup.
> > >
> > > Do you think it's normal ?
> > > Do you have some clues ?
> > > What can I do to correct the problem ?
> > >
> > > Thanks for your response.
> > >
> > > ______________________________________________________________________________________________
> > > Smals sluit elke aansprakelijkheid uit in verband met de juistheid, de
> > > volledigheid of het tijdig toekomen van de informatie in deze e-mail.
> > > Aan
> > > deze e-mail kunnen geen rechten worden ontleend en deze e-mail houdt in
> > > geen geval een erkenning van welkdanige aansprakelijkheid in.
> > > Dit bericht is alleen bestemd voor de geadresseerde. Indien dit bericht
> > > niet voor u bestemd is, verzoeken wij u dit onmiddellijk aan ons te
> > > melden
> > > en het bericht te vernietigen.
> > >
> > > Smals décline toute responsabilité quant à l'exactitude, à
> > > l'exhaustivité
> > > et au délai de transmission des informations contenues dans cet e-mail.
> > > Aucun droit ne peut être revendiqué sur cet e-mail et cet e-mail
> > > n'implique en aucun cas une reconnaissance de responsabilité, quelle
> > > qu'elle soit.
> > > Ce message s'adresse uniquement au destinataire. Si ce message ne vous
> > > est
> > > pas destiné, nous vous prions de nous le signaler immédiatement et de
> > > détruire le message.
> >
> >
> >
>

Re: Stack Overflow in Continuum XMLRPC server

by Laurent Forêt-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Olivier,

I put a comment on the JIRA issue (
http://jira.codehaus.org/browse/CONTINUUM-1590).
The loop is very easy to understand. But avoid the call at
checkViewProjectGroupAuthorization(), may introduce authorization lacks.

I will try to test and provide a patch later.


Bonnes fêtes ;) !

Laurent

On Dec 22, 2007 9:05 PM, Olivier Lamy <olamy@...> wrote:

> Hi,
> Can you load an issue in jira ?
> And if you have a patch it will be helpfull.
>
> Thanks,
> --
> Olivier
>
> 2007/12/22, Laurent Forêt <laurent.foret@...>:
> > Maybe, it is not usefull at line 231 in the private method  to call
> > checkViewProjectGroupAuthorization()
> >
> > Laurent.
> >
> > On Dec 22, 2007 7:20 PM, Laurent Forêt <laurent.foret@...> wrote:
> >
> > > Today I had exactly the same trouble with a freshly installed
> continuum
> > > 1.1 server.
> > >
> > > The simple client code is :
> > >
> > >  public static void main( String[] args )
> > >     {
> > >         try {
> > >             ContinuumXmlRpcClient client = new
> ContinuumXmlRpcClient(new
> > > URL(" http://localhost:8080/continuum/xmlrpc"), "admin", "manager1");
> > >             List<ProjectGroup> projectGroups =
> > > client.getAllProjectGroupsWithAllDetails ();
> > >             for (ProjectGroup pg : projectGroups) {
> > >                 System.out.println("PGID : "+pg.getId());
> > >                 client.getProjects(pg.getId());
> > >             }
> > >
> > >         } catch (Exception ex) {
> > >             ex.printStackTrace();
> > >         }
> > >     }
> > >
> > > Client Output is :
> > >
> > > PGID : 1
> > > org.apache.xmlrpc.XmlRpcException: Failed to invoke method getProjects
> in
> > > class org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl :
> null
> > >         at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse
> (
> > > XmlRpcStreamTransport.java:184)
> > >         at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(
> > > XmlRpcStreamTransport.java:145)
> > >         at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(
> > > XmlRpcHttpTransport.java:94)
> > >         at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest
> (
> > > XmlRpcSunHttpTransport.java:39)
> > >         at org.apache.xmlrpc.client.XmlRpcClientWorker.execute (
> > > XmlRpcClientWorker.java:53)
> > >         at org.apache.xmlrpc.client.XmlRpcClient.execute(
> XmlRpcClient.java
> > > :166)
> > >         at org.apache.xmlrpc.client.XmlRpcClient.execute(
> XmlRpcClient.java
> > > :136)
> > >         at org.apache.xmlrpc.client.XmlRpcClient.execute (
> > > XmlRpcClient.java:125)
> > >         at org.apache.xmlrpc.client.util.ClientFactory$1.invoke(
> > > ClientFactory.java:104)
> > >         at $Proxy33.getProjects(Unknown Source)
> > >         at
> > >
> org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient.getProjects
> (
> > > ContinuumXmlRpcClient.java:112)
> > >         at org.laurentforet.continuum11.client.App.main(App.java:22)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke (
> > > NativeMethodAccessorImpl.java:39)
> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > DelegatingMethodAccessorImpl.java:25)
> > >         at java.lang.reflect.Method.invoke(Method.java:585)
> > >         at org.codehaus.mojo.exec.ExecJavaMojo$1.run (
> ExecJavaMojo.java
> > > :271)
> > >         at java.lang.Thread.run(Thread.java:595)
> > >
> > >
> > >
> > > The server output is :
> > >
> > >
> > > jvm 1    | 2007-12-22 19:15:03,421 [SocketListener0-1] ERROR
> > > org.apache.xmlrpc.server.XmlRpcStreamServer   - execute: Err
> > > or while performing request
> > > jvm 1    | org.apache.xmlrpc.XmlRpcException: Failed to invoke method
> > > getProjects in class org.apache.maven.continuum.xm
> > > lrpc.server.ContinuumServiceImpl: null
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.invoke
> > > (ContinuumXmlRpcMetaDat
> > > aHandler.java:164)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcMetaDataHandler.execute
> (ContinuumXmlRpcMetaDa
> > > taHandler.java:133)
> > > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServerWorker.execute
> (
> > > XmlRpcServerWorker.java:43)
> > > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcServer.execute(
> > > XmlRpcServer.java :83)
> > > jvm 1    |      at org.apache.xmlrpc.server.XmlRpcStreamServer.execute
> (
> > > XmlRpcStreamServer.java:182)
> > > jvm 1    |      at
> org.apache.xmlrpc.webserver.XmlRpcServletServer.execute
> > > (XmlRpcServletServer.java:103)
> > > jvm 1    |      at
> > > org.apache.maven.continuum.xmlrpc.server.ContinuumXmlRpcServlet.doPost
> (
> > > ContinuumXmlRpcServlet.java:19
> > > 3)
> > > jvm 1    |      at javax.servlet.http.HttpServlet.service(
> HttpServlet.java
> > > :709)
> > > jvm 1    |      at javax.servlet.http.HttpServlet.service (
> > > HttpServlet.java:802)
> > > jvm 1    |      at org.mortbay.jetty.servlet.ServletHolder.handle(
> > > ServletHolder.java:428)
> > > jvm 1    |      at
> > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > > WebApplicationHandler.java :830)
> > > jvm 1    |      at
> > > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(
> > > FilterDispatcher.java:189)
> > > jvm 1    |      at
> > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > > WebApplicationHandler.java :821)
> > > jvm 1    |      at
> > > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(
> > > PageFilter.java:118)
> > > jvm 1    |      at
> > > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(
> > > PageFilter.java:52)
> > > jvm 1    |      at
> > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > > WebApplicationHandler.java:821)
> > > jvm 1    |      at
> > > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(
> > > ActionContextCleanUp.java:88)
> > > jvm 1    |      at
> > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> > > WebApplicationHandler.java:821)
> > > jvm 1    |      at
> > > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> > > WebApplicationHandler.java :471)
> > > jvm 1    |      at org.mortbay.jetty.servlet.ServletHandler.handle(
> > > ServletHandler.java:568)
> > > jvm 1    |      at org.mortbay.http.HttpContext.handle(
> HttpContext.java
> > > :1530)
> > > jvm 1    |      at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(
> > > WebApplicationContext.java:633)
> > > jvm 1    |      at org.mortbay.http.HttpContext.handle(
> HttpContext.java
> > > :1482)
> > > jvm 1    |      at org.mortbay.http.HttpServer.service(HttpServer.java
> > > :909)
> > > jvm 1    |      at org.mortbay.http.HttpConnection.service (
> > > HttpConnection.java:816)
> > > jvm 1    |      at org.mortbay.http.HttpConnection.handleNext(
> > > HttpConnection.java:982)
> > > jvm 1    |      at org.mortbay.http.HttpConnection.handle(
> > > HttpConnection.java:833)
> > > jvm 1    |      at org.mortbay.http.SocketListener.handleConnection(
> > > SocketListener.java:244)
> > > jvm 1    |      at org.mortbay.util.ThreadedServer.handle(
> > > ThreadedServer.java:357)
> > > jvm 1    |      at org.mortbay.util.ThreadPool$PoolThread.run (
> > > ThreadPool.java:534)
> > > jvm 1    | Caused by:
> > > jvm 1    | java.lang.StackOverflowError
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> > > (ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjectGroupName
> > > (ContinuumServiceImp
> > > l.java:224)
> > > jvm 1    |      at
> > >
> org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSummary
> (
> > > ContinuumServiceImpl.java:
> > > 231)
> > >
> > > And so on ! It is probably a bug . I don't think I can deal with this
> > > issue.
> > >
> > > Laurent.
> > >
> > >
> > >
> > > On Nov 29, 2007 3:08 PM, < olivier.lambert@...> wrote:
> > >
> > > > Hi,
> > > >
> > > > I receive a StackOverflowError when using XMLRPC with Continuum.
> > > > It happens at line 224 & 231 of ContinuumServiceImpl :
> > > >
> > > >    protected String getProjectGroupName( int projectGroupId )
> > > >        throws ContinuumException
> > > >    {
> > > >        ProjectGroupSummary pgs = getPGSummary( projectGroupId );
> > > >        return pgs.getName();
> > > >    }
> > > >
> > > >    private ProjectGroupSummary getPGSummary( int projectGroupId )
> > > >        throws ContinuumException
> > > >    {
> > > >        checkViewProjectGroupAuthorization( getProjectGroupName(
> > > > projectGroupId ) );
> > > >
> > > >
> org.apache.maven.continuum.model.project.ProjectGroupprojectGroup
> > > > =
> > > >            continuum.getProjectGroup( projectGroupId );
> > > >        return populateProjectGroupSummary( projectGroup );
> > > >    }
> > > >
> > > > It happens when I execute updateBuildDefinitionOnProjectGroup.
> > > >
> > > > Do you think it's normal ?
> > > > Do you have some clues ?
> > > > What can I do to correct the problem ?
> > > >
> > > > Thanks for your response.
> > > >
> > > >
> ______________________________________________________________________________________________
> > > > Smals sluit elke aansprakelijkheid uit in verband met de juistheid,
> de
> > > > volledigheid of het tijdig toekomen van de informatie in deze
> e-mail.
> > > > Aan
> > > > deze e-mail kunnen geen rechten worden ontleend en deze e-mail houdt
> in
> > > > geen geval een erkenning van welkdanige aansprakelijkheid in.
> > > > Dit bericht is alleen bestemd voor de geadresseerde. Indien dit
> bericht
> > > > niet voor u bestemd is, verzoeken wij u dit onmiddellijk aan ons te
> > > > melden
> > > > en het bericht te vernietigen.
> > > >
> > > > Smals décline toute responsabilité quant à l'exactitude, à
> > > > l'exhaustivité
> > > > et au délai de transmission des informations contenues dans cet
> e-mail.
> > > > Aucun droit ne peut être revendiqué sur cet e-mail et cet e-mail
> > > > n'implique en aucun cas une reconnaissance de responsabilité, quelle
> > > > qu'elle soit.
> > > > Ce message s'adresse uniquement au destinataire. Si ce message ne
> vous
> > > > est
> > > > pas destiné, nous vous prions de nous le signaler immédiatement et
> de
> > > > détruire le message.
> > >
> > >
> > >
> >
>