7 Replies Latest reply on Dec 1, 2009 12:26 PM by Bill Robinson

    Getting JNI mkdirs failed: Permission denied

      Hi,

       

      While browsing Hotfixes for a particular server I am getting following error thrown in appserver.log

       

      "JNI mkdirs failed: Permission denied"

       

      Please help.

       

      Regards

      Guru

        • 1. Re: Getting JNI mkdirs failed: Permission denied
          Bill Robinson

          can you post the full log ?  or alteast more lines around the error ?

          • 2. Re: Getting JNI mkdirs failed: Permission denied

            Hi Bill,

             

            There are two different kind of java errors being thrown:

             

            Error 1:

             

            [30 Nov 2009 21:47:04,031] [WorkItem-Thread-5] [INFO] [BLAdmin:BLAdmins:] [PatchAnalysis] Executing work item Patch Analysis Job:xptest_patch_analysis; Server:10.224.128.254;  on application server: confiancevm
            [30 Nov 2009 21:47:04,109] [WorkItem-Thread-6] [INFO] [BLAdmin:BLAdmins:] [PatchAnalysis] Executing work item Patch Analysis Job:xptest_patch_analysis; Server:xptest;  on application server: confiancevm
            [30 Nov 2009 21:47:12,421] [Scheduled-System-Tasks-Thread-4] [INFO] [System:System:] [Memory Monitor] Total JVM (B): 83648512,Free JVM (B): 42063112,Used JVM (B): 41585400,VSize (B): 292413440,RSS (B): 125775872
            [30 Nov 2009 21:47:25,171] [WorkItem-Thread-5] [ERROR] [BLAdmin:BLAdmins:] [PatchAnalysis] JNI mkdirs failed: Permission denied
            java.io.IOException: JNI mkdirs failed: Permission denied
            at com.bladelogic.app.service.file.AppServerFileUtil.mkDirs(Native Method)
            at com.bladelogic.app.service.file.AppServerFileUtil.mkDirs(AppServerFileUtil.java:382)
            at com.bladelogic.model.job.compliance.patch.ShavlikResult.shavlikAnalyzer(ShavlikResult.java:477)
            at com.bladelogic.app.patch.analysisengine.ShavlikAnalysisEngineImpl.getHotfixesFromAgent(ShavlikAnalysisEngineImpl.java:527)
            at com.bladelogic.app.patch.analysisengine.ShavlikAnalysisEngineImpl.performAnalysis(ShavlikAnalysisEngineImpl.java:276)
            at com.bladelogic.model.job.compliance.patch.PatchAnalysisJobWorkItemImpl.execute(PatchAnalysisJobWorkItemImpl.java:292)
            at com.bladelogic.app.service.workitem.WorkItem.doExecute(WorkItem.java:94)
            at com.bladelogic.app.service.workitem.thread.WorkItemThread.execute(WorkItemThread.java:176)
            at com.bladelogic.app.service.workitem.thread.WorkItemThread.execute(WorkItemThread.java:54)
            at com.bladelogic.app.service.thread.BlBlockingThread.run(BlBlockingThread.java:92)
            [30 Nov 2009 21:47:28,625] [WorkItem-Thread-6] [INFO] [BLAdmin:BLAdmins:] [PatchAnalysis] Executing command: BLPatchCheck2 0 -pt 13  -s "C:/Program Files/BMC BladeLogic/RSC/tmp/hfnetchk6b_d9725770-2a18-483c-a31e-f45ee6fb62d3/hfnetchk6b.cab" "C:/Program Files/BMC BladeLogic/RSC/tmp/shavlik_results_d24435dc-3604-473a-a0a7-17e0ac2558f8.xml"

             

            Error 2:

             

            [30 Nov 2009 22:09:58,437] [Client-Connections-Thread-8] [INFO] [BLAdmin:BLAdmins:10.224.128.76] [Client] Calling Shavlik Analyzer
            [30 Nov 2009 22:09:58,625] [Client-Connections-Thread-8] [ERROR] [BLAdmin:BLAdmins:10.224.128.76] [Client] JNI mkdirs failed: Permission denied
            java.io.IOException: JNI mkdirs failed: Permission denied
            at com.bladelogic.app.service.file.AppServerFileUtil.mkDirs(Native Method)
            at com.bladelogic.app.service.file.AppServerFileUtil.mkDirs(AppServerFileUtil.java:382)
            at com.bladelogic.model.job.compliance.patch.ShavlikResult.shavlikAnalyzer(ShavlikResult.java:477)
            at com.bladelogic.model.asset.application.HotfixFactory.rawGetAllFromAgent(HotfixFactory.java:140)
            at com.bladelogic.model.asset.application.HotfixFactory.rawGetAllFromAgent(HotfixFactory.java:163)
            at com.bladelogic.model.asset.base.CachingBlAssetFactory.getAllFromAgent(CachingBlAssetFactory.java:33)
            at com.bladelogic.model.asset.application.HotfixListFactory.getBlAssetChildrenFromAgent(HotfixListFactory.java:57)
            at com.bladelogic.model.asset.application.HotfixListFactory.getBlAssetChildrenFromAgent(HotfixListFactory.java:46)
            at com.bladelogic.model.asset.base.BlAssetFactoryImpl.getBlAssetChildrenFromContainer(BlAssetFactoryImpl.java:192)
            at com.bladelogic.app.collector.LiveAssetContainer.getBlAssetChildrenStream(LiveAssetContainer.java:78)
            at com.bladelogic.app.api.factory.BlAssetServiceImpl.internal_getBlAssetChildrenStreamFromContainer(BlAssetServiceImpl.java:260)
            at com.bladelogic.app.api.factory.BlAssetServiceImpl.getBlAssetChildrenStreamFromContainer(BlAssetServiceImpl.java:229)
            at com.bladelogic.app.api.factory.BlAssetServiceImpl.getBlAssetChildrenFromContainer(BlAssetServiceImpl.java:200)
            at com.bladelogic.app.api.BlAssetServiceRequestHandlerImpl.getBlAssetChildrenFromContainer_9(BlAssetServiceRequestHandlerImpl.java:410)
            at com.bladelogic.app.api.BlAssetServiceRequestHandlerImpl.execute(BlAssetServiceRequestHandlerImpl.java:107)
            at com.bladelogic.app.api.manage.APIMethodInvocationProvider.executeRequest(APIMethodInvocationProvider.java:57)
            at com.bladelogic.app.api.manage.APIMethodInvocationProvider.invoke(APIMethodInvocationProvider.java:42)
            at com.bladelogic.app.service.routing.RoutingServiceImpl.invokeMethodLocally(RoutingServiceImpl.java:319)
            at com.bladelogic.app.service.routing.RoutingServiceImpl.invoke(RoutingServiceImpl.java:246)
            at com.bladelogic.app.api.manage.APIRequestManager.executeRequest(APIRequestManager.java:30)
            at com.bladelogic.message.app.frame.APIMessageFrame.service(APIMessageFrame.java:87)
            at com.bladelogic.mfw.net.ClientWorkerThread.processRequest(ClientWorkerThread.java:370)
            at com.bladelogic.mfw.net.ClientWorkerThread.processClientRequest(ClientWorkerThread.java:280)
            at com.bladelogic.mfw.net.ClientWorkerThread.handleClientRequest(ClientWorkerThread.java:180)
            at com.bladelogic.mfw.net.ClientWorkerThread.execute(ClientWorkerThread.java:99)
            at com.bladelogic.mfw.net.ClientWorkerThread.execute(ClientWorkerThread.java:25)
            at com.bladelogic.app.service.thread.BlBlockingThread.run(BlBlockingThread.java:92)
            [30 Nov 2009 22:10:50,937] [Scheduled-System-Tasks-Thread-4] [INFO] [System:System:] [Memory Monitor] Total JVM (B): 76218368,Free JVM (B): 34912704,Used JVM (B): 41305664,VSize (B): 273154048,RSS (B): 120557568
            [30 Nov 2009 22:11:50,671] [Scheduled-System-Tasks-Thread-4] [INFO] [System:System:] [Memory Monitor] Total JVM (B): 76218368,Free JVM (B): 37563104,Used JVM (B): 38655264,VSize (B): 272465920,RSS (B): 120094720
            [30 Nov 2009 22:12:41,515] [Client-Connections-Thread-9] [INFO] [BLAdmin:BLAdmins:10.224.128.76] [Client] Calling Shavlik Analyzer

             

             

            Rgds

            Guru.

            • 3. Re: Getting JNI mkdirs failed: Permission denied
              Bill Robinson

              what do the file permissons look like on /usr/nsh/tmp and the subdirectories?

              • 4. Re: Getting JNI mkdirs failed: Permission denied

                Well its a windows box and I don't see any 'tmp' folder under NSH directory.

                 

                All I have is '\NSH\share' directory. However I have given full access to 'Everyone' and 'BladeLogicRSCD' on 'BMC BladeLogic' folder under c:\program files.

                 

                Also I am not sure if this has to do anything with the issue but just wanted to let you know that its Win 2003 OS running on VM and has Bladelogic Application servers running.

                • 5. Re: Getting JNI mkdirs failed: Permission denied
                  Bill Robinson

                  hmm - what about the agent acls on the target server - what is in the c:\windows\rsc\users and users.local files ?  and is there anything useful in the c:\program files\bladelogic\rsc\rscd.log file on the target showing a permission denied or similar?

                  • 6. Re: Getting JNI mkdirs failed: Permission denied

                    This is what I see nder rscd.log

                     

                    11/30/09 22:56:18.171 INFO     rscd -  confiancevm 464 SYSTEM (???): ???: The following local user will be used by the agent for user privilege mapping: BladeLogicRSCD

                     

                    I am very new to Bladelogic so I am not aware how to check ACL on agents moreover the files under c:windows\rsc does say much apart from checking the adming guide on how to see it content. I am trying to search the admin guide but its kind of confusing.

                     

                    I would appreciate if you provide me the steps to check ACLs and user files under c:\windows\rsc.

                     

                    Thanks.

                    • 7. Re: Getting JNI mkdirs failed: Permission denied
                      Bill Robinson

                      You may want to open a support case on this.  I'm not sure from the log if this is an error that's occuring on the appserver or it's something w/ the agent on the target.

                       

                      if you run the job that causes the error and you don't see anything in the agent log on the target system, then the error is probably something on the appserver.  On windows i'm not sure about file permissions and such, as the appserver should be running as an admin acct (system or something) and shouldn't have problems w/ permissions.

                       

                      you can look at the agent acls by looking in the users and users.local files.

                       

                      if there is really nothing in the rscd.log file from the target other than that line you posted below, then I don't think you are getting to the agent at all, agent acls are not the issue and your problem is on the appserver.