CrashPlan/Fedora

From Segfault
Jump to navigation Jump to search

Dependencies

CrashPlan Desktop would not start on Fedora right away but needed some prerequisites installed. Whenever CrashPlan Desktop starts, it would create a directory called /tmp/.cpswt/ with the following contents:

$ ls -lgo /tmp/.cpswt/
total 1216
-rwxr-xr-x. 1  48520 Dec 15 21:23 libswt-atk-gtk-4234.so
-rwxr-xr-x. 1  57168 Dec 15 21:23 libswt-cairo-gtk-4234.so
-rwxr-xr-x. 1  15208 Dec 15 21:24 libswt-gnome-gtk-4234.so
-rwxr-xr-x. 1 541400 Dec 15 21:23 libswt-gtk-4234.so
-rwxr-xr-x. 1 486512 Dec 15 21:23 libswt-pi-gtk-4234.so
-rwxr-xr-x. 1  47776 Dec 15 21:24 libswt-webkit-gtk-4234.so
-rwxr-xr-x. 1  37048 Dec 15 21:24 libswt-xpcominit-gtk-4234.so

Each of these libraries was linked to a set of other libraries[1] that had to be resolved:

$ ldd /tmp/.cpswt/* | awk '/=>/ {print $1}' | sort -u | wc -l
105

So, we're depending on ~105 libraries. Most of them should be already installed (we have a working Xorg installation), but let's find out if any packages are missing:

$ REL="fc21"
$ yum install `ldd /tmp/.cpswt/* | awk '/=>/ {print $1}' | sort -u | xargs yum provides | grep -F ".$REL" | sed "s/\-[0-9\.\-]*\.$REL.*//g" | sort -u`

We'll also need the following fonts package, otherwise all characters look garbled:

$ yum install dejavu-lgc-sans-fonts

Also, the logfiles in crashplan/log should tell us if libraries are missing:

$ less /opt/crashplan/log/ui_bob.log.0
[...]
[12.15.13 14:46:04.742 WARN    main    com.backup42.desktop.CPDesktop  ] org.eclipse.swt.SWTException: \
Failed to execute runnable (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
       Can't load library: /tmp/.cpswt/libswt-gnome-gtk-4234.so
       Can't load library: /tmp/.cpswt/libswt-gnome-gtk.so
       no swt-gnome-gtk-4234 in java.library.path
       no swt-gnome-gtk in java.library.path
       /tmp/.cpswt/libswt-gnome-gtk-4234.so: libgnomevfs-2.so.0: cannot open shared object file: \
          No such file or directory), org.eclipse.swt.SWTException: Failed to execute runnable \
          (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
       Can't load library: /tmp/.cpswt/libswt-gnome-gtk-4234.so
       Can't load library: /tmp/.cpswt/libswt-gnome-gtk.so
       no swt-gnome-gtk-4234 in java.library.path
       no swt-gnome-gtk in java.library.path
       /tmp/.cpswt/libswt-gnome-gtk-4234.so: libgnomevfs-2.so.0: cannot open shared object file: \
          No such file or directory

fatal error in soup_session_feature_detach

CrashPlan Desktop crashes early on with:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000003f9fc70061, pid=32513, tid=140595097708288
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libsoup-2.4.so.1+0x70061]  soup_session_feature_detach+0x11

This has been documented by code42[2][3] and they even provide a workaround:

  1. Edit crashplan/bin/run.conf
  2. For GUI_JAVA_OPTS, add the following to: "-Dorg.eclipse.swt.browser.DefaultType=mozilla"

See also:

References