continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Laurent Forêt" <laurent.fo...@gmail.com>
Subject Re: Stack Overflow in Continuum XMLRPC server
Date Mon, 31 Dec 2007 13:55:32 GMT
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@apache.org> 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@gmail.com>:
> > 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@gmail.com> 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@smals.be> 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.
> > >
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message