Java desktop apps are inherently unstable

Got bit by yet another Java desktop app. Will I ever learn? Will anyone ever learn? I really wanted this to work… So starts every painful experience that ends in tears.

In this case it was Code 42’s gui console for their CrashPlan backup system. The service itself didn’t create any problems, but the console couldn’t get along with Gnome Shell, specifically gdm.

In defense of Code 42 a lot of weirdness has creeped into Fedora the last couple of versions. Most of it has been the usual “see how cool I am” gunk that the Gnome Shell developers keep shoveling at us. Some, unfortunately, is due to the seemingly unremitting mission-creep that is the story arc for systemd’s integration into, well, everything.

CrashPlan for Linux was designed, developed and released in a pre-systemd and pre-Gnome Shell world.

The symptoms of a problem weren’t hard to spot. If I opened the CrashPlan client and either left it on or closed it I wasn’t able to log in again until gdm was restarted. Running ps remotely showed CrashPlan’s java app running as my own user and root. The later would be the background service controlled by systemd (through its legacy service compatibility layer). Simply killing the non-root process didn’t fix it either, only restarting gdm would do the trick.

I’m really disappointed because I was hoping to use CrashPlan to provide a common, easy to use, backup system for the Linux and Windows clients here at home. The plan included subscribing to Code 42’s Family Plan, even though it would be somewhat more expensive than going direct to Amazon S3.

Given the fact that desktop Linux is the edgiest of the edge cases in the tech world I’m not blaming Code 42 for my problems. No commercial vendor can be expected to keep up with the avalanche of under-documented changes in fundamental system components that have been coming from the freedesktop.org crowd over the last couple of years.

But that’s in the past now. I’ve still got a couple of options, namedly Bacula or Amanda. They’re both open source and have Windows as well as Linux clients, and are not written in Java or Mono/.NET (the latter doomed Duplicati to failure on my systems in earlier testing). They’re also both famously a bear to configure.

Well, at least I know what I’ll be doing this weekend…

P.S. Here’s the short list of cross-platform backup systems I’ve now tried and found wanting:

BackupPC
Duplicati
CrashPlan

I also tried Deja-Dup as a Linux-only solution and almost immediately ran into its inherent limitations (no ability to configure more than one backup destination, for example).

Anyone with an itch to rant about this should keep in mind that my original intent was to find something that my family could use to easily add items for backup, run backups off-schedule and restore files without my help. Basically a self-service solution. That goal is now completely blown, so I might as well look at solutions like Bacula and Amanda that will give me as the “storage administrator” the most reliable, flexible options available.

This entry was posted in Development, System Administration, Systems Analysis on by .

About phil

My name is Phil Lembo. In my day job I’m an enterprise IT architect for a leading distribution and services company. The rest of my time I try to maintain a semi-normal family life in the suburbs of Raleigh, NC. E-mail me at philipATlembobrothersDOTcom. The opinions expressed here are entirely my own and not those of my employers, past, present or future (except where I quote others, who will need to accept responsibility for their own rants).