02-17-2012 12:03 AM
Hi,
I have running a LMS master/slave installation with version 3.2.1 and patch for the cisco download running.
Now I get on two of the three servers a NullPointerException if I want to go to the Device Update in CS.
This is the output from stderr.log:
Feb 17, 2012 8:58:34 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.cisco.nm.xms.psu.ui.gui.model.ViewProduct.getAllProducts(ViewProduct.java:45)
at com.cisco.nm.xms.psu.ui.gui.model.ProductList.getAllRegProducts(ProductList.java:21)
at com.cisco.nm.xms.psu.ui.gui.model.action.DevUpdate.setRegisteredProducts(DevUpdate.java:2213)
at com.cisco.nm.xms.psu.ui.gui.model.action.DevUpdate.perform(DevUpdate.java:491)
at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.cisco.nm.cmf.util.AccessLogFilter.doFilter(AccessLogFilter.java:128)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:662)
I did the installation the same way on all three servers.
Thanks for any advice!
Sven
02-17-2012 10:17 AM
For the device update you better check the psu.log, well after you crank up the debug level and re-run the job
Cheers,
Michel
02-20-2012 01:13 AM
Hi!
Thanks, Michel, for your reply!
I enabled the debug for Software Center and this is the output from psu.log:
[ Mon Feb 20 10:09:04 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskDone] : Done running work on EvalTask(DiscoveryThreadPool,8)
[ Mon Feb 20 10:09:04 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskRunning] : Running work from EvalQueue(pool=DiscoveryThreadPool,weight=5,uid=7739053) on EvalTask(DiscoveryThreadPool,8)
[ Mon Feb 20 10:09:04 CET 2012 ] INFO [DiscoveryEvalScheduler : wakeUpThread] : _runningThreads => 20, _count => 20_maxCount => 20
[ Mon Feb 20 10:09:45 CET 2012 ] DEBUG [GetDeviceUpdateFB : reset] : DeviceUpdateFB: reset(map,req) called..
[ Mon Feb 20 10:09:45 CET 2012 ] DEBUG [DevUpdate : perform] : ......Wizid == null ......wizAction==null
[ Mon Feb 20 10:09:45 CET 2012 ] DEBUG [DevUpdate : perform] : installOK ===============[]
[ Mon Feb 20 10:09:45 CET 2012 ] DEBUG [ViewProduct : getAllProducts] : Loading psu properties using CmdLineOpts..
[ Mon Feb 20 10:09:46 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskDone] : Done running work on EvalTask(DiscoveryThreadPool,15)
[ Mon Feb 20 10:09:46 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskRunning] : Running work from EvalQueue(pool=DiscoveryThreadPool,weight=5,uid=7739053) on EvalTask(DiscoveryThreadPool,15)
[ Mon Feb 20 10:09:46 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskDone] : Done running work on EvalTask(DiscoveryThreadPool,2)
[ Mon Feb 20 10:09:46 CET 2012 ] DEBUG [DiscoveryEvalScheduler : reportTaskRunning] : Running work from EvalQueue(pool=DiscoveryThreadPool,weight=5,uid=7739053) on EvalTask(DiscoveryThreadPool,2)
[ Mon Feb 20 10:09:46 CET 2012 ] INFO [DiscoveryEvalScheduler : wakeUpThread] : _runningThreads => 20, _count => 20_maxCount => 20
[ Mon Feb 20 10:09:46 CET 2012 ] INFO [DiscoveryEvalScheduler : wakeUpThread] : _runningThreads => 20, _count => 20_maxCount => 20
Any ideas?
Thanks!
Sven
02-20-2012 01:25 AM
Sven,
The log is incomplete. It should start with this:
[ Mon Feb 20 11:59:38 CET 2012 ] DEBUG [PsuUtils : isDirectoryUnderNMSRoot] : directory specified :C:\psu_download
[ Mon Feb 20 11:59:38 CET 2012 ] DEBUG [PsuUtils : getWinSystemDir] : system dir : C:\WINDOWS
[ Mon Feb 20 11:59:42 CET 2012 ] INFO [SecurityHandler : getCSProxyLogin] : No proxy User Name configured
[ Mon Feb 20 11:59:42 CET 2012 ] INFO [SecurityHandler : getCSProxyHost] : No proxy Host configured
[ Mon Feb 20 11:59:54 CET 2012 ] INFO [SecurityHandler : getCSProxyHost] : No proxy Host configured
[ Mon Feb 20 11:59:54 CET 2012 ] INFO [SecurityHandler : getCSProxyPort] : No proxy port confgured
untill the nullpointerexception... I guess?
Cheers,
Michel
02-20-2012 01:38 AM
These were the first messages when I click on the device update.
But I think I found the lines you think about. They are much older:
[ Fri Dec 30 08:58:08 CET 2011 ] ERROR [CcoDownloadAdapter : getXmlFileList] : failed to connect to Cisco.com:RespCode=404, RespMsg=Not Found
[ Fri Dec 30 08:58:08 CET 2011 ] ERROR [RemoteRepSync : downloadPsuHeadersAsXml] : VDSException thrown com.cisco.nm.xms.vds.VDSException: CcoDownloadAdapter::getfileList():failed to connect to Cisco.com.
[ Fri Dec 30 08:58:08 CET 2011 ] INFO [SwUpdateAction : selectAllUpdates] : removing SwUpdateLock, due to exception..
[ Tue Jan 03 09:48:35 CET 2012 ] INFO [SecurityHandler : getCSProxyLogin] : No proxy User Name configured
[ Tue Jan 03 09:48:52 CET 2012 ] INFO [SwUpdateAction : selectAllUpdates] : Validated Cisco.com credentials..
[ Tue Jan 03 09:48:52 CET 2012 ] ERROR [CcoDownloadAdapter : getXmlFileList] : failed to connect to Cisco.com:RespCode=404, RespMsg=Not Found
[ Tue Jan 03 09:48:52 CET 2012 ] ERROR [RemoteRepSync : downloadPsuHeadersAsXml] : VDSException thrown com.cisco.nm.xms.vds.VDSException: CcoDownloadAdapter::getfileList():failed to connect to Cisco.com.
[ Tue Jan 03 09:48:52 CET 2012 ] INFO [SwUpdateAction : selectAllUpdates] : removing SwUpdateLock, due to exception..
[ Tue Jan 03 11:36:03 CET 2012 ] INFO [SecurityHandler : getCSProxyLogin] : No proxy User Name configured
[ Tue Jan 03 11:36:16 CET 2012 ] INFO [SwUpdateAction : selectAllUpdates] : Validated Cisco.com credentials..
[ Tue Jan 03 11:36:16 CET 2012 ] ERROR [SecurityHandler : initConfigProps] : Exception :java.io.InvalidClassException: com.cisco.nm.xms.vds.VDSConfigProps; local class incompatible: stream classdesc serialVersionUID = 5707767613830197462, local class serialVersionUID = -8552113475503203951
[ Tue Jan 03 11:36:16 CET 2012 ] ERROR [VirtualDownloadService : saveConfiguration] : Exception :com.cisco.nm.xms.vds.VDSException: SecurityHandler::initConfigProps():Exceptioncom.cisco.nm.xms.vds.VDSConfigProps; local class incompatible: stream classdesc serialVersionUID = 5707767613830197462, local class serialVersionUID = -8552113475503203951
[ Tue Jan 03 11:36:16 CET 2012 ] FATAL [PsuUtils : getCcoMappedName] : Could not load data file
[ Tue Jan 03 11:36:16 CET 2012 ] INFO [SwUpdateAction : selectAllUpdates] : removing SwUpdateLock, due to exception..
[ Wed Feb 01 16:10:28 CET 2012 ] INFO [SecurityHandler : getCSProxyLogin] : No proxy User Name configured
[ Wed Feb 01 16:10:28 CET 2012 ] INFO [SchDownloadsAction : perform] : Start method
[ Wed Feb 01 16:10:28 CET 2012 ] INFO [SchDownloadsAction : perform] : req.getParameter(scheDownloads) ====== null
[ Wed Feb 01 16:10:42 CET 2012 ] INFO [ActivityAction : perform] : Displaying the ActivityLog - Start
[ Wed Feb 01 16:10:43 CET 2012 ] WARN [JobHistory : init] : Jobs file does not exist:
[ Wed Feb 01 16:10:43 CET 2012 ] ERROR [PackageManager : initAdapters] : Exception while loading adapters : java.lang.NullPointerException
I searched for the tag.properties, but I only found the file named "tag". The content is the same as on the working server.
Is it possible to change the file name manually?
Thanks!
Sven
02-20-2012 02:19 AM
These messages I showed should appear everytime you launch the device update.
So also now. Did you re-try the device update?
Cheers,
Michel
02-20-2012 03:41 AM
Yes, I re-tried the device update and these are the first lines from the psu.log after I started the device update:
[ Mon Feb 20 12:36:54 CET 2012 ] DEBUG [GetDeviceUpdateFB : reset] : DeviceUpdateFB: reset(map,req) called..
[ Mon Feb 20 12:36:54 CET 2012 ] DEBUG [DevUpdate : perform] : ......Wizid == null ......wizAction==null
[ Mon Feb 20 12:36:54 CET 2012 ] DEBUG [DevUpdate : perform] : installOK ===============[]
[ Mon Feb 20 12:36:54 CET 2012 ] DEBUG [ViewProduct : getAllProducts] : Loading psu properties using CmdLineOpts..
Nothing else.....
Sven
02-20-2012 04:07 AM
Very strange indeed. You are running this device update as admin right? And the psu log level is at debug?
Have you restarted the server lately? No disk space issues?
Michel
02-20-2012 05:10 AM
No, no disk space issue and my tacacs+ user is running with the role superadmin.
I checked the debug log on the one server which is running well.
It starts the same as the not working server:
Click on the link "device update":
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [GetDeviceUpdateFB : reset] : DeviceUpdateFB: reset(map,req) called..
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [DevUpdate : perform] : ......Wizid == null ......wizAction==null
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [DevUpdate : perform] : installOK ===============[]
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getAllProducts] : Loading psu properties using CmdLineOpts..
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cmf
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cmf] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cvw
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cvw] = 683
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cwa
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cwa] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : lmsportal
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [lmsportal] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : nmim
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [nmim] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : rme
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [rme] = 855
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [GetDeviceUpdateFB : reset] : DeviceUpdateFB: reset(map,req) called..
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getAllProducts] : Loading psu properties using CmdLineOpts..
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cmf
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cmf] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cvw
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cvw] = 683
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : cwa
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [cwa] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : lmsportal
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [lmsportal] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : nmim
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [nmim] = 0
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : getting DeviceCount for : rme
[ Mon Feb 20 13:58:21 CET 2012 ] DEBUG [ViewProduct : getDeviceCount] : DeviceCount for [rme] = 855
-> Now the gui appears where I can select for which LMS module I want to check for device updates.
No I choose "ciscoview" and click to "check for updates":
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [GetDeviceUpdateFB : reset] : DeviceUpdateFB: reset(map,req) called..
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [DevUpdate : perform] : ......Wizid == null ......wizAction==null
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [DevUpdate : perform] : installOK ===============[]
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [DevUpdate : perform] : selected product[1] = CiscoView
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [PsuUtils : isDirectoryUnderNMSRoot] : directory specified :D:\psu_download
[ Mon Feb 20 14:00:00 CET 2012 ] DEBUG [PsuUtils : getWinSystemDir] : system dir :
And after that the log messages came up how you described.
So I think there is a problem before the point you thought about.
Thanks!
Sven
02-20-2012 06:09 AM
I found my issue!
The problem is the file psu.properties in the folder \CSCOpx\lib\classpath\com\cisco\nm\xms\psu\conf.
The original input is:
PsuProperties=
unknownSysObjIdDb=
remoteDir=
destLocation=tmp\\psu
lockFile=
PsuDownloadLock=
historyDB=
adapterDirectory=
cvinfoFile=cvinfo
register=
mapPropertyFile=
tempStagingDirectory=
tempInstallDownloadDir=
packageRepDirectory=
JobDB=
readmeDirectory=
downloadDirectory=
maxHistoryEntries=50
SLEEP_INTERVAL=120
applicationID=LMS
On the server where the device update is working, the paths to the files are not with
d:\\PROGRA~1\\CSCOpx\\
If I change that the Device Update works!
My question is, where is the
Thanks a lot, Michel, for your help! The hint with the psu.log was very helpful! :-)
Sven
02-20-2012 11:55 AM
Did you restore a backup or config files from one system to another with a different path for NMSROOT?
I always keep it \CSCOpx, mostly d:\CSCOpx so I never had such an issue.
Cheers,
Michel
02-20-2012 10:01 PM
Hi,
no, the last action I did was the update to lms 3.2.1. Nothing else.
And I think before the update I had access to the device update. No idea why this
This is a global variable, right? So other parts of LMS will use it, too. Don't understand that....
Do you know where the path for
Thanks!
Sven
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: