smpatch: IOException: Not enough space?
One of my favorite things about the Sun UC software is that I never know what error I'm going to get next. The endless variety really tweaks my sense of adventure!
I just did a patch run on 12/01/06 on five Solaris 10 systems via our LPS. True to form, even that run had its problems, but ultimately completed successfully. This week I run a smpatch analyze, which dutifully produces a list of about a half dozen new patches on 4 of the systems, and fails on the 5th, with the following error spewed out to the screen:
bash-3.00# smpatch analyze
java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:429)
at java.lang.Runtime.exec(Runtime.java:326)
at com.sun.patchpro.util.CCRCmdLine.exec(CCRCmdLine.java:196)
at com.sun.patchpro.util.CCRCmdLine.get(CCRCmdLine.java:86)
at com.sun.patchpro.util.Downloader.connectToURL(Downloader.java:299)
at com.sun.patchpro.util.CachingDownloader.establishConnection(CachingDownloader.java:584)
at com.sun.patchpro.util.CachingDownloader.setSourceURL(CachingDownloader.java:274)
at com.sun.patchpro.util.CachingDownloader.setupCache(CachingDownloader.java:200)
at com.sun.patchpro.util.CachingDownloader.<init>(CachingDownloader.java:185)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadFile(ServerPatchServiceProvider.java:947)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadEntitlementFile(ServerPatchServiceProvider.java:1019)
at com.sun.patchpro.server.PatchServerProxy.downloadEntitlementFile(PatchServerProxy.java:210)
at com.sun.patchpro.cli.PatchServices.getEntitlementList(PatchServices.java:1931)
at com.sun.patchpro.cli.PatchServices.getEntitledPatchList(PatchServices.java:2064)
at com.sun.patchpro.cli.PatchServices.displayPatchList(PatchServices.java:783)
at com.sun.patchpro.cli.PatchServices.main(PatchServices.java:611)
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=Error: Unable to write to syslog file
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:464)
at com.sun.patchpro.log.SunOSSystemLogger.print(SunOSSystemLogger.java:93)
at com.sun.patchpro.log.ApplicationLog.print(ApplicationLog.java:379)
at com.sun.patchpro.log.PatchProLog.printStackTrace(PatchProLog.java:139)
at com.sun.patchpro.util.CCRCmdLine.get(CCRCmdLine.java:106)
at com.sun.patchpro.util.Downloader.connectToURL(Downloader.java:299)
at com.sun.patchpro.util.CachingDownloader.establishConnection(CachingDownloader.java:584)
at com.sun.patchpro.util.CachingDownloader.setSourceURL(CachingDownloader.java:274)
at com.sun.patchpro.util.CachingDownloader.setupCache(CachingDownloader.java:200)
at com.sun.patchpro.util.CachingDownloader.<init>(CachingDownloader.java:185)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadFile(ServerPatchServiceProvider.java:947)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadEntitlementFile(ServerPatchServiceProvider.java:1019)
at com.sun.patchpro.server.PatchServerProxy.downloadEntitlementFile(PatchServerProxy.java:210)
at com.sun.patchpro.cli.PatchServices.getEntitlementList(PatchServices.java:1931)
at com.sun.patchpro.cli.PatchServices.getEntitledPatchList(PatchServices.java:2064)
at com.sun.patchpro.cli.PatchServices.displayPatchList(PatchServices.java:783)
at com.sun.patchpro.cli.PatchServices.main(PatchServices.java:611)
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=Error: Unable to write to syslog file
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:464)
at com.sun.patchpro.log.SunOSSystemLogger.print(SunOSSystemLogger.java:93)
at com.sun.patchpro.log.ApplicationLog.print(ApplicationLog.java:379)
at com.sun.patchpro.log.PatchProLog.printStackTrace(PatchProLog.java:139)
at com.sun.patchpro.util.CCRCmdLine.get(CCRCmdLine.java:106)
at com.sun.patchpro.util.Downloader.connectToURL(Downloader.java:299)
at com.sun.patchpro.util.CachingDownloader.establishConnection(CachingDownloader.java:584)
at com.sun.patchpro.util.CachingDownloader.setSourceURL(CachingDownloader.java:274)
at com.sun.patchpro.util.CachingDownloader.setupCache(CachingDownloader.java:200)
at com.sun.patchpro.util.CachingDownloader.<init>(CachingDownloader.java:185)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadFile(ServerPatchServiceProvider.java:947)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadEntitlementFile(ServerPatchServiceProvider.java:1019)
at com.sun.patchpro.server.PatchServerProxy.downloadEntitlementFile(PatchServerProxy.java:210)
at com.sun.patchpro.cli.PatchServices.getEntitlementList(PatchServices.java:1931)
at com.sun.patchpro.cli.PatchServices.getEntitledPatchList(PatchServices.java:2064)
at com.sun.patchpro.cli.PatchServices.displayPatchList(PatchServices.java:783)
at com.sun.patchpro.cli.PatchServices.main(PatchServices.java:611)
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=Error: Unable to write to syslog file
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.log.SunOSSystemLogger@7e5619 <=java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:464)
at com.sun.patchpro.log.SunOSSystemLogger.print(SunOSSystemLogger.java:93)
at com.sun.patchpro.log.ApplicationLog.print(ApplicationLog.java:379)
at com.sun.patchpro.log.PatchProLog.printStackTrace(PatchProLog.java:139)
at com.sun.patchpro.util.CCRCmdLine.get(CCRCmdLine.java:106)
at com.sun.patchpro.util.Downloader.connectToURL(Downloader.java:299)
at com.sun.patchpro.util.CachingDownloader.establishConnection(CachingDownloader.java:584)
at com.sun.patchpro.util.CachingDownloader.setSourceURL(CachingDownloader.java:274)
at com.sun.patchpro.util.CachingDownloader.setupCache(CachingDownloader.java:200)
at com.sun.patchpro.util.CachingDownloader.<init>(CachingDownloader.java:185)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadFile(ServerPatchServiceProvider.java:947)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadEntitlementFile(ServerPatchServiceProvider.java:1019)
at com.sun.patchpro.server.PatchServerProxy.downloadEntitlementFile(PatchServerProxy.java:210)
at com.sun.patchpro.cli.PatchServices.getEntitlementList(PatchServices.java:1931)
at com.sun.patchpro.cli.PatchServices.getEntitledPatchList(PatchServices.java:2064)
at com.sun.patchpro.cli.PatchServices.displayPatchList(PatchServices.java:783)
at com.sun.patchpro.cli.PatchServices.main(PatchServices.java:611)
Thu Dec 07 10:04:43 EST 2006(ERROR)=> com.sun.patchpro.util.CachingDownloader@19ce47a <=java.lang.RuntimeException: Cannot exec /usr/lib/cc-ccr/bin/ccr -g cns.assetid: java.io.IOException: Not enough space
at com.sun.patchpro.util.CCRCmdLine.exec(CCRCmdLine.java:236)
at com.sun.patchpro.util.CCRCmdLine.get(CCRCmdLine.java:86)
at com.sun.patchpro.util.Downloader.connectToURL(Downloader.java:299)
at com.sun.patchpro.util.CachingDownloader.establishConnection(CachingDownloader.java:584)
at com.sun.patchpro.util.CachingDownloader.setSourceURL(CachingDownloader.java:274)
at com.sun.patchpro.util.CachingDownloader.setupCache(CachingDownloader.java:200)
at com.sun.patchpro.util.CachingDownloader.<init>(CachingDownloader.java:185)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadFile(ServerPatchServiceProvider.java:947)
at com.sun.patchpro.server.ServerPatchServiceProvider.downloadEntitlementFile(ServerPatchServiceProvider.java:1019)
at com.sun.patchpro.server.PatchServerProxy.downloadEntitlementFile(PatchServerProxy.java:210)
at com.sun.patchpro.cli.PatchServices.getEntitlementList(PatchServices.java:1931)
at com.sun.patchpro.cli.PatchServices.getEntitledPatchList(PatchServices.java:2064)
at com.sun.patchpro.cli.PatchServices.displayPatchList(PatchServices.java:783)
at com.sun.patchpro.cli.PatchServices.main(PatchServices.java:611)
It's not a simple matter of "no space":
bash-3.00# df -h
Filesystem sizeused avail capacity Mounted on
/dev/dsk/c1t0d0s011G4.8G5.7G46%/
/devices0K0K0K0%/devices
ctfs 0K0K0K0%/system/contract
proc 0K0K0K0%/proc
mnttab0K0K0K0%/etc/mnttab
swap513M1.0M512M1%/etc/svc/volatile
objfs0K0K0K0%/system/object
fd0K0K0K0%/dev/fd
/dev/dsk/c1t0d0s55.8G1.6G4.1G29%/var
swap514M2.4M512M1%/tmp
swap512M56K512M1%/var/run
/dev/dsk/c1t1d0s030G5.4G24G19%/home
/dev/dsk/c1t1d0s130G5.4G24G19%/opt/local
/dev/md/dsk/d10269G7.0G260G3%/oracle
Looks like plenty of space to me. I did a "touch /var/foo" just to make sure the filesystem was writable. It worked as expected. So I'm kindof at a loss here.
Here's the "smpatch get" output:
bash-3.00# smpatch get
patchpro.backout.directory-""
patchpro.baseline.directory-/var/sadm/spool
patchpro.download.directory-/var/sadm/spool
patchpro.install.types -rebootafter:reconfigafter:standard
patchpro.patch.sourcehttp://OBFUSCATED:3816/solaris/https://getupdates1.sun.com/
patchpro.patchset-current
patchpro.proxy.host -""
patchpro.proxy.passwd********
patchpro.proxy.port -8080
patchpro.proxy.user -""
More config stuff...
bash-3.00# /usr/lib/cc-ccr/bin/ccr -k | xargs -t -n 1 /usr/lib/cc-ccr/bin/ccr -g
/usr/lib/cc-ccr/bin/ccr -g 17
Property not defined: 17
/usr/lib/cc-ccr/bin/ccr -g cns.assetid
/usr/lib/cc-ccr/bin/ccr -g cns.ccr.keyGenPath
/usr/lib/cc-ccr/bin/ccrKeyGen
/usr/lib/cc-ccr/bin/ccr -g cns.clientid
/usr/lib/cc-ccr/bin/ccr -g cns.httpproxy.auth
/usr/lib/cc-ccr/bin/ccr -g cns.httpproxy.ipaddr
/usr/lib/cc-ccr/bin/ccr -g cns.httpproxy.port
/usr/lib/cc-ccr/bin/ccr -g cns.regtoken
/usr/lib/cc-ccr/bin/ccr -g cns.security.password
/usr/lib/cc-ccr/bin/ccr -g cns.security.privatekey
/usr/lib/cc-ccr/bin/ccr -g cns.security.publickey
/usr/lib/cc-ccr/bin/ccr -g cns.swup.UMautolaunch
false
/usr/lib/cc-ccr/bin/ccr -g cns.swup.autoAnalysis.enabled
true
/usr/lib/cc-ccr/bin/ccr -g cns.swup.checkinInterval
2
/usr/lib/cc-ccr/bin/ccr -g cns.swup.lastCheckin
0
/usr/lib/cc-ccr/bin/ccr -g cns.swup.patchbaseline
current
/usr/lib/cc-ccr/bin/ccr -g cns.swup.regRequired
true
/usr/lib/cc-ccr/bin/ccr -g cns.transport.serverurl
...and...
bash-3.00# java -version
java version"1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
Java HotSpot(TM) Server VM (build 1.5.0_09-b03, mixed mode)
Help please?!?
-cw-

