Return-Path: Delivered-To: apmail-maven-continuum-users-archive@www.apache.org Received: (qmail 30877 invoked from network); 3 Jan 2008 20:55:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Jan 2008 20:55:37 -0000 Received: (qmail 40334 invoked by uid 500); 3 Jan 2008 20:55:24 -0000 Delivered-To: apmail-maven-continuum-users-archive@maven.apache.org Received: (qmail 40304 invoked by uid 500); 3 Jan 2008 20:55:24 -0000 Mailing-List: contact continuum-users-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: continuum-users@maven.apache.org Delivered-To: mailing list continuum-users@maven.apache.org Received: (qmail 40293 invoked by uid 99); 3 Jan 2008 20:55:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Jan 2008 12:55:24 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of oliver.lamy@gmail.com designates 66.249.82.233 as permitted sender) Received: from [66.249.82.233] (HELO wx-out-0506.google.com) (66.249.82.233) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Jan 2008 20:55:00 +0000 Received: by wx-out-0506.google.com with SMTP id h28so3083882wxd.0 for ; Thu, 03 Jan 2008 12:55:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=Kg4LHcet+wt/Ke0HjUkY9eC6JzXrwyZJvU9elxePZwo=; b=vd1WNs//YZsiO1lyQJ0tzhy7SWZFlCjzlJO4nOn4xRIuHdiwTQwNZuIKYOiJeXeh3yIU+LVlgd9Lf34HNJ4hfw0NSq90OQERt3Iyy+IuKmnu7/T/OTrtRsJ9oELMp07yLr9mC2WFwWuM7Zf0jmheryWzQD10yB3iJ+lp9OI287Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=eZxKcJK83+u6qV9Sg7d/GD2MewEA5b4n2531ofzJD3TdUOr0Erw7VGdQSaehvnuP+KvZrwUGTeYrZ9X2TCKoGbeV0W6BsbXRDGtc43QKKa/fdM+2GCR0RlrfxnF9uF7XrJbq92/KYCzGa0SCJrpqXVdjFz/38bkBi2pJ+MsoRTM= Received: by 10.142.201.3 with SMTP id y3mr642172wff.120.1199393703593; Thu, 03 Jan 2008 12:55:03 -0800 (PST) Received: by 10.142.158.15 with HTTP; Thu, 3 Jan 2008 12:55:03 -0800 (PST) Message-ID: <9948cb690801031255o7efdf975x367618044397feee@mail.gmail.com> Date: Thu, 3 Jan 2008 21:55:03 +0100 From: "Olivier Lamy" Sender: oliver.lamy@gmail.com To: continuum-users@maven.apache.org Subject: Re: Stack Overflow in Continuum XMLRPC server In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <9948cb690712221205h552fbba4yba338a98435d5f8f@mail.gmail.com> X-Google-Sender-Auth: 9eea731f99445ce2 X-Virus-Checked: Checked by ClamAV on apache.org Hi, Fixed in trunk. If you have trouble, you can reopen the jira issue. Merci/Thanks, -- Olivier 2007/12/31, Laurent For=EAt : > 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=EAtes ;) ! > > Laurent > > On Dec 22, 2007 9:05 PM, Olivier Lamy 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=EAt : > > > 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=EAt wr= ote: > > > > > > > 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 =3D new > > ContinuumXmlRpcClient(new > > > > URL(" http://localhost:8080/continuum/xmlrpc"), "admin", "manager1"= ); > > > > List projectGroups =3D > > > > 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 getProje= cts > > in > > > > class org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl= : > > null > > > > at org.apache.xmlrpc.client.XmlRpcStreamTransport.readRespo= nse > > ( > > > > XmlRpcStreamTransport.java:184) > > > > at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendReque= st( > > > > XmlRpcStreamTransport.java:145) > > > > at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest= ( > > > > XmlRpcHttpTransport.java:94) > > > > at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequ= est > > ( > > > > 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.getProje= cts > > ( > > > > ContinuumXmlRpcClient.java:112) > > > > at org.laurentforet.continuum11.client.App.main(App.java:22= ) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth= od) > > > > 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 meth= od > > > > 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.exec= ute > > ( > > > > XmlRpcServerWorker.java:43) > > > > jvm 1 | at org.apache.xmlrpc.server.XmlRpcServer.execute( > > > > XmlRpcServer.java :83) > > > > jvm 1 | at org.apache.xmlrpc.server.XmlRpcStreamServer.exec= ute > > ( > > > > 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.doP= ost > > ( > > > > 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.doFilte= r( > > > > WebApplicationHandler.java :830) > > > > jvm 1 | at > > > > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter( > > > > FilterDispatcher.java:189) > > > > jvm 1 | at > > > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilte= r( > > > > 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.doFilte= r( > > > > WebApplicationHandler.java:821) > > > > jvm 1 | at > > > > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter( > > > > ActionContextCleanUp.java:88) > > > > jvm 1 | at > > > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilte= r( > > > > 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.j= ava > > > > :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.getPGSumm= ary > > > > (ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getProjec= tGroupName > > > > (ContinuumServiceImp > > > > l.java:224) > > > > jvm 1 | at > > > > > > org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl.getPGSumm= ary > > ( > > > > ContinuumServiceImpl.java: > > > > 231) > > > > > > > > And so on ! It is probably a bug . I don't think I can deal with th= is > > > > 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 =3D getPGSummary( projectGroupId )= ; > > > > > return pgs.getName(); > > > > > } > > > > > > > > > > private ProjectGroupSummary getPGSummary( int projectGroupId ) > > > > > throws ContinuumException > > > > > { > > > > > checkViewProjectGroupAuthorization( getProjectGroupName( > > > > > projectGroupId ) ); > > > > > > > > > > > > org.apache.maven.continuum.model.project.ProjectGroupprojectGroup > > > > > =3D > > > > > 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 juisthei= d, > > 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 ho= udt > > 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=E9cline toute responsabilit=E9 quant =E0 l'exactitude, = =E0 > > > > > l'exhaustivit=E9 > > > > > et au d=E9lai de transmission des informations contenues dans cet > > e-mail. > > > > > Aucun droit ne peut =EAtre revendiqu=E9 sur cet e-mail et cet e-m= ail > > > > > n'implique en aucun cas une reconnaissance de responsabilit=E9, q= uelle > > > > > qu'elle soit. > > > > > Ce message s'adresse uniquement au destinataire. Si ce message ne > > vous > > > > > est > > > > > pas destin=E9, nous vous prions de nous le signaler imm=E9diateme= nt et > > de > > > > > d=E9truire le message. > > > > > > > > > > > > > > > > > >