Closed ryanspletzer closed 9 years ago
Please reinstall CrashPlan. Some files are missing.
Re-installed the latest crashplan.tgz 4.2.0 release from this repo, but even before I started backing up I saw the error in log.txt... I think com.code42.jna.inotify.InotifyManager is something missing in the core CrashPlan package. Is there something else I can look at in the directory structure that would provide more info as to what's wrong / missing?
Sorry, I can't reproduce your problem. I just installed locale, then java8, then crashplan on a freshly reset 5N and it started just fine. The only advice I can give you is to remove locale, java8, and crashplan, restart the Drobo and start over.
By the way, are you sure you are using the proper release? The DroboFS version might not work on the Drobo5N.
I'm having the same problem. I removed Locale, Crashplan, and Java completely, then restored without even my backupArchives directory. I'm not even sure where to find logs to help with diagnosing it. I haven't been able to get my Drobo 5N to backup to Crashplan Central or my local computers to connect to my Crashplan service on the Drobo.
This page describes a possible solution to this problem: https://randomwindowstips.wordpress.com/2013/02/25/crashplan-pro-for-linux-stuck-at-waiting-for-backup-or-connecting-to-backup-destination/
@smenzer so did that work for you? did you use /tmp/DroboApps/crashplan or something else?
I set my run.conf to SRV_JAVA_OPTS="-Djava.io.tmpdir=/tmp/DroboApps/crashplan ...
and had no improvement.
i used /var/crashplan_tmp
, did a chmod 777
on it (i know not secure, but trying everything), and also did a chown Admin:Admin
(where Admin is the Drobo user account). it seemed to fix that error message in my logs, but I'm still having issues getting crashplan to properly run backups on the drobo...still just says "Connecting to backup destination"
, but I can't find any errors anywhere
Please do not use /var
for this purpose. /var
only has a few hundred kb free, and if it gets full your Drobo will not be able to boot anymore.
By the way, both versions (FS and 5N) already define a java.io.tmpdir
. Check https://github.com/droboports/crashplan/blob/master/src/dest/service.sh#L42 and https://github.com/droboports/crashplan/blob/drobofs/src/dest/service.sh#L42.
hi @ricardopadilha I do see that java.io.tmpdir
is set within service.sh
. However, when I unset it in run.conf
then I'm still getting that error and my backups to the Drobo stop working (same errors). Any thoughts?
I started to work on my Drobo 5N again tonight to figure this out and noticed my laptop was backing up to my Drobo's Crashplan service on my LAN and the Drobo 5N is talking to Crashplan Central. It all appears to be working!
The only change I made after doing a complete re-install of Java8, Locale, and Crashplan 4.2.0 was to add the tmpdir to the start of my run.conf like SRV_JAVA_OPTS="-Djava.io.tmpdir=/tmp/DroboApps/crashplan ...
, reboot the Drobo, and waited 2 days.
I'd rather have the tmpdir under /tmp/DroboFS
so I don't accidentally fill up my /tmp
partition. Anyone have a recommendation?
I'm having the same issue, I got Crashplan to load but it's stuck "Waiting for Backup". It seems like it's connecting to the CrashPlan server (green bubble) but it's just not backing up, Inbound backups connect but say "Backup disabled".
I already tried to define a java.io.tmpdir
, but this didn't resolve the issue.
I uninstalled Crashplan, locale and Java8. Rebooted the Drobo 5N, installed the latest packages of Locale and Java8 from Github. Rebooted again, then installed crashplan.
The only change I made to the Crashplan package was to set the Max Java Heap size to 1152mb.
I went through the logfiles and found this:
05.25.15 10:59:14.282 WARN main com.code42.utils.UniqueId ] critical error converting IP address into int
don't know if this has anything to do with it but maybe it will.
Here is the whole block and context.
[05.25.15 10:59:13.855 INFO main root ] Locale changed to English
[05.25.15 10:59:13.860 INFO main root ] *************************************************************
[05.25.15 10:59:13.861 INFO main root ] *************************************************************
[05.25.15 10:59:13.861 INFO main root ] STARTED CrashPlanService
[05.25.15 10:59:13.867 INFO main root ] CPVERSION = 4.2.0 - 1425276000420 (2015-03-02T06:00:00:420+0000) - Build: 61
[05.25.15 10:59:13.868 INFO main root ] LOCALE = English
[05.25.15 10:59:13.871 INFO main root ] ARGS = [ ]
[05.25.15 10:59:13.872 INFO main root ] *************************************************************
[05.25.15 10:59:14.206 INFO main root ] Adding shutdown hook.
[05.25.15 10:59:14.229 INFO main root ] BEGIN Loading Configuration
[05.25.15 10:59:14.282 WARN main com.code42.utils.UniqueId ] critical error converting IP address into int
[05.25.15 10:59:14.426 INFO main root ] BEGIN Copy Custom
[05.25.15 10:59:14.427 INFO main root ] Directories: [.Custom, custom, /mnt/DroboFS/Shares/DroboApps/crashplan/app/conf/.Custom, /mnt/DroboFS/Shares/DroboApps/crashplan/app/conf/custom]
[05.25.15 10:59:14.427 INFO main root ] NOT waiting for custom skin to appear
[05.25.15 10:59:14.428 INFO main root ] NO customizations found.
[05.25.15 10:59:14.429 INFO main root ] END Copy Custom
[05.25.15 10:59:14.432 INFO main root ] CpsFoldersMigrate is not necessary. /mnt/DroboFS/Shares/DroboApps/crashplan/app/conf/my.service.xml file does not exists.
[05.25.15 10:59:14.445 INFO main root ] Loading from default: /mnt/DroboFS/Shares/DroboApps/crashplan/app/conf/default.service.xml
[05.25.15 10:59:14.880 INFO main root ] Loading ServiceConfig, newInstall=true, version=6, configDateMs=null, installVersion=1425276000420
[05.25.15 10:59:14.922 INFO main root ] OS = Linux
[05.25.15 10:59:14.927 INFO main root ] Initializing backup paths last modified to now. lastModified=1
[05.25.15 10:59:15.258 INFO main root ] AuthorityLocation@26694800[ location=central.crashplan.com:443, hideAddress=false ]
[05.25.15 10:59:15.264 INFO main root ] Checking Java memory heap max.
[05.25.15 10:59:15.279 INFO main root ] Save Java memory max heap as 1152m
[05.25.15 10:59:15.406 INFO main root ] END Loading Configuration
jtux Loaded.
Exception in thread "W568448_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.<init>(JNAInotifyFileWatcherDriver.java:21)
at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:393)
at com.code42.backup.path.BackupSetsManager.startScheduledFileQueue(BackupSetsManager.java:331)
at com.code42.backup.path.BackupSetsManager.access$1600(BackupSetsManager.java:66)
at com.code42.backup.path.BackupSetsManager$ScanWorker.delay(BackupSetsManager.java:1073)
at com.code42.utils.AWorker.run(AWorker.java:158)
at java.lang.Thread.run(Unknown Source)
2015-05-25 04-08-13: ./crashplan/service.sh stop
Could you guys please post the output of stat /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
?
It should show something like this:
File: /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 66077760 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-10-27 17:13:23.000000000
Modify: 2014-10-27 17:13:23.000000000
Change: 2014-10-27 17:17:57.000000000
This is my output:
stat /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
File: /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 34046149 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-05-25 03:59:12.000000000
Modify: 2015-05-25 04:06:10.000000000
Change: 2015-05-25 04:06:10.000000000
Interesting. Do you mind doing this: chmod 775 /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
on your Drobo, and making sure that your java.io.tmpdir
is as it was originally defined in service.sh
(i.e., to /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
)?
This page seems to suggest that the wrong permissions on the tmp folder are the cause of this problem.
I removed the hard-coded tmp dir in my run.conf (setting it back to default setup settings) and it went back to a broken state after a reboot of the Drobo.
# pwd
/mnt/DroboFS/Shares/DroboApps/crashplan
# stat tmp
File: tmp
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 57147668 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-05-22 08:52:58.000000000
Modify: 2015-05-22 08:52:58.000000000
Change: 2015-05-22 08:52:58.000000000
# ls tmp
# ls /tmp/DroboApps/crashplan/
app.log framework_version.txt pid.txt
backup_files.log.0 history.log.0 restore_files.log.0
depends.txt log.txt service.log.0
description.txt name.txt version.txt
I'm going to try setting the /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
dir to 775 like @ricardopadilha and see what happens over the next day.
I removed the hard-coded java.io.tmpdir
did the chmod change and restarted crashplan.
No change,
Tried again hard-coding in /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
as java.io.tmpdir
.
No luck either.
Ok, how about chmod 777 /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
?
Setting /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
to 777 hasn't made mine happy yet.
I managed to reproduce in on my 5N, from a clean install. Investigation under way.
I checked on the status of my 777 change to /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
and found that my laptop was able to backup to my Drobo 5N, but the Drobo 5N is still "Waiting to backup" to Crashplan Central. Crashplan Central is registering that the Drobo has recently contacted them as if it has done a backup, but the local client claims that it hasn't even started.
I have removed the java.io.tmpdir
setting and still get the error reported earlier, however I do see my computers backing up to the Drobo now. For debugging, here's the output requested earlier in case it helps:
# stat /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
File: "/mnt/DroboFS/Shares/DroboApps/crashplan/tmp"
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 25719404 Links: 3
Access: (0777/drwxrwxrwx) Uid: ( 1000/ Admin) Gid: ( 1000/ Admin)
Access: 2015-05-22 11:54:52.000000000
Modify: 2015-05-22 11:54:56.000000000
Change: 2015-05-24 12:49:47.000000000
# ls -la /mnt/DroboFS/Shares/DroboApps/crashplan/tmp
drwxrwxrwx 3 Admin Admin 4096 May 22 11:54 .
drwxr-xr-x 7 Admin Admin 4096 May 22 12:41 ..
drwxrwxrwx 2 Admin Admin 4096 May 22 11:54 .AppleDouble
I'm back to getting errors again - I had tried to change the location of the backups on the drobo (from the default location of /mnt/DroboFS/Shares/DroboApps/crashplan/app/backupArchives
to another share I created on the drobo /mnt/DroboFS/Shares/Backup/DroboCrashplan
. That broke everything, so I switched it all back to the original location and now it's not working. Earlier, when I just let it sit overnight it seemed to work again, so I'm hoping it does the same, but still odd.
When I login to the Drobo via Crashplan's UI (via the port forwarding and such), when I go to the History tab, I see the following for each of the computers trying to backup to the Drobo:
Not ready for backup from <Computer>. Reason: The destination is not available
Within /tmp/DroboApps/crashplan/logs.tx
I have the same messages that others have posted above - only the error on the java.io.tmpdir
and the critical error converting IP address into int
warning.
I think I found the problem. Can you please check your log files for this error message?
[05.27.15 16:32:56.590 ERROR main backup42.service.backup.BackupController] Exception setting up BackupController! java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path, java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:704)
at com.sun.jna.Native.loadNativeLibrary(Native.java:681)
at com.sun.jna.Native.<clinit>(Native.java:109)
at com.code42.jna.LinuxPlatform.<init>(LinuxPlatform.java:73)
at com.code42.jna.PlatformFactory.getLinuxPlatform(PlatformFactory.java:41)
at com.code42.jna.inotify.InotifyManager.<clinit>(InotifyManager.java:45)
at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.<init>(JNAInotifyFileWatcherDriver.java:21)
at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:393)
at com.code42.backup.path.BackupSetsManager.setUp(BackupSetsManager.java:129)
at com.code42.backup.BackupManager.setUp(BackupManager.java:140)
at com.backup42.service.backup.BackupController.setUp(BackupController.java:463)
at com.backup42.service.CPService.start(CPService.java:490)
at com.backup42.service.CPService.main(CPService.java:1849)
@ricardopadilha I looked through /tmp/DroboApps/crashplan/logs.txt
and couldn't find the string BackupController
.
This is still the only error I see, and it gets thrown shortly after a restart and only appears once per restart
Exception in thread "W780592_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.<init>(JNAInotifyFileWatcherDriver.java:21)
at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:393)
at com.code42.backup.path.BackupSetsManager.startScheduledFileQueue(BackupSetsManager.java:331)
at com.code42.backup.path.BackupSetsManager.access$1600(BackupSetsManager.java:66)
at com.code42.backup.path.BackupSetsManager$ScanWorker.delay(BackupSetsManager.java:1073)
at com.code42.utils.AWorker.run(AWorker.java:158)
at java.lang.Thread.run(Unknown Source)
What about UnsatisfiedLinkError
? That is the critical one.
@ricardopadilha looks like I was looking in the wrong log file. in /tmp/DroboApps/crashplan/service.log.1
I do see both the BackupController
text as well as the UnsatisfiedLinkError
. They seem to have happened just after restarting the crashplan service, which based on the logs.txt
file was at 05.26.15 08:24:10.798
[05.26.15 08:24:24.625 ERROR main backup42.service.backup.BackupController] Exception setting up BackupController! java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path, java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path
at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:704)
at com.sun.jna.Native.loadNativeLibrary(Native.java:681)
at com.sun.jna.Native.<clinit>(Native.java:109)
at com.code42.jna.LinuxPlatform.<init>(LinuxPlatform.java:73)
at com.code42.jna.PlatformFactory.getLinuxPlatform(PlatformFactory.java:41)
at com.code42.jna.inotify.InotifyManager.<clinit>(InotifyManager.java:45)
at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.<init>(JNAInotifyFileWatcherDriver.java:21)
at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:393)
at com.code42.backup.path.BackupSetsManager.setUp(BackupSetsManager.java:129)
at com.code42.backup.BackupManager.setUp(BackupManager.java:140)
at com.backup42.service.backup.BackupController.setUp(BackupController.java:463)
at com.backup42.service.CPService.start(CPService.java:490)
at com.backup42.service.CPService.main(CPService.java:1849)
I compiled new versions with a fix for the UnsatisfiedLinkError
. I deleted the previous tgz files for the 4.2.0 releases. Please re-download and install them.
@ricardopadilha awesome! just so I don't screw anything up...to install, just drop the new .tgz file in the DroboApps directory and run /bin/sh /usr/bin/DroboApps.sh install
right? or are there any other steps involved?
That is basically it, yes. If you want to be extra safe you can move crashplan/app/backupArchives
out of the way, but normally it should not be necessary.
alright thanks!
I'm getting an error, though. I got this originally and ended up commenting out the lines to get crashplan to startup, but figured you should see this:
2015-05-27 12-16-42: /mnt/DroboFS/Shares/DroboApps/crashplan/service.sh start
/mnt/DroboFS/Shares/DroboApps/crashplan/service.sh: set: line 64: illegal option -o pipefail
/mnt/DroboFS/Shares/DroboApps/crashplan/service.sh:64 is: set -o pipefail # propagate last error code on pipe
I believe there are two other places this shows up as well
Argh, that was a mindless merge. I'll update the DroboFS version asap.
thanks for the quick responses today!
New DroboFS version out, fixed by commit 297f1181d5739ffd99f5cb430851612d71b13511.
that seems to be working! i'll post back here again in a day or two to confirm.
appreciate it!
Thanks @ricardopadilha!! I'm going to try this tonight.
Quick Q: when installing the .tgz files, it doesn't make a difference whether you do it as root or as admin, correct? It should work either way?
Always, always as root.
Ok, good, I was doing it as root before but wanted to double check. Thanks!
I installed the latest version (from about 10 minutes ago) on my Drobo5N and it seemed to have fixed the issue. CP reports "Backup complete!" after synchronizing blocks so it sounds like it was able to make the connection. Thanks for the effort on this!
Pulled down the latest Drobo5N locale / java8 / crashplan releases and freshly installed tgz's as root (and rebooted the drobo after each install to be sure), everything is working swimmingly now! Many thanks for the fixes!
Issue on Drobo 5N with 4.2.0. Fresh install with latest Java8 and Locale packages. Log file shows the following: