This discussion is archived
4 Replies Latest reply: Jan 19, 2012 2:39 AM by gimbal2 RSS

Maximum lock count exceeded - Details to debug

Srinath Menon Guru
Currently Being Moderated
Hello ,

I have a site that is developed on Jdeveloper using jspx pages . This site is deployed on WLS but occassionaly I am seeing that the pages show up blank . After a short while refresh of the page brings the page back to normalcy as in shows the details , images etc .

During the period when the page goes blank following error stack is captured in the server logs :


Caused By: weblogic.servlet.jsp.CompilationException: Failed to compile JSP /_intradoc_/wcm/app/groups/sgsitedesignasset/@hmc/documents/sitedesignasset/mdaw/mdaw/~edisp/st_mainkv5.jspx
Exception occurred while processing '/_intradoc_/wcm/app/groups/sgsitedesignasset/@hmc/documents/sitedesignasset/mdaw/mdaw/~edisp/st_mainkv5.jspx'java.lang.Error: Maximum lock count exceeded
     at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquireShared(ReentrantReadWriteLock.java:395)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1260)
     at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
     at oracle.stellent.wcm.server.content.spi.fs.FileSystemLoader$SingleLockStrategy.lockShared(FileSystemLoader.java:116)
     at oracle.stellent.wcm.server.content.spi.fs.FileSystemLoader$MultiLockStrategy.lockShared(FileSystemLoader.java:185)
     at oracle.stellent.wcm.server.content.spi.fs.FileSystemLoader.readAndStoreOnlineContent(FileSystemLoader.java:349)
     at oracle.stellent.wcm.server.content.spi.fs.FileSystemLoader.readAndStoreStream(FileSystemLoader.java:311)
     at oracle.stellent.wcm.server.content.spi.fs.FSContentAdapter.loadContent(FSContentAdapter.java:163)
     at oracle.stellent.wcm.server.content.spi.fs.FSLocalModifiedContentAdapter.loadContent(FSLocalModifiedContentAdapter.java:123)
     at oracle.stellent.wcm.javaee.shared.jsp.IdcJspProvider.fromStream(IdcJspProvider.java:86)
     at oracle.adf.library.webapp.ADFJspResourceProvider.fromStream(ADFJspResourceProvider.java:328)
     at weblogic.jsp.wlw.util.filesystem.mds.MDSFileSystem.getInputStream(MDSFileSystem.java:78)
     at weblogic.jsp.wlw.util.filesystem.FS.getInputStream(FS.java:224)
     at weblogic.jsp.wlw.util.filesystem.FS.getReader(FS.java:246)
     at weblogic.jsp.internal.SourceFile.getReader(SourceFile.java:230)
     at weblogic.jsp.internal.SourceFile.getTokenStream(SourceFile.java:384)
     at weblogic.jsp.internal.SourceFile.getAst(SourceFile.java:533)
     at weblogic.jsp.internal.SourceFile.check(SourceFile.java:335)
     at weblogic.jsp.internal.ProxySourceFile.codeGen(ProxySourceFile.java:224)
     at weblogic.jsp.internal.SourceFile.codeGen(SourceFile.java:327)
     at weblogic.jsp.internal.client.ClientUtilsImpl$CodeGenJob.run(ClientUtilsImpl.java:599)
     at weblogic.jsp.internal.client.Job.performJob(Job.java:83)
     at weblogic.jsp.internal.client.SyncThreadPool.addJob(SyncThreadPool.java:31)
     at weblogic.jsp.internal.client.SyncThreadPool.addJob(SyncThreadPool.java:19)
     at weblogic.jsp.internal.client.ClientUtilsImpl.build(ClientUtilsImpl.java:348)
     at weblogic.servlet.jsp.JavelinxJSPStub.compilePage(JavelinxJSPStub.java:153)
     at weblogic.servlet.jsp.ResourceProviderJavelinxJspStub.compilePage(ResourceProviderJavelinxJspStub.java:78)
     at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:256)
     at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:216)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
     at weblogic.servlet.jsp.ResourceProviderJspStub.execute(ResourceProviderJspStub.java:48)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
     at java.security.AccessController.doPrivileged(Native Method)
     at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
     at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
     at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
     at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524)
     at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444)
     at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:163)
     at oracle.stellent.wcm.javaee.ServletRequestContext.executePath(ServletRequestContext.java:243)
     at oracle.stellent.wcm.client.RequestContext.process(RequestContext.java:189)
     at oracle.stellent.wcm.client.RequestContext.include(RequestContext.java:144)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.evaluateScript(ResponseHandler.java:217)
     at oracle.stellent.wcm.javaee.taglib.BaseTag$1.evaluateScript(BaseTag.java:114)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.handleResponse(ResponseHandler.java:146)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.handleResponse(ResponseHandler.java:111)
     at oracle.stellent.wcm.javaee.taglib.BaseTag$1.handleResponse(BaseTag.java:121)
     at oracle.stellent.wcm.client.invokers.RequestInvoker.handleResponse(RequestInvoker.java:222)
     at oracle.stellent.wcm.client.invokers.impl.ContributableInvoker.handleResponse(ContributableInvoker.java:53)
     at oracle.stellent.wcm.client.invokers.impl.PlaceholderInvoker.handleResponse(PlaceholderInvoker.java:70)
     at oracle.stellent.wcm.client.invokers.RequestInvoker.invokeRequest(RequestInvoker.java:145)
     at oracle.stellent.wcm.javaee.taglib.BaseTag.doTag(BaseTag.java:127)
     at jsp_servlet.__intradoc_._wcm._app._groups._sgsitedesignasset.__64_hmc._documents._sitedesignasset._mdaw._mdaw.__126_edisp.__pt_pip_jspx._jspService(__pt_pip_jspx.java:704)
     at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
     at weblogic.servlet.jsp.ResourceProviderJspStub.execute(ResourceProviderJspStub.java:48)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.stellent.wcm.javaee.servlet.filter.WCMSiteFilter.doFilter(WCMSiteFilter.java:156)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524)
     at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
     at oracle.stellent.wcm.javaee.ServletRequestContext.executePath(ServletRequestContext.java:247)
     at oracle.stellent.wcm.client.RequestContext.process(RequestContext.java:189)
     at oracle.stellent.wcm.client.RequestContext.forward(RequestContext.java:157)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.evaluateScript(ResponseHandler.java:215)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.handleResponse(ResponseHandler.java:146)
     at oracle.stellent.wcm.client.invokers.ResponseHandler.handleResponse(ResponseHandler.java:111)
     at oracle.stellent.wcm.client.invokers.RequestInvoker.handleResponse(RequestInvoker.java:222)
     at oracle.stellent.wcm.client.invokers.impl.PageInvoker.handleResponse(PageInvoker.java:75)
     at oracle.stellent.wcm.client.invokers.RequestInvoker.invokeRequest(RequestInvoker.java:145)
     at oracle.stellent.wcm.javaee.servlet.filter.WCMSiteFilter.handlePageInvocation(WCMSiteFilter.java:326)
     at oracle.stellent.wcm.javaee.servlet.filter.WCMSiteFilter.doFilter(WCMSiteFilter.java:174)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
     at java.security.AccessController.doPrivileged(Native Method)
     at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
     at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
     at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
     at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)





