ICS/Lotus (mostly), Linux, Travel, Skiing, Mixology, and Random Musing of Interest

 
Bill Malchisky
 

Archives

    Find me here…

  • Skype
  • Bleedyellow via Sametime
  • Skype 4.3 on Linux Crashing? Here’s a Fix.

    Bill Malchisky  August 5 2014 05:00:00 AM
    Microsoft released Skype 4.3 on Linux recently, to replace the aging version 4.2 due to cloud conversions utilized in other client flavors. There are some noticeable changes with the upgrade including new features. However, for power Skype users, there appears to exist a bug in the upgrade process causing the new Skype client to crash repeatedly just after the main window appears.

    Although conjecture, I suspect the problem manifests itself for those that have sent files to one or more contacts in version 4.2. Skype utilizes a SQLite database file to store its data with the filename main.db. Something changed with how 4.3 reads the sent file history, causing the client to crash immediately. After searching forums for hours and trying ten different variants for fixes, the simplest one was the winner for me and allowed the successful opening of Skype once again. Non-English Skype flavors can exhibit the upgrade issue too.

    Notations

    A. The solution provided purges the sent file history, but retains your message history
    B. Message type 68 equates "Send file"


    The Solution

    Here is the fix that worked for my Ubuntu 12.04 LTS x64 host OS. The process utilizes sqlite3 which is the command-line front-end to SQLite.

    1. Check to see if you have sqlite3 installed
    $ which sqlite3

    /usr/bin/sqlite3


    2. If not, then install it
    Ubuntu

    $ sudo apt-get install sqlite3


    Red Hat, CentOS, SUSE

    $ su -

    # yum install sqlite


    Try step one again to ensure the system finds the executable

    3. Inside your home directory is a hidden subdirectory containing all of the Skype files for your user account. It is important to backup this directory
    $ cd ~

    $ mkdir .Skype.4.2.bak; cp -a .Skype/ .Skype.4.2.bak


    4. This is where you need to go to perform the fix
    $ cd ~/.Skype/[skype_username]


    Note: if you do not recall the Skype account name on this machine, type: ls ~/.Skype/

    5. Edit the database file
    $ sqlite3 main.db


    6. Clean-up the database
    Sqlite> DELETE FROM Message WHERE type=68

    Sqlite> .quit


    UPDATE [20 Aug 2014] - on some non-US Skype clients, the table name is plural; thus change this line to "sqlite> DELETE FROM Messages WHERE type=68"

    7. Verify Skype is installed (one way of several); if not, see Installing Skype below
    $ which skype

    /usr/bin/skype


    8. Launch to ensure success
    $ skype &


    Nice and easy.

    Of course, one could do the brute force method by removing the Skype folder and installing a new version, and reinstalling the Skype dependencies, but you would lose all your settings, plus your chat history, which may or may not be downloadable from the Skype server -- but the pull could take a long time for heavy users. I found the provided option much safer, less invasive, and fast.


    Installing Skype

    If you haven't installed Skype yet, know that it is part of the Canonical partner repository and needs to be enabled to have it automatically appear within the Software Center. Two ways to do that:
    1. Check the respective repository within the Update Manager -> Settings dialog box
    2. $sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"

    The application will appear within the Software Center or you can install it as follows:
    $sudo apt-get update && sudo apt-get install skype


    You can always visit the Skype Linux download site or the generic download site, but this will take longer than the two steps provided.

    Notations

    C. For current Linux versions, Microsoft only offers an i386 flavor, so do not waste time searching for the x64 code
    D. Skype dropped Alsa support in version 4.3 and requires PulseAudio for making phone calls; if you only use chat or share files and photos, then you do not care and need not configure it; if you need help installing PulseAudio, see below


    Additional Reading

    * If you want to decode the Skype log file, try Skype Log Converter, which takes your Skype messages and converts them into .eml files
    * Whereas Skype Chat Log Viewer publishes clean human readable Skype logs
    * Troubleshooting Skype on Ubuntu
    * If you want to merge two Skype main.db files, try Skyperious, a neat Python utility
    * To install PulseAudio, read this post on the Skype support site
    * With the current release, there is no known bug tracking site anymore for submitting bugs to Microsoft/Skype; the previous Skype bug tracking dashboard is offline. Instead, I would suggest visiting the Skype for Linux Community site and trying there
    * If you need to make a log file to troubleshoot a problem, click here then scroll down to Skype for Linux, which provides a simple step by step process

    Powered by IBM Lotus Domino 8 | Lotus User Group | Get Firefox! | This blog is listed on Planet Lotus   IBM Certified

    © 2010 William Malchisky.