java.io.IOException: Destination '/usr/lib/pentaho-data-integration/pdi/./karaf-copy' directory cannot be created

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • Since BACKLOG-5009 (commit [0742f789fa42bbb4a71c6f7c7cb0eeeb5b043629|https://github.com/pentaho/pentaho-platform/commit/0742f789fa42bbb4a71c6f7c7cb0eeeb5b043629]), Carte tries to write to the installation directory during launch. It should try to write somewhere writable instead. On Ubuntu 14.04.2 LTS: {noformat} 18:16:59,569 ERROR [KarafBoot] Error starting Karaf java.io.IOException: Destination '/usr/lib/pentaho-data-integration/pdi/./karaf-copy' directory cannot be created at org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1213) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1186) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1058) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1027) at org.pentaho.platform.osgi.KarafBoot.startup(KarafBoot.java:88) at org.pentaho.di.osgi.registryExtension.OSGIPluginRegistryExtension.init(OSGIPluginRegistryExtension.java:105) at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:558) at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:101) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:97) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:75) at org.pentaho.di.www.Carte.setKettleEnvironment(Carte.java:249) at org.pentaho.di.www.Carte.parseAndRunCommand(Carte.java:242) at org.pentaho.di.www.Carte.main(Carte.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92) {noformat}
    via by Chris Bandy,
  • Since BACKLOG-5009 (commit [0742f789fa42bbb4a71c6f7c7cb0eeeb5b043629|https://github.com/pentaho/pentaho-platform/commit/0742f789fa42bbb4a71c6f7c7cb0eeeb5b043629]), Carte tries to write to the installation directory during launch. It should try to write somewhere writable instead. On Ubuntu 14.04.2 LTS: {noformat} 18:16:59,569 ERROR [KarafBoot] Error starting Karaf java.io.IOException: Destination '/usr/lib/pentaho-data-integration/pdi/./karaf-copy' directory cannot be created at org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1213) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1186) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1058) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1027) at org.pentaho.platform.osgi.KarafBoot.startup(KarafBoot.java:88) at org.pentaho.di.osgi.registryExtension.OSGIPluginRegistryExtension.init(OSGIPluginRegistryExtension.java:105) at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:558) at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:101) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:97) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:75) at org.pentaho.di.www.Carte.setKettleEnvironment(Carte.java:249) at org.pentaho.di.www.Carte.parseAndRunCommand(Carte.java:242) at org.pentaho.di.www.Carte.main(Carte.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92) {noformat}
    via by Chris Bandy,
  • opening the bug reporter
    via GitHub by door43app
    ,
  • Could not export usfm
    via GitHub by door43app
    ,
  • Could not export usfm
    via GitHub by door43app
    ,
  • opening the bug reporter
    via GitHub by door43app
    ,
  • It looks like the backup plugin tries to copy a directory instead of a file and stops the backup at this point. Also the configured compression to zip files wasn't working, probably due to the exception. Jan 21, 2013 5:00:34 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 31 jobs to back up. Jan 21, 2013 5:00:34 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 347 jobs to back up. Jan 21, 2013 5:00:36 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 36 jobs to back up. Jan 21, 2013 5:00:38 AM org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork backupNow SEVERE: Cannot perform a backup. Please be sure jenkins/hudson has write privileges in the configured backup path 'D:\backup\jenkins'. java.io.IOException: Source 'd:\jenkins\jobs\settings-XYZ.xml' exists but is not a directory at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:869) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:814) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobConfigFor(HudsonBackup.java:240) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJob(HudsonBackup.java:201) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobsDirectory(HudsonBackup.java:190) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobs(HudsonBackup.java:169) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backup(HudsonBackup.java:136) at org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork.backupNow(ThinBackupPeriodicWork.java:87) at org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork.execute(ThinBackupPeriodicWork.java:68) at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork$1.run(AsyncPeriodicWork.java:54) at java.lang.Thread.run(Thread.java:722) I haven't recognized this issue immediately, because a full backup and 6 incremental backups were partially stored in the backup folder. It would be helpful to show an error on the thinBackup Jenkins page, if a backup failed due to any issue.
    via by Christian Apel,
  • 03.04.2013 09:13:04 org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork backupNow SCHWERWIEGEND: Cannot perform a backup. Please be sure jenkins/hudson has write privileges in the configured backup path 'C:\CIServer\Backup\'. java.io.IOException: Source 'C:\Program Files (x86)\Jenkins\jobs\Bank Trunk\builds\lastFailedBuild' exists but is not a directory at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:869) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:814) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupBuildFiles(HudsonBackup.java:302) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupBuildsFor(HudsonBackup.java:270) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJob(HudsonBackup.java:208) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobsDirectory(HudsonBackup.java:196) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobs(HudsonBackup.java:175) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backup(HudsonBackup.java:142) at org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork.backupNow(ThinBackupPeriodicWork.java:87) at org.jvnet.hudson.plugins.thinbackup.ThinBackupMgmtLink$1.execute(ThinBackupMgmtLink.java:76) at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork$1.run(AsyncPeriodicWork.java:54) at java.lang.Thread.run(Unknown Source) 03.04.2013 09:12:40 org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 63 jobs to back up. 03.04.2013 09:12:40 org.jvnet.hudson.plugins.thinbackup.ThinBackupMgmtLink doBackupManual INFO: Starting manual backup. Indeed, lastFailedBuild is a normal file and not a directory. Since Jenkins 1.507 there are these special files (see http://jenkins-ci.org/changelog). Do you think you can address this issue quickly?
    via by Thomas Fürer,
  • It looks like the backup plugin tries to copy a directory instead of a file and stops the backup at this point. Also the configured compression to zip files wasn't working, probably due to the exception. Jan 21, 2013 5:00:34 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 31 jobs to back up. Jan 21, 2013 5:00:34 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 347 jobs to back up. Jan 21, 2013 5:00:36 AM org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup backupJobsDirectory INFO: Found 36 jobs to back up. Jan 21, 2013 5:00:38 AM org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork backupNow SEVERE: Cannot perform a backup. Please be sure jenkins/hudson has write privileges in the configured backup path 'D:\backup\jenkins'. java.io.IOException: Source 'd:\jenkins\jobs\settings-XYZ.xml' exists but is not a directory at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:869) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:814) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobConfigFor(HudsonBackup.java:240) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJob(HudsonBackup.java:201) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobsDirectory(HudsonBackup.java:190) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backupJobs(HudsonBackup.java:169) at org.jvnet.hudson.plugins.thinbackup.backup.HudsonBackup.backup(HudsonBackup.java:136) at org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork.backupNow(ThinBackupPeriodicWork.java:87) at org.jvnet.hudson.plugins.thinbackup.ThinBackupPeriodicWork.execute(ThinBackupPeriodicWork.java:68) at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork$1.run(AsyncPeriodicWork.java:54) at java.lang.Thread.run(Thread.java:722) I haven't recognized this issue immediately, because a full backup and 6 incremental backups were partially stored in the backup folder. It would be helpful to show an error on the thinBackup Jenkins page, if a backup failed due to any issue.
    via by Christian Apel,
    • java.io.IOException: Destination '/usr/lib/pentaho-data-integration/pdi/./karaf-copy' directory cannot be created at org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1213) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1186) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1058) at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:1027) at org.pentaho.platform.osgi.KarafBoot.startup(KarafBoot.java:88) at org.pentaho.di.osgi.registryExtension.OSGIPluginRegistryExtension.init(OSGIPluginRegistryExtension.java:105) at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:558) at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:101) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:97) at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:75) at org.pentaho.di.www.Carte.setKettleEnvironment(Carte.java:249) at org.pentaho.di.www.Carte.parseAndRunCommand(Carte.java:242) at org.pentaho.di.www.Carte.main(Carte.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
    No Bugmate found.