I am not able to figure out what / how to go about troubleshooting this issue .

Can someone shed some light on the error mentioned above and let me know how to proceed with debugging this issue ?


Site is deployed on WLS 10.3.5 on a separate managed server .

Any inputs will be highly appreciated .

Thanks
Srinath

Edited by: Srinath Menon on Jan 19, 2012 10:27 AM
  • 1. Re: Maximum lock count exceeded - Details to debug
    Srinath Menon Guru
    Currently Being Moderated
    Code put in st_mainkv5.jspx is :


    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:wcm="http://www.oracle.com/jsp/wcm">


    <script type='text/javascript'>
    //<![CDATA[
    var country = "${siteCode}";
    var cubeList = new Array();
    var firstCube = 2;
    cubeList = ["home","gallery", "experience", "mostlike", "talkntalk"];
    //]]>
    </script>
    <wcm:placeholder name="Cube Setting"/>
    <jsp:useBean id="map" class="java.util.HashMap"/>
    <jsp:scriptlet>
    String tmpCube = request.getParameter("Cube");
    map.put("ssCube", tmpCube);
    </jsp:scriptlet>
    <c:set var="ssCube" value="${map.ssCube}"/>
    <c:choose>
    <c:when test="${ssCube eq 'keyvisual'}">
    <script>var firstCube = 1;</script>
    </c:when>
    <c:when test="${ssCube eq 'gallery'}">
    <script>var firstCube = 2;</script>
    </c:when>
    <c:when test="${ssCube eq 'experience'}">
    <script>var firstCube = 3;</script>
    </c:when>
    <c:when test="${ssCube eq 'mostlike'}">
    <script>var firstCube = 4;</script>
    </c:when>
    <c:when test="${ssCube eq 'talkntalk'}">
    <script>var firstCube = 5;</script>
    </c:when>
    <c:otherwise>
    <script>var firstCube = 1;</script>
    </c:otherwise>
    </c:choose>



    <script type='text/javascript'>
    //<![CDATA[     
         var cubeList = new Array();
         cubeList = ["home","gallery", "experience", "mostlike", "talkntalk"];
    function cubeStart(va) {
    // 소셜큐브의 실제 컨텐츠는 이 함수에서 ajax 함수를 실행 시켜서 뿌려주도록 해주세요.
    // 드래그하거나 버튼을 클ë¦í•˜ì—¬ 큐브가 좌우 스크롤이 되면, 해당하는 큐브의 숫자(1~5)를 인수로 받아 이 함수가 실행됩니다.
    // 숫자와 큐브가 í•ìƒ 1:1 대응인 것은 아닙니다.
    // 큐브는 최대 5개까지 출력되고, 소셜 사용 여부/pip인지 general인지에 따라 3개만 출력되는 경우도 있습니다.
    //alert("Cube"+va+" is Ready.");

    if (va==1) { // main
    // 처리 내용 없음, HTML에서 출력되도록 해 주시면 됩니다.

    } else if (va==2) { // gallery
    cubeGalleryCustomiz('1','All')
    } else if (va==3) { // experience
    cubeExterienceCustomiz('exterior','0','');

    } else if (va==4) { // mostlike
    executeArea4();
    // 최초 로딩시 뿐만 아니라, 각 1/2/3위 링크 클ë¦í• ë•Œ 에도 다시 실행되어야 합니다.

    // cubeMostLikeCate()는 카테고리를 출력하는 함수입니다.
    // 1) 선택된 번호, 1~3 중 하나.
    // 2) 첫번째 프로필 이미지
    // 3) 두번째 프로필 이미지
    // 4) 세번째 프로필 이미지
    // 5) 첫번째 이름
    // 6) 두번째 이름
    // 7) 세번째 이름
    //cubeMostLikeCate(1,'/img_tmp/profile30.jpg','/img_tmp/profile30.jpg','/img_tmp/profile30.jpg','Jeff','Antonio','Jane');

    // cubeMostLike 버튼은 오른쪽 내용이 바뀌는 함수입니다.
    // 1) 자동차 이름
    // 2) Trim (아마도..)
    // 3) 선택한 익스테리어 이미지 (아이콘 이미지 경로)
    // 4) 선택한 인테리어 이미지 (아이콘 이미지 경로)
    // 5) 자동차 이미지
    // 6) See More 링크
    // 7) Car Builder 링크
    // 8) Link버튼 코드
    // cubeMostLike('ABC','Test','/img_tmp/exterior_gray.png','/img_tmp/interior_brown.png','/img_tmp/car_mostlike.png','#','#','<img src="/img_tmp/like.gif" alt="" />');


    } else if (va==5) { // talk n talk
    executeArea5();

    // 초기화 시키는 함수
    //cubeTalknTalkInit();

    // 각각의 텍스트를 뿌려 줍니다.
    // 1) 번호 1~6
    // 2) facebook or twitter
    // 3) 프로필 이미지
    // 4) 이름
    // 5) ë‚´ìš©
    //cubeTalknTalk(1,'facebook','/img_tmp/profile25.jpg','Dabby whistler','I can\'t belive my eyes. AZERA is so nice');
    //cubeTalknTalk(2,'twitter','/img_tmp/profile25.jpg','Dabby whistler','I can\'t belive my eyes. AZERA is so nice');
    //cubeTalknTalk(3,'facebook','/img_tmp/profile25.jpg','Dabby whistler','AZERA has a good performance to drive. It\'s really interesting for me');
    //cubeTalknTalk(4,'twitter','/img_tmp/profile25.jpg','Dabby whistler','I can\'t belive my eyes. AZERA is so nice');
    //cubeTalknTalk(5,'facebook','/img_tmp/profile25.jpg','Dabby whistler','AZERA has a good performance to drive. It\'s really interesting for me');
    //cubeTalknTalk(6,'facebook','/img_tmp/profile25.jpg','Dabby whistler','I can\'t belive my eyes. AZERA is so nice');

    }
    }
    //]]>
    </script>

    <div class="cubebox" id="cubebox">
    <div class="cubelist">
    <!-- 960*436 -->
    <div class="item">
    <wcm:placeholder name="CUBE MAIN"/>
    </div>
    <div class="item">
    <wcm:placeholder name="CUBE GALLERY"/>
    </div>
    <div class="item">
    <wcm:placeholder name="CUBE EXPERIENCE"/>
    </div>
    <div class="item">
    <wcm:placeholder name="CUBE MOST LIKE"/>
    </div>

    <div class="item">
    <wcm:placeholder name="CUBE TALK TALK"/>
    </div>

    </div>
    <div class="prevbtn">
    <img src="/es/images/common/bg/blank.gif" alt="previous" />
    </div>
    <div class="nextbtn">
    <img src="/es/images/common/bg/blank.gif" alt="next" />
    </div>
    <!--
    <div class="facebook">
    <img src="/img_tmp/tmp_facebook.png" alt="" />
    </div>
    -->
    <div class="cube"> </div>
    </div>
    </jsp:root>
  • 2. Re: Maximum lock count exceeded - Details to debug
    gimbal2 Guru
    Currently Being Moderated
    Your problem is with Weblogic server, so ask your question in the weblogic forum.

    https://forums.oracle.com/forums/category.jspa?categoryID=193
  • 3. Re: Maximum lock count exceeded - Details to debug
    Srinath Menon Guru
    Currently Being Moderated
    When does the Java specific error message given below come up :

    Maximum lock count exceeded



    As in what code scenarios or specific cases can this happen ? What does the error message signify ?

    Thanks
    Srinath
  • 4. Re: Maximum lock count exceeded - Details to debug
    gimbal2 Guru
    Currently Being Moderated
    It is a "java specific" message because Weblogic is built in Java itself, so it uses standard Java features. It appears because Weblogic is using a lock, which you can clearly see in the stacktrace you posted. But WHY the lock count is exceeded only people experienced with Weblogic can answer. Hence, ask your question in the Weblogic forum!

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